You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+33-33
Original file line number
Diff line number
Diff line change
@@ -54,42 +54,42 @@ In general, things we find useful when reviewing suggestions are:
54
54
2. A copy of the TypeScript code. See the next steps for instructions.
55
55
3.[Node](https://nodejs.org), which runs JavaScript locally. Current or LTS will both work.
56
56
4. An editor. [VS Code](https://code.visualstudio.com) is the best place to start for TypeScript.
57
-
5. The gulp command line tool, for building and testing changes. See the next steps for how to install it.
57
+
5. The hereby command line tool, for building and testing changes. See the next steps for how to install it.
58
58
59
59
## Get Started
60
60
61
61
1. Install node using the version you downloaded from [nodejs.org](https://nodejs.org).
62
62
2. Open a terminal.
63
63
3. Make a fork—your own copy—of TypeScript on your GitHub account, then make a clone—a local copy—on your computer. ([Here are some step-by-step instructions](https://github.com/anitab-org/mentorship-android/wiki/Fork%2C-Clone-%26-Remote)). Add `--depth=1` to the end of the `git clone` command to save time.
64
-
4. Install the gulp command line tool: `npm install -g gulp-cli`
64
+
4. Install the hereby command line tool: `npm install -g hereby`
65
65
5. Change to the TypeScript folder you made: `cd TypeScript`
66
66
6. Install dependencies: `npm ci`
67
-
7. Make sure everything builds and tests pass: `gulp runtests-parallel`
67
+
7. Make sure everything builds and tests pass: `hereby runtests-parallel`
68
68
8. Open the TypeScript folder in your editor.
69
69
9. Follow the directions below to add and debug a test.
70
70
71
71
## Helpful tasks
72
72
73
-
Running `gulp --tasks --depth 1` provides the full listing, but here are a few common tasks you might use.
73
+
Running `hereby --tasks` provides the full listing, but here are a few common tasks you might use.
74
74
75
75
```
76
-
gulp local # Build the compiler into built/local.
77
-
gulp clean # Delete the built compiler.
78
-
gulp LKG # Replace the last known good with the built one.
79
-
# Bootstrapping step to be executed when the built compiler reaches a stable state.
80
-
gulp tests # Build the test infrastructure using the built compiler.
81
-
gulp runtests # Run tests using the built compiler and test infrastructure.
82
-
# You can override the specific suite runner used or specify a test for this command.
83
-
# Use --tests=<testPath> for a specific test and/or --runner=<runnerName> for a specific suite.
84
-
# Valid runners include conformance, compiler, fourslash, project, user, and docker
85
-
# The user and docker runners are extended test suite runners - the user runner
86
-
# works on disk in the tests/cases/user directory, while the docker runner works in containers.
87
-
# You'll need to have the docker executable in your system path for the docker runner to work.
88
-
gulp runtests-parallel # Like runtests, but split across multiple threads. Uses a number of threads equal to the system
89
-
# core count by default. Use --workers=<number> to adjust this.
90
-
gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
91
-
gulp lint # Runs eslint on the TypeScript source.
92
-
gulp help # List the above commands.
76
+
hereby local # Build the compiler into built/local.
77
+
hereby clean # Delete the built compiler.
78
+
hereby LKG # Replace the last known good with the built one.
79
+
# Bootstrapping step to be executed when the built compiler reaches a stable state.
80
+
hereby tests # Build the test infrastructure using the built compiler.
81
+
hereby runtests # Run tests using the built compiler and test infrastructure.
82
+
# You can override the specific suite runner used or specify a test for this command.
83
+
# Use --tests=<testPath> for a specific test and/or --runner=<runnerName> for a specific suite.
84
+
# Valid runners include conformance, compiler, fourslash, project, user, and docker
85
+
# The user and docker runners are extended test suite runners - the user runner
86
+
# works on disk in the tests/cases/user directory, while the docker runner works in containers.
87
+
# You'll need to have the docker executable in your system path for the docker runner to work.
88
+
hereby runtests-parallel # Like runtests, but split across multiple threads. Uses a number of threads equal to the system
89
+
# core count by default. Use --workers=<number> to adjust this.
90
+
hereby baseline-accept # This replaces the baseline test results with the results obtained from hereby runtests.
91
+
hereby lint # Runs eslint on the TypeScript source.
92
+
hereby help # List the above commands.
93
93
```
94
94
95
95
## Tips
@@ -111,7 +111,7 @@ You might need to run `git config --global core.longpaths true` before cloning T
111
111
112
112
### Using local builds
113
113
114
-
Run `gulp` to build a version of the compiler/language service that reflects changes you've made. You can then run `node <repo-root>/built/local/tsc.js` in place of `tsc` in your project. For example, to run `tsc --watch` from within the root of the repository on a file called `test.ts`, you can run `node ./built/local/tsc.js --watch test.ts`.
114
+
Run `hereby` to build a version of the compiler/language service that reflects changes you've made. You can then run `node <repo-root>/built/local/tsc.js` in place of `tsc` in your project. For example, to run `tsc --watch` from within the root of the repository on a file called `test.ts`, you can run `node ./built/local/tsc.js --watch test.ts`.
115
115
116
116
## Contributing bug fixes
117
117
@@ -163,7 +163,7 @@ Any changes should be made to [src/lib](https://github.com/Microsoft/TypeScript/
163
163
Library files in `built/local/` are updated automatically by running the standard build task:
164
164
165
165
```sh
166
-
gulp
166
+
hereby
167
167
```
168
168
169
169
The files in `lib/` are used to bootstrap compilation and usually **should not** be updated unless publishing a new version or updating the LKG.
@@ -178,36 +178,36 @@ If you need a head start understanding how the compiler works, or how the code i
178
178
179
179
## Running the Tests
180
180
181
-
To run all tests, invoke the `runtests-parallel` target using gulp:
181
+
To run all tests, invoke the `runtests-parallel` target using hereby:
182
182
183
183
```Shell
184
-
gulp runtests-parallel
184
+
hereby runtests-parallel
185
185
```
186
186
187
187
This will run all tests; to run only a specific subset of tests, use:
188
188
189
189
```Shell
190
-
gulp runtests --tests=<regex>
190
+
hereby runtests --tests=<regex>
191
191
```
192
192
193
193
e.g. to run all compiler baseline tests:
194
194
195
195
```Shell
196
-
gulp runtests --tests=compiler
196
+
hereby runtests --tests=compiler
197
197
```
198
198
199
199
or to run a specific test: `tests\cases\compiler\2dArrays.ts`
200
200
201
201
```Shell
202
-
gulp runtests --tests=2dArrays
202
+
hereby runtests --tests=2dArrays
203
203
```
204
204
205
205
## Debugging the tests
206
206
207
-
You can debug with VS Code or Node instead with `gulp runtests -i`:
207
+
You can debug with VS Code or Node instead with `hereby runtests -i`:
208
208
209
209
```Shell
210
-
gulp runtests --tests=2dArrays -i
210
+
hereby runtests --tests=2dArrays -i
211
211
```
212
212
213
213
You can also use the [provided VS Code launch configuration](./.vscode/launch.template.json) to launch a debug session for an open test file. Rename the file 'launch.json', open the test file of interest, and launch the debugger from the debug panel (or press F5).
@@ -257,12 +257,12 @@ When a change in the baselines is detected, the test will fail. To inspect chang
Alternatively, you can set the `DIFF` environment variable and run `gulp diff`, or manually run your favorite folder diffing tool between `tests/baselines/reference` and `tests/baselines/local`. Our team largely uses Beyond Compare and WinMerge.
260
+
Alternatively, you can set the `DIFF` environment variable and run `hereby diff`, or manually run your favorite folder diffing tool between `tests/baselines/reference` and `tests/baselines/local`. Our team largely uses Beyond Compare and WinMerge.
261
261
262
262
After verifying that the changes in the baselines are correct, run
263
263
264
264
```Shell
265
-
gulp baseline-accept
265
+
hereby baseline-accept
266
266
```
267
267
268
268
This will change the files in `tests\baselines\reference`, which should be included as part of your commit.
@@ -271,6 +271,6 @@ Be sure to validate the changes carefully -- apparently unrelated changes to bas
271
271
## Localization
272
272
273
273
All strings the user may see are stored in [`diagnosticMessages.json`](./src/compiler/diagnosticMessages.json).
274
-
If you make changes to it, run `gulp generate-diagnostics` to push them to the `Diagnostic` interface in `diagnosticInformationMap.generated.ts`.
274
+
If you make changes to it, run `hereby generate-diagnostics` to push them to the `Diagnostic` interface in `diagnosticInformationMap.generated.ts`.
275
275
276
276
See [coding guidelines on diagnostic messages](https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#diagnostic-messages).
0 commit comments