mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-03-15 14:05:47 -05:00
Change build system to hereby
This eliminates a significant number of dependencies, eliminating all npm audit issues, speeding up `npm ci` by 20%, and overall making the build faster (faster startup, direct code is faster than streams, etc) and clearer to understand. I'm finding it much easier to make build changes for the module transform with this; I can more clearly indicate task dependencies and prevent running tasks that don't need to be run. Given we're changing our build process entirely (new deps, new steps), it seems like this is a good time to change things up.
This commit is contained in:
@@ -17,8 +17,8 @@ jobs:
|
||||
git config user.name "TypeScript Bot"
|
||||
npm install
|
||||
git rm -r --quiet tests/baselines/reference :^tests/baselines/reference/docker :^tests/baselines/reference/user
|
||||
gulp runtests-parallel --ci --fix || true
|
||||
gulp baseline-accept
|
||||
npx hereby runtests-parallel --ci --fix || true
|
||||
npx hereby baseline-accept
|
||||
git add ./src
|
||||
git add ./tests/baselines/reference
|
||||
git diff --cached
|
||||
|
||||
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@@ -69,11 +69,8 @@ jobs:
|
||||
- name: Adding playwright
|
||||
run: npm install --no-save --no-package-lock playwright
|
||||
|
||||
- name: Build local
|
||||
run: gulp local
|
||||
|
||||
- name: Validate the browser can import TypeScript
|
||||
run: gulp test-browser-integration
|
||||
run: npx hereby test-browser-integration
|
||||
|
||||
typecheck:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -102,10 +99,10 @@ jobs:
|
||||
- run: npm ci
|
||||
|
||||
- name: Build scripts
|
||||
run: gulp scripts
|
||||
run: npx hereby scripts
|
||||
|
||||
- name: ESLint tests
|
||||
run: gulp run-eslint-rules-tests
|
||||
run: npx hereby run-eslint-rules-tests
|
||||
|
||||
self-check:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -119,10 +116,10 @@ jobs:
|
||||
- run: npm ci
|
||||
|
||||
- name: Build tsc
|
||||
run: gulp tsc
|
||||
run: npx hereby tsc
|
||||
|
||||
- name: Clean
|
||||
run: gulp clean-src
|
||||
run: npx hereby clean-src
|
||||
|
||||
- name: Self build
|
||||
run: gulp build-src --built
|
||||
run: npx hereby build-src --built
|
||||
|
||||
2
.github/workflows/new-release-branch.yaml
vendored
2
.github/workflows/new-release-branch.yaml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
sed -i -e 's/const versionMajorMinor = ".*"/const versionMajorMinor = "${{ github.event.client_payload.core_major_minor }}"/g' tests/baselines/reference/api/tsserverlibrary.d.ts
|
||||
sed -i -e 's/const version\(: string\)\{0,1\} = `${versionMajorMinor}.0-.*`/const version = `${versionMajorMinor}.0-${{ github.event.client_payload.core_tag || 'dev' }}`/g' src/compiler/corePublic.ts
|
||||
npm ci
|
||||
gulp LKG
|
||||
npx hereby LKG
|
||||
npm test
|
||||
git diff
|
||||
git add package.json
|
||||
|
||||
8
.github/workflows/nightly.yaml
vendored
8
.github/workflows/nightly.yaml
vendored
@@ -23,10 +23,10 @@ jobs:
|
||||
run: |
|
||||
npm whoami
|
||||
npm ci
|
||||
gulp configure-nightly
|
||||
gulp LKG
|
||||
gulp runtests-parallel
|
||||
gulp clean
|
||||
npx hereby configure-nightly
|
||||
npx hereby LKG
|
||||
npx hereby runtests-parallel
|
||||
npx hereby clean
|
||||
npm publish --tag next
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
||||
|
||||
@@ -19,11 +19,11 @@ jobs:
|
||||
- name: Adding playwright
|
||||
run: npm install --no-save --no-package-lock playwright
|
||||
- name: Validate the browser can import TypeScript
|
||||
run: gulp test-browser-integration
|
||||
run: npx hereby test-browser-integration
|
||||
- name: LKG, clean, and pack
|
||||
run: |
|
||||
gulp LKG
|
||||
gulp clean
|
||||
npx hereby LKG
|
||||
npx hereby clean
|
||||
npm pack ./
|
||||
mv typescript-*.tgz typescript.tgz
|
||||
- name: Upload built tarfile
|
||||
|
||||
2
.github/workflows/set-version.yaml
vendored
2
.github/workflows/set-version.yaml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
sed -i -e 's/const versionMajorMinor = ".*"/const versionMajorMinor = "${{ github.event.client_payload.core_major_minor }}"/g' tests/baselines/reference/api/tsserverlibrary.d.ts
|
||||
sed -i -e 's/const version\(: string\)\{0,1\} = .*;/const version = "${{ github.event.client_payload.package_version }}" as string;/g' src/compiler/corePublic.ts
|
||||
npm ci
|
||||
gulp LKG
|
||||
npx hereby LKG
|
||||
npm test
|
||||
git diff
|
||||
git add package.json
|
||||
|
||||
2
.github/workflows/update-lkg.yml
vendored
2
.github/workflows/update-lkg.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
git config user.email "typescriptbot@microsoft.com"
|
||||
git config user.name "TypeScript Bot"
|
||||
npm ci
|
||||
gulp LKG
|
||||
npx hereby LKG
|
||||
npm test
|
||||
git diff
|
||||
git add ./lib
|
||||
|
||||
Reference in New Issue
Block a user