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
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.154.0/containers/javascript-node/.devcontainer/base.Dockerfile
2
+
3
+
# [Choice] Node.js version: 14, 12, 10
4
+
ARG VARIANT="14-buster"
5
+
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/Bug_report.md
+49-20
Original file line number
Diff line number
Diff line change
@@ -4,41 +4,70 @@ about: Create a report to help us improve TypeScript
4
4
title: ''
5
5
labels: ''
6
6
assignees: ''
7
-
8
7
---
8
+
# Bug Report
9
9
10
-
<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨
11
-
12
-
Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!
10
+
<!--
11
+
Please fill in each section completely. Thank you!
12
+
-->
13
13
14
-
Please help us by doing the following steps before logging an issue:
* Read the FAQ, especially the "Common Feature Requests" section: https://github.com/Microsoft/TypeScript/wiki/FAQ
17
-
10
+
<!--
11
+
Please fill in each section completely. Thank you!
18
12
-->
19
13
20
-
## Search Terms
14
+
## 🔍 Search Terms
21
15
22
-
<!-- List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily -->
16
+
<!--
17
+
💡 Did you know? TypeScript has over 2,000 open suggestions!
18
+
🔎 Please search thoroughly before logging new feature requests as most common ideas already have a proposal in progress.
19
+
The "Common Feature Requests" section of the FAQ lists many popular requests: https://github.com/Microsoft/TypeScript/wiki/FAQ#common-feature-requests
23
20
24
-
## Suggestion
21
+
Replace the text below:
22
+
-->
25
23
26
-
<!-- A summary of what you'd like to see added or changed -->
24
+
List of keywords you searched for before creating this issue. Write them down here so that others can find this suggestion more easily and help provide feedback.
27
25
28
-
## Use Cases
26
+
## ✅ Viability Checklist
29
27
30
28
<!--
31
-
What do you want to use this for?
32
-
What shortcomings exist with current approaches?
29
+
Suggestions that don't meet all these criteria are very, very unlikely to be accepted.
30
+
We always recommend reviewing the TypeScript design goals before investing time writing
31
+
a proposal for ideas outside the scope of the project.
33
32
-->
34
-
35
-
## Examples
36
-
37
-
<!-- Show how this would be used and what the behavior would be -->
38
-
39
-
## Checklist
40
-
41
33
My suggestion meets these guidelines:
42
34
43
35
*[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
44
36
*[ ] This wouldn't change the runtime behavior of existing JavaScript code
45
37
*[ ] This could be implemented without emitting different JS based on the types of the expressions
46
-
*[ ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
38
+
*[ ] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
47
39
*[ ] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
40
+
41
+
42
+
## ⭐ Suggestion
43
+
44
+
<!-- A summary of what you'd like to see added or changed -->
45
+
46
+
## 📃 Motivating Example
47
+
48
+
<!--
49
+
If you were announcing this feature in a blog post, what's a short explanation that shows
50
+
a developer why this feature improves the language?
sed -i -e 's/const version = `${versionMajorMinor}.0-.*`/const version = `${versionMajorMinor}.0-${{ github.event.client_payload.core_tag || 'dev' }}`/g' src/compiler/corePublic.ts
25
+
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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+22-6
Original file line number
Diff line number
Diff line change
@@ -70,6 +70,13 @@ In general, things we find useful when reviewing suggestions are:
70
70
71
71
## Tips
72
72
73
+
### Using a development container
74
+
75
+
This repository includes a [development container](https://code.visualstudio.com/docs/remote/containers) that you can use to quickly create an isolated development environment with all the tools you need to start working on TypeScript. To get started with a dev container and VS Code, either:
76
+
77
+
- Clone the TypeScript repository locally and use the `Open Folder in Container` command.
78
+
- Use the `Clone Repository in Container Volume` command to clone the TypeScript repository into a new container.
79
+
73
80
### Faster clones
74
81
75
82
The TypeScript repository is relatively large. To save some time, you might want to clone it without the repo's full history using `git clone --depth=1`.
You can debug with VS Code or Node instead with `gulp runtests --inspect`:
163
+
You can debug with VS Code or Node instead with `gulp runtests -i`:
157
164
158
165
```Shell
159
-
gulp runtests --tests=2dArrays --inspect
166
+
gulp runtests --tests=2dArrays -i
160
167
```
161
168
162
169
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).
163
170
164
171
## Adding a Test
165
172
166
-
To add a new test case, add a `.ts` file in `tests\cases\compiler` with code that shows the your bug is now fixed, or your new feature now works.
173
+
To add a new test case, add a `.ts` file in `tests\cases\compiler` with code that shows the bug is now fixed, or your new feature now works.
167
174
168
175
These files support metadata tags in the format `// @metaDataName: value`.
169
176
The supported names and values are the same as those supported in the compiler itself, with the addition of the `fileName` flag.
@@ -189,16 +196,25 @@ import { f as g } from "file1";
189
196
var x =g();
190
197
```
191
198
192
-
## Managing the Baselines
199
+
## Managing the baselines
193
200
194
-
Compiler tests generate baselines: one file each for the emitted `.js`, the errors produced by the compiler, the type of each expression, and symbol for each identifier. Additionally, some tests generate baselines for the source map output.
201
+
Most tests generate "baselines" to find differences in output.
202
+
As an example, compiler tests usually emit one file each for
203
+
204
+
- the `.js` and `.d.ts` output (all in the same `.js` output file),
205
+
- the errors produced by the compiler (in an `.errors.txt` file),
206
+
- the types of each expression (in a `.types` file),
207
+
- the symbols for each identifier (in a `.symbols` file), and
208
+
- the source map outputs for files if a test opts into them (in a `.js.map` file).
195
209
196
210
When a change in the baselines is detected, the test will fail. To inspect changes vs the expected baselines, use
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.
217
+
202
218
After verifying that the changes in the baselines are correct, run
0 commit comments