Skip to content

Commit 5e714bc

Browse files
Merge branch 'main' into main
2 parents 7289362 + 441655c commit 5e714bc

145 files changed

Lines changed: 20222 additions & 5566 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ npx hereby local # Build the compiler into built/local
1515
npx hereby clean # Delete the built compiler
1616
npx hereby tests # Build the test infrastructure
1717
npx hereby runtests # Run all tests
18-
npx hereby runtests-parallel # Run tests in parallel (recommended)
18+
npx hereby runtests-parallel # Run tests in parallel 🚨 MANDATORY BEFORE FINISHING!
1919
npx hereby runtests --runner=fourslash # Run only fourslash tests
2020
npx hereby runtests --runner=compiler # Run only compiler tests
2121
npx hereby runtests --tests=<testPath> # Run specific test
2222
npx hereby baseline-accept # Accept new test baselines
23-
npx hereby lint # Run eslint
24-
npx hereby format # Run code formatting
23+
npx hereby lint # Run eslint 🚨 MANDATORY BEFORE FINISHING!
24+
npx hereby format # Run code formatting 🚨 MANDATORY BEFORE FINISHING!
2525
```
2626

2727
## Fourslash Test Syntax Guide
@@ -258,10 +258,22 @@ npx hereby runtests --tests=tests/cases/fourslash/completion*.ts
258258

259259
## Important Guidelines
260260

261+
### 🚨 CRITICAL: Before Finishing Your Work 🚨
262+
263+
**THESE STEPS ARE MANDATORY BEFORE COMMITTING/PUSHING ANY CHANGES:**
264+
265+
1. **MUST RUN:** `npx hereby runtests-parallel` (even though it takes 10-15 minutes)
266+
2. **MUST RUN:** `npx hereby lint` and fix ALL lint issues
267+
3. **MUST RUN:** `npx hereby format` as the final step
268+
269+
**❌ PRs that fail these checks will be rejected without review.**
270+
261271
### Keeping Things Tidy
262272

263-
- Once you think you're done, run `npx hereby lint` and fix any issues
264-
- Then always run `npx hereby format` as your last step
273+
- You can assume lint, tests, and formatting are clean on a fresh clone
274+
- Only run these verification steps AFTER making changes to code
275+
- Run `npx hereby lint` and fix ALL issues after making changes
276+
- Run `npx hereby format` as your final step after making changes
265277

266278
### Test Locations
267279

@@ -317,11 +329,14 @@ When fixing bugs or implementing features, follow this workflow:
317329
- Once you've got the basics figured out, enhance your test to cover edge cases and other variations
318330
- Run the test again and commit the baseline diff along with the test edit
319331

320-
5. **Run all other tests to ensure you didn't break anything**
321-
- Run `npx hereby runtests-parallel` and wait for it to finish (10-15 minutes is normal!)
332+
5. **🚨 MANDATORY: Run all other tests to ensure you didn't break anything**
333+
- **REQUIRED:** Run `npx hereby runtests-parallel` and wait for it to finish (10-15 minutes is normal!)
334+
- **THIS STEP CANNOT BE SKIPPED** - patience is essential!
322335
- Some collateral baseline changes are normal, but review for correctness
323336
- Put these diffs in another commit
324337

325-
6. **Always format and lint**
326-
- Don't forget to run `npx hereby lint` and `npx hereby format` before you're done
338+
6. **🚨 MANDATORY: Lint and format your changes**
339+
- **REQUIRED:** Run `npx hereby lint` and fix ALL issues
340+
- **REQUIRED:** Run `npx hereby format` before you're done
341+
- **YOU CANNOT FINISH WITHOUT THESE STEPS**
327342
- Double-check your line endings. Source files in this repo typically use CRLF line endings. Fix all line endings to be consistent before you wrap up

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
name: coverage
9696
path: coverage
9797

98-
- uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
98+
- uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
9999
with:
100100
use_oidc: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork) }}
101101
disable_search: true

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646

4747
# Initializes the CodeQL tools for scanning.
4848
- name: Initialize CodeQL
49-
uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
49+
uses: github/codeql-action/init@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
5050
with:
5151
config-file: ./.github/codeql/codeql-configuration.yml
5252
# Override language selection by uncommenting this and choosing your languages
@@ -56,7 +56,7 @@ jobs:
5656
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5757
# If this step fails, then you should remove it and run the build manually (see below).
5858
- name: Autobuild
59-
uses: github/codeql-action/autobuild@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
59+
uses: github/codeql-action/autobuild@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
6060

6161
# ℹ️ Command-line programs to run using the OS shell.
6262
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -70,4 +70,4 @@ jobs:
7070
# make release
7171

7272
- name: Perform CodeQL Analysis
73-
uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
73+
uses: github/codeql-action/analyze@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1

.github/workflows/nightly.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
# corepack enable npm
3131
npm install -g $(jq -r '.packageManager' < package.json)
3232
npm --version
33-
- name: Setup and publish nightly
33+
- name: Setup and test nightly
3434
run: |
3535
npm ci
3636
npx hereby configure-nightly

.github/workflows/scorecard.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
persist-credentials: false
3535

3636
- name: 'Run analysis'
37-
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
37+
uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
3838
with:
3939
results_file: results.sarif
4040
results_format: sarif
@@ -55,6 +55,6 @@ jobs:
5555

5656
# Upload the results to GitHub's code scanning dashboard.
5757
- name: 'Upload to code-scanning'
58-
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
58+
uses: github/codeql-action/upload-sarif@39edc492dbe16b1465b0cafca41432d857bdb31a # v3.29.1
5959
with:
6060
sarif_file: results.sarif

.github/workflows/twoslash-repros.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ name: Twoslash Code Sample Repros
33
on:
44
schedule:
55
- cron: '0 8 * * *'
6+
repository_dispatch:
7+
types: [run-twoslash-repros]
68
workflow_dispatch:
79
inputs:
810
issue:

azure-pipelines.release-publish.yml

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@ pr: none
33

44
parameters:
55
- name: _REMINDER
6-
default: Review & undraft the release at https://github.com/microsoft/TypeScript/releases once it appears!
6+
displayName: Review & undraft the release at https://github.com/microsoft/TypeScript/releases once it appears!
7+
type: boolean
8+
default: true
79
- name: PUBLISH_TAG
10+
displayName: npm publish tag
811
default: dev
12+
values:
13+
- dev
14+
- beta
15+
- rc
16+
- latest
917
- name: RELEASE_TITLE_NAME
18+
displayName: GitHub release title name
1019
default: 0.0.0 Test
1120
- name: TAG_NAME
21+
displayName: Git tag name
1222
default: v0.0.0-SetMe
1323

1424
variables:
15-
- name: _REMINDER
16-
value: ${{ parameters._REMINDER }}
1725
- name: PUBLISH_TAG
1826
value: ${{ parameters.PUBLISH_TAG }}
1927
- name: RELEASE_TITLE_NAME
@@ -47,11 +55,11 @@ extends:
4755
os: windows
4856

4957
stages:
50-
- stage: Stage_1
51-
displayName: Publish tarball
58+
- stage: Publish
59+
displayName: Publish
5260
jobs:
53-
- job: Job_1
54-
displayName: Agent job
61+
- job: tarball
62+
displayName: Publish tarball
5563
condition: succeeded()
5664
timeoutInMinutes: 0
5765
templateContext:
@@ -66,29 +74,26 @@ extends:
6674
steps:
6775
- checkout: none
6876
- task: CmdLine@2
69-
displayName: Rename versioned drop to typescript.tgz
77+
displayName: Copy versioned drop to typescript.tgz
7078
inputs:
7179
script: |
7280
pushd $(Pipeline.Workspace)/tgz
7381
ls -lhR
74-
mv typescript-*.tgz typescript.tgz
82+
cp typescript-*.tgz typescript.tgz
7583
- task: Npm@1
7684
displayName: npm publish tarball
7785
inputs:
7886
command: custom
7987
workingDir: $(Pipeline.Workspace)/tgz
8088
verbose: false
8189
customCommand: publish $(Pipeline.Workspace)/tgz/typescript.tgz --tag $(PUBLISH_TAG)
82-
# This must match the service connection.
90+
# This must match the service connection name.
8391
customEndpoint: Typescript NPM
8492
publishEndpoint: Typescript NPM
8593

86-
- stage: Stage_2
87-
displayName: Publish git tag
88-
dependsOn: Stage_1
89-
jobs:
90-
- job: Job_1
91-
displayName: Agent job
94+
- job: github
95+
displayName: Create github release
96+
dependsOn: tarball
9297
condition: succeeded()
9398
timeoutInMinutes: 0
9499
templateContext:
@@ -104,20 +109,22 @@ extends:
104109
- task: GitHubRelease@1
105110
displayName: GitHub release (create)
106111
inputs:
107-
# This must match the service connection.
112+
# This must match the service connection name.
108113
gitHubConnection: typescript-bot connection
109114
repositoryName: microsoft/TypeScript
110115
tagSource: userSpecifiedTag
111116
tag: $(TAG_NAME)
112117
title: TypeScript $(RELEASE_TITLE_NAME)
113118
releaseNotesSource: inline
114119
releaseNotesInline: |
120+
<!---
115121
For release notes, check out the [release announcement]().
116122
For new features, check out the [What's new in TypeScript $(TAG_NAME)]().
117123
For the complete list of fixed issues, check out the
118124
* [fixed issues query for TypeScript $(TAG_NAME)](https://github.com/microsoft/TypeScript/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A%22TypeScript+3.3%22+is%3Aclosed+).
119125
Downloads are available on:
120126
* [npm](https://www.npmjs.com/package/typescript)
127+
-->
121128
assets: $(Pipeline.Workspace)/tgz/**/typescript-*.tgz
122-
isDraft: true
129+
isDraft: ${{ not(eq(parameters.PUBLISH_TAG, 'latest')) }}
123130
addChangeLog: false

0 commit comments

Comments
 (0)