forked from microsoft/TypeScript
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/main' into fix/46149
* upstream/main: (473 commits) Correct node used for isDefinition calculation (microsoft#48499) fix(48405): emit dummy members from a mapped type (microsoft#48481) CFA for dependent parameters typed by generic constraints (microsoft#48411) No contextual typing from return types for boolean literals (microsoft#48380) fix(47733): omit JSDoc comment template suggestion on node with existing JSDoc (microsoft#47748) Ensure that we copy empty NodeArrays during transform (microsoft#48490) Add a new compiler option `moduleSuffixes` to expand the node module resolver's search algorithm (microsoft#48189) feat(27615): Add missing member fix should work for type literals (microsoft#47212) Add label details to completion entry (microsoft#48429) Enable method signature completion for object literals (microsoft#48168) Fix string literal completions when a partially-typed string fixes inference to a type parameter (microsoft#48410) fix(48445): show errors on type-only import/export specifiers in JavaScript files (microsoft#48449) Fix newline inserted in empty block at end of formatting range (microsoft#48463) Prevent looking up symbol for as const from triggering an error (microsoft#48464) Revise accessor resolution logic and error reporting (microsoft#48459) fix(48166): skip checking module.exports in a truthiness call expression (microsoft#48337) LEGO: Merge pull request 48450 LEGO: Merge pull request 48436 fix(48031): show circularity error for self referential get accessor annotations (microsoft#48050) Revert "Fix contextual discrimination for omitted members (microsoft#43937)" (microsoft#48426) ...
- Loading branch information
Showing
3,111 changed files
with
184,945 additions
and
103,742 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,9 @@ about: Suggest an idea | |
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
# Suggestion | ||
|
||
<!-- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,58 @@ | ||
--- | ||
name: Library change | ||
about: Fix or improve issues with built-in type definitions like `lib.dom.d.ts`, `lib.es6.d.ts`, etc. | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
--- | ||
# lib Update Request | ||
|
||
<!-- | ||
Please fill in each section completely. Thank you! | ||
Are you here for one of these commonly-requested lib changes? | ||
* Object.keys - see https://stackoverflow.com/questions/55012174/ | ||
* Array methods - see https://github.com/microsoft/TypeScript/issues/36554 | ||
* parseInt, parseFloat, isFinite, isNaN, etc. - see https://github.com/microsoft/TypeScript/issues/4002 | ||
The DOM lib is maintained elsewhere and you can skip a step by filing issues/PRs for the DOM at that repo. | ||
See https://github.com/microsoft/TypeScript-DOM-lib-generator | ||
--> | ||
|
||
## Configuration Check | ||
|
||
<!-- | ||
If you're missing common new methods like Array.includes, you may have a misconfigured project. | ||
Try setting `lib: "es2020"` and checking whether the type you want is present. | ||
You can diagnose further by running `tsc` with `--listFilesOnly` or `--showConfig`. | ||
Conversely, if you are seeing built-in methods you expect to *not* see, check your 'lib' setting | ||
or review your dependencies for lib/reference directives that might be polluting | ||
your global scope. This is common when using the 'node' type library. See https://github.com/microsoft/TypeScript/issues/40184 | ||
Replace the text below: | ||
--> | ||
My compilation *target* is `ES2015` and my *lib* is `the default`. | ||
|
||
## Missing / Incorrect Definition | ||
|
||
<!-- | ||
What property, method, function, etc is missing or incorrect? | ||
--> | ||
|
||
## Sample Code | ||
|
||
<!-- | ||
What's some code using this that should work, but doesn't? | ||
--> | ||
|
||
## Documentation Link | ||
|
||
<!-- | ||
Link to relevant documentation (e.g. MDN, W3C, ECMAScript Spec) to consult for this property. | ||
Note that lib.dom.d.ts intentionally does not include browser-specific extensions | ||
or early experimental features. | ||
--> | ||
--- | ||
name: Library change | ||
about: Fix or improve issues with built-in type definitions like `lib.dom.d.ts`, `lib.es6.d.ts`, | ||
etc. | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
# lib Update Request | ||
|
||
<!-- | ||
Please fill in each section completely. Thank you! | ||
Are you here for one of these commonly-requested lib changes? | ||
* Object.keys - see https://stackoverflow.com/questions/55012174/ | ||
* Array methods - see https://github.com/microsoft/TypeScript/issues/36554 | ||
* parseInt, parseFloat, isFinite, isNaN, etc. - see https://github.com/microsoft/TypeScript/issues/4002 | ||
The DOM lib is maintained elsewhere and you can skip a step by filing issues/PRs for the DOM at that repo. | ||
See https://github.com/microsoft/TypeScript-DOM-lib-generator | ||
--> | ||
|
||
## Configuration Check | ||
|
||
<!-- | ||
If you're missing common new methods like Array.includes, you may have a misconfigured project. | ||
Try setting `lib: "es2020"` and checking whether the type you want is present. | ||
You can diagnose further by running `tsc` with `--listFilesOnly` or `--showConfig`. | ||
Conversely, if you are seeing built-in methods you expect to *not* see, check your 'lib' setting | ||
or review your dependencies for lib/reference directives that might be polluting | ||
your global scope. This is common when using the 'node' type library. See https://github.com/microsoft/TypeScript/issues/40184 | ||
Replace the text below: | ||
--> | ||
My compilation *target* is `ES2015` and my *lib* is `the default`. | ||
|
||
## Missing / Incorrect Definition | ||
|
||
<!-- | ||
What property, method, function, etc is missing or incorrect? | ||
--> | ||
|
||
## Sample Code | ||
|
||
<!-- | ||
What's some code using this that should work, but doesn't? | ||
--> | ||
|
||
## Documentation Link | ||
|
||
<!-- | ||
Link to relevant documentation (e.g. MDN, W3C, ECMAScript Spec) to consult for this property. | ||
Note that lib.dom.d.ts intentionally does not include browser-specific extensions | ||
or early experimental features. | ||
--> |
47 changes: 47 additions & 0 deletions
47
.github/ISSUE_TEMPLATE/types-not-correct-in-with-callback.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
name: Types Not Correct in/with Callback | ||
about: TypeScript assuming the wrong type either after a callback runs, or within | ||
a callback | ||
title: '' | ||
labels: Duplicate | ||
assignees: '' | ||
|
||
--- | ||
|
||
TypeScript has two narrowing-related behaviors that are both intentional. Please do not log additional bugs on this; see #9998 for more discussion. | ||
|
||
The first is that *narrowings are not respected in callbacks*. In other words: | ||
```ts | ||
function fn(obj: { name: string | number }) { | ||
if (typeof obj.name === "string") { | ||
// Errors | ||
window.setTimeout(() => console.log(obj.name.toLowerCase()); | ||
} | ||
} | ||
``` | ||
This is intentional since the value of `obj.name` "could" change types between when the narrowing occurred and when the callback was invoke. See also #11498 | ||
The second is that *function calls do not reset narrowings*. In other words: | ||
```ts | ||
function fn(obj: { name: string | number }) { | ||
if (typeof obj.name === "string") { | ||
console.log("Here"); | ||
// Does not error | ||
console.log(obj.name.toLowerCase()); | ||
} | ||
} | ||
``` | ||
This is intentional behavior, *even though `console.log` could have mutated obj*. This rule is consistently applied, even with the function is in-principle inspectable to actually have side effects | ||
```ts | ||
function fn(obj: { name: string | number }) { | ||
if (typeof obj.name === "string") { | ||
mut(); | ||
// Does not error | ||
console.log(obj.name.toLowerCase()); | ||
} | ||
|
||
function mut() { | ||
obj.name = 42; | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,3 +12,5 @@ jessetrinity | |
minestarks | ||
armanio123 | ||
gabritto | ||
jakebailey | ||
DanielRosenwasser |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Ensures that repos which are related to TypeScript but may not have regular commits | ||
# have their GitHub Actions scheduled jobs still active due to the 6 week timeout | ||
# on OSS repos. This has already triggered a few times with microsoft/TypeScript-Make-Monaco-Builds | ||
# so, better to automate keeping on top of it. | ||
|
||
name: Related Repo Commit Bumps | ||
|
||
on: | ||
schedule: | ||
# Monthly, https://crontab.guru/#0_0_*_1-12_* | ||
- cron: '0 0 1 * *' | ||
workflow_dispatch: {} | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Configure git | ||
run: | | ||
git config --global user.email "typescriptbot@microsoft.com" | ||
git config --global user.name "TypeScript Bot" | ||
- uses: actions/checkout@v2 | ||
with: | ||
repository: 'microsoft/TypeScript-Website' | ||
path: 'ts-site' | ||
|
||
- name: Push Commit to TS Website | ||
run: | | ||
cd ts-site | ||
git commit --allow-empty -m "Monthly Bump" | ||
git config --unset-all http.https://github.com/.extraheader | ||
git push https://${{ secrets.TS_BOT_GITHUB_TOKEN }}@github.com/microsoft/TypeScript-Website.git | ||
- uses: actions/checkout@v2 | ||
with: | ||
repository: 'microsoft/TypeScript-Make-Monaco-Builds' | ||
path: 'monaco-builds' | ||
|
||
- name: Push Commit to TS Make Monaco Builds | ||
run: | | ||
cd monaco-builds | ||
git commit --allow-empty -m "Monthly Bump" | ||
git config --unset-all http.https://github.com/.extraheader | ||
git push https://${{ secrets.TS_BOT_GITHUB_TOKEN }}@github.com/microsoft/TypeScript-Make-Monaco-Builds.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.