edc34e8 | Ron Buckton | 16 February 2022, 22:25:17 UTC | Emit source positions for open/close braces | 01 March 2022, 22:18:16 UTC |
8ddead5 | Oleksandr T | 05 February 2022, 00:12:23 UTC | fix(32941): include Template tag constraint to QuickInfo response (#47567) | 05 February 2022, 00:12:23 UTC |
3328feb | Ron Buckton | 04 February 2022, 20:34:29 UTC | Use 'static {}' for static fields when available and useDefineForClassFields is false (#47707) | 04 February 2022, 20:34:29 UTC |
ceee975 | Oleksandr T | 04 February 2022, 20:15:02 UTC | fix(45917): show completions in string literal followed by a comma (#46970) | 04 February 2022, 20:15:02 UTC |
300a53c | Andrew Branch | 04 February 2022, 17:17:55 UTC | Auto-import perf: Do symbol name/flags filtering before cache rehydration (#47678) * Do symbol name filtering before cache rehydration * Fix typo Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> * Update test * Fix variable clobbered in merge conflict Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> | 04 February 2022, 17:17:55 UTC |
69d06cb | TypeScript Bot | 04 February 2022, 06:07:01 UTC | Update package-lock.json | 04 February 2022, 06:07:01 UTC |
0d5abd8 | Oleksandr T | 03 February 2022, 19:27:40 UTC | feat(27601): include JSDoc comments for destructuring arguments (#46886) | 03 February 2022, 19:27:40 UTC |
46d1cb1 | 木易什么来着 | 03 February 2022, 19:23:36 UTC | i18n:Inappropriate localization (#46924) The previous version of the file incorrectly translated the keywords of some document comments into Chinese, which would be misleading | 03 February 2022, 19:23:36 UTC |
8d47ea0 | dependabot[bot] | 03 February 2022, 19:22:54 UTC | Bump node-fetch from 2.6.1 to 2.6.7 (#47564) Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7. - [Release notes](https://github.com/node-fetch/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/main/docs/CHANGELOG.md) - [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7) --- updated-dependencies: - dependency-name: node-fetch dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 03 February 2022, 19:22:54 UTC |
b7d0117 | Oliver Joseph Ash | 03 February 2022, 18:13:05 UTC | "Convert parameters to destructured object": enable for functions with just one parameter (#46945) * "Convert parameters to destructured object": enable for functions with just one parameter Fixes https://github.com/microsoft/TypeScript/issues/41753 * Add test | 03 February 2022, 18:13:05 UTC |
9b0f01a | TypeScript Bot | 03 February 2022, 06:06:30 UTC | Update package-lock.json | 03 February 2022, 06:06:30 UTC |
c4fd002 | Nathan Shively-Sanders | 02 February 2022, 22:00:08 UTC | Fix @link https:// formatting (#47705) * Fix @link https:// formatting Also improve .d.ts formatting of `@link`,`@linkcode`,`@linkplain`. Fixes #46734 1. Previously, `@link` incorrectly put a space between "https" and "://" when formatting jsdoc for editors. Now it does not. 2. When fixing the same output for .d.ts, I discovered that all `@link` tags were formatted as `@link`, even if they were `@linkcode` or `@linkplain`. I fixed that too. * semicolon lint | 02 February 2022, 22:00:08 UTC |
854cec7 | Oleksandr T | 02 February 2022, 18:45:18 UTC | fix(47670): remove import alias that uses the same name (#47676) | 02 February 2022, 18:45:18 UTC |
afee8bf | TypeScript Bot | 02 February 2022, 06:06:01 UTC | Update package-lock.json | 02 February 2022, 06:06:01 UTC |
880e2c0 | Zzzen | 02 February 2022, 00:16:01 UTC | support quickinfo and go-to-definition on `typeof this` (#47085) * support quickinfo and go-to-definition on `typeof this` * update baseline * move code to checkIdentifier | 02 February 2022, 00:16:01 UTC |
7cc0f75 | Andrew Casey | 01 February 2022, 23:59:59 UTC | Use node moduleResolution everywhere (#47687) TestRunner was already using it, but upstream projects (e.g. Compiler) were not, causing TestRunner to re-parse and re-bind all upstream files in (at least) editor scenarios), slowing down initial project load. In local testing, this cut a find-all-refs call in checker.ts from 5s to 2.5s. | 01 February 2022, 23:59:59 UTC |
2172e19 | Ryan Cavanaugh | 01 February 2022, 20:49:05 UTC | Correctly check computed property names in type-space get/set accessors (#47156) * Add test that should fail * Make it fail Fixes #47146 * Baselines | 01 February 2022, 20:49:05 UTC |
46e7ab4 | Gabriela Araujo Britto | 01 February 2022, 20:10:43 UTC | fix typefacts of intersection (#47583) | 01 February 2022, 20:10:43 UTC |
21bbb57 | Ron Buckton | 01 February 2022, 19:47:29 UTC | Fix captured const in downlevel for-await (#47680) | 01 February 2022, 19:47:29 UTC |
63d9d4c | Ron Buckton | 01 February 2022, 19:46:29 UTC | Transform param patterns/initializers after object rest (#47095) | 01 February 2022, 19:46:29 UTC |
1ebdcc6 | Nathan Shively-Sanders | 01 February 2022, 18:11:39 UTC | Fix inlay hint crash for jsdoc function type syntax (#47684) * Fix inlay hint crash for jsdoc function type syntax Parameters in JSDoc function types do not have names. The type does not reflect this. This PR fixes the crash; I'll see how much churn it causes to fix the type as well. Fixes #47606 * make inlay hints test smaller | 01 February 2022, 18:11:39 UTC |
7183b14 | Ron Buckton | 01 February 2022, 17:48:15 UTC | Fix captured let/const in 'for' condition or incrementer (#47681) | 01 February 2022, 17:48:15 UTC |
9d5f62a | csigs | 01 February 2022, 00:15:22 UTC | LEGO: Merge pull request 47677 LEGO: Merge pull request 47677 | 01 February 2022, 00:15:22 UTC |
a17c367 | dependabot[bot] | 31 January 2022, 23:36:08 UTC | Bump copy-props from 2.0.4 to 2.0.5 (#47342) Bumps [copy-props](https://github.com/gulpjs/copy-props) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/gulpjs/copy-props/releases) - [Changelog](https://github.com/gulpjs/copy-props/blob/master/CHANGELOG.md) - [Commits](https://github.com/gulpjs/copy-props/compare/2.0.4...2.0.5) --- updated-dependencies: - dependency-name: copy-props dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 31 January 2022, 23:36:08 UTC |
3f55d68 | Nathan Shively-Sanders | 31 January 2022, 19:30:57 UTC | Manual revert of AbortSignal.abort in webworker.generated.d.ts (#47675) Same as #47643, I just missed it until looking at remaining DT failures. I need to update the DOM-lib-generator automation, but for now I want to get TS types corrected. | 31 January 2022, 19:30:57 UTC |
92f54d6 | csigs | 30 January 2022, 18:22:05 UTC | LEGO: Merge pull request 47666 LEGO: Merge pull request 47666 | 30 January 2022, 18:22:05 UTC |
0388218 | csigs | 30 January 2022, 12:14:24 UTC | LEGO: Merge pull request 47664 LEGO: Merge pull request 47664 | 30 January 2022, 12:14:24 UTC |
e5d7d70 | csigs | 30 January 2022, 06:14:39 UTC | LEGO: Merge pull request 47661 LEGO: Merge pull request 47661 | 30 January 2022, 06:14:39 UTC |
3d2ac9d | csigs | 29 January 2022, 18:15:39 UTC | LEGO: Merge pull request 47659 LEGO: Merge pull request 47659 | 29 January 2022, 18:15:39 UTC |
17aec75 | Mohsen Azimi | 29 January 2022, 08:42:56 UTC | Update terminal.integrated.shell.linux config in devcontainer.json (#47192) The previous `"terminal.integrated.shell.linux"` configuration is deprecated. This is the new way of setting this configuration | 29 January 2022, 08:42:56 UTC |
3e19cc8 | Roman F | 29 January 2022, 01:23:13 UTC | remove unused errors in checkGrammarModifiers (#47198) | 29 January 2022, 01:23:13 UTC |
38ed8eb | csigs | 29 January 2022, 00:14:38 UTC | LEGO: Merge pull request 47655 LEGO: Merge pull request 47655 | 29 January 2022, 00:14:38 UTC |
0b9f8b4 | Alvin Ramskogler | 28 January 2022, 23:08:19 UTC | Fix confusing file name in generated diagnostics file (#46821) * Fix confusing file name in generated diagnostics file * Change "by" to "in" | 28 January 2022, 23:08:19 UTC |
2d501b1 | Oleksandr T | 28 January 2022, 20:19:48 UTC | fix(47582): skip extraction if the type node is in the range of the type parameter declaration (#47596) | 28 January 2022, 20:19:48 UTC |
eb3e7bd | csigs | 28 January 2022, 12:14:33 UTC | LEGO: Merge pull request 47649 LEGO: Merge pull request 47649 | 28 January 2022, 12:14:33 UTC |
09b84d5 | csigs | 28 January 2022, 06:18:31 UTC | LEGO: Merge pull request 47647 LEGO: Merge pull request 47647 | 28 January 2022, 06:18:31 UTC |
deb36b9 | TypeScript Bot | 28 January 2022, 06:08:10 UTC | Update package-lock.json | 28 January 2022, 06:08:10 UTC |
3de032f | Andrew Branch | 28 January 2022, 00:18:14 UTC | Allow usage of local value symbol merged with type-only import (#47642) | 28 January 2022, 00:18:14 UTC |
9028051 | Gabriela Araujo Britto | 28 January 2022, 00:17:43 UTC | Add `assert` keyword in completions (#47644) * add contextual keyword assert in completions * clean up | 28 January 2022, 00:17:43 UTC |
f2c51c1 | csigs | 28 January 2022, 00:15:37 UTC | LEGO: Merge pull request 47645 LEGO: Merge pull request 47645 | 28 January 2022, 00:15:37 UTC |
4d29859 | Andrew Branch | 27 January 2022, 22:35:36 UTC | Fix duplicate completions from two different copies of a node_modules package (#47584) * Fix duplicate completions from two different copies of a node_modules package * Fix logic for scoped packages * Fix errors from merge * Less gross way to reconcile these two conflicting PRs | 27 January 2022, 22:35:36 UTC |
61b7bbb | Nathan Shively-Sanders | 27 January 2022, 21:28:17 UTC | Revert to temporary AbortSignal fix (#47643) I forgot to keep the temporary fix when I updated the DOM yesterday. | 27 January 2022, 21:28:17 UTC |
e9092f3 | Andrew Branch | 27 January 2022, 18:21:08 UTC | Proposal: simplify auto import descriptions (#47631) * Simplify import fix descriptions * Update tests * Fix new test | 27 January 2022, 18:21:08 UTC |
208cb2d | csigs | 27 January 2022, 18:14:34 UTC | LEGO: Merge pull request 47641 LEGO: Merge pull request 47641 | 27 January 2022, 18:14:34 UTC |
b7b6483 | csigs | 27 January 2022, 12:15:07 UTC | LEGO: Merge pull request 47640 LEGO: Merge pull request 47640 | 27 January 2022, 12:15:07 UTC |
52e785f | csigs | 27 January 2022, 06:15:11 UTC | LEGO: Merge pull request 47635 LEGO: Merge pull request 47635 | 27 January 2022, 06:15:11 UTC |
b6075d8 | TypeScript Bot | 27 January 2022, 06:07:47 UTC | Update package-lock.json | 27 January 2022, 06:07:47 UTC |
5813a35 | Andrew Branch | 27 January 2022, 00:12:40 UTC | Allow moduleSymbolToValidIdentifier to be uppercase for JSX tags (#47625) * Allow moduleSymbolToValidIdentifier to be uppercase for JSX tags * Cleaner way of getting the uppercase name when needed * Fix build errors, get rid of basically unnecessary ScriptTarget * More accurate name for parameter * Rename other parameter too * Fix failing test | 27 January 2022, 00:12:40 UTC |
0d3ff0c | Andrew Branch | 26 January 2022, 23:07:41 UTC | Add codefix and completions for promoting existing type-only imports to non-type-only (#47552) * Import fix * Wire up completions, add sorting to fix * Fix overlapping changes when there’s only one import specifier * Update API baseline * Add sorting and filtering back to UMD fix | 26 January 2022, 23:07:41 UTC |
3718182 | Jake Bailey | 26 January 2022, 22:45:21 UTC | Don't block completion after end of type parameters in JSX elements (#47501) | 26 January 2022, 22:45:21 UTC |
0f3809e | magic-akari | 26 January 2022, 22:13:34 UTC | fix: enum self reference (#47287) * fix: enum self reference * fix: add test case * chore: clean code * fix: check `errorType` directly * chore: revert refactor of `isConstantMemberAccess` | 26 January 2022, 22:13:34 UTC |
53b96d9 | Nathan Shively-Sanders | 26 January 2022, 20:29:25 UTC | Update DOM 2022-01-26 (#47623) Improves types for FileSystemHandle.kind in subtypes, plus other bcd updates. | 26 January 2022, 20:29:25 UTC |
c191e7c | Andrew Branch | 26 January 2022, 18:41:47 UTC | Fix diagnostic serialization crash (#47604) * Add crashing test * Fix unsafe cast to DiagnosticMessageChain | 26 January 2022, 18:41:47 UTC |
3206df8 | Oleksandr T | 26 January 2022, 12:00:14 UTC | fix(47561): use parameter name from enclosing declaration (#47609) | 26 January 2022, 12:00:14 UTC |
d56d621 | TypeScript Bot | 26 January 2022, 06:06:54 UTC | Update package-lock.json | 26 January 2022, 06:06:54 UTC |
20b5523 | Oleksandr T | 25 January 2022, 23:49:33 UTC | feat(42684): allow deprecated JSDoc tag to be used on aliased nodes (#47293) | 25 January 2022, 23:49:33 UTC |
0673f02 | Song Gao | 25 January 2022, 23:43:12 UTC | Fix JsDocTags inheritage and setter/getter quickInfo (#46801) * tmp * fix jsdoc inheritage for property and setter/getter * fix test * fix test * fix mirrors * add more tests * add tests of jsdoc for intance of class | 25 January 2022, 23:43:12 UTC |
f84a67f | Andrew Casey | 25 January 2022, 22:57:17 UTC | Don't trace bindSourceFile cache hits (#47602) Writing the trace entry takes longer than returning the cached value. Fixes #47565 | 25 January 2022, 22:57:17 UTC |
ba402e6 | Joost Koehoorn | 25 January 2022, 19:04:53 UTC | Allow structure reuse if a declaration file within a package is updated (#47472) * Allow structure reuse if a declaration file within a package is updated Closes #47471 * Use correct program to obtain source file in structure reuse test | 25 January 2022, 19:04:53 UTC |
a9efe2b | TypeScript Bot | 25 January 2022, 06:06:20 UTC | Update package-lock.json | 25 January 2022, 06:06:20 UTC |
6927730 | Eli Barzilay | 11 January 2022, 22:30:57 UTC | Fix detecting an existing `Map`/`Set` This didn't affect compilation to CJS since that sets `exports.Map` instead of creating a global. | 24 January 2022, 20:47:10 UTC |
b9efc3b | TypeScript Bot | 23 January 2022, 06:06:24 UTC | Update package-lock.json | 23 January 2022, 06:06:24 UTC |
0019c01 | TypeScript Bot | 22 January 2022, 06:06:15 UTC | Update package-lock.json | 22 January 2022, 06:06:15 UTC |
3cbc8d2 | Gabriela Araujo Britto | 21 January 2022, 20:05:34 UTC | Fix narrowing of intersection with function type (#47483) * add and and or mask to typefacts * add comment | 21 January 2022, 20:05:34 UTC |
9b6c179 | Jake Bailey | 21 January 2022, 19:32:23 UTC | Fix parser test cases missing 'it' calls (#47545) | 21 January 2022, 19:32:23 UTC |
5e38082 | Oleksandr T | 21 January 2022, 18:09:10 UTC | fix(47165): ignore spaces in goToDefinition imports (#47541) | 21 January 2022, 18:09:10 UTC |
5e09e86 | Or Ouziel | 20 January 2022, 23:45:42 UTC | return early from fixUnreachableCode if syntactic errors exists (#47463) | 20 January 2022, 23:45:42 UTC |
e9453f4 | Oleksandr T | 20 January 2022, 22:58:28 UTC | fix(47524): skip assertion on checking this in fixImplicitThis QF (#47527) | 20 January 2022, 22:58:28 UTC |
ab4d319 | Armando Aguirre | 20 January 2022, 22:45:29 UTC | Fixed Go To Definition using jsconfig (#47434) * Fixed Go To Definition using jsconfig * Fixed formatting | 20 January 2022, 22:45:29 UTC |
7e3ecce | Andrew Casey | 20 January 2022, 22:38:36 UTC | Associate paths with nodes when tracing (#47530) Walking up the tree to find the enclosing SourceFile would distort the timing too much so, instead, we attach a Path in the binder. At present, the path is determined retroactively by walking up the call stack in the trace visualizer, but this is both inconvenient and routinely inaccurate (checking an expression in one file may require checking an expression in another file and there's no way to determine from the trace where this transition occurred). | 20 January 2022, 22:38:36 UTC |
bae0f50 | Wesley Wigham | 20 January 2022, 22:08:47 UTC | Fix import assertion occurrences crash and make import assertion parsing more generous (#47535) | 20 January 2022, 22:08:47 UTC |
04d77fe | Daniel Rosenwasser | 20 January 2022, 19:33:30 UTC | Update to TypeScript 4.5.5, fix semantic lints. (#47529) * Update to TypeScript 4.5.5, fix semantic lints. * Remove extra parens. * Remove now-outdated non-null comment around #18217. | 20 January 2022, 19:33:30 UTC |
6c8c829 | TypeScript Bot | 20 January 2022, 06:07:54 UTC | Update package-lock.json | 20 January 2022, 06:07:54 UTC |
c240380 | Eli Barzilay | 20 January 2022, 01:06:59 UTC | Add a comment to `maybeSetLocalizedDiagnosticMessages` (Should have included it in the previous PR but missed it...) | 20 January 2022, 03:04:45 UTC |
8d9fa68 | Eli Barzilay | 18 January 2022, 16:37:22 UTC | Avoid global mutations This removes a few places where global compiler bindings are mutated: 1. Make `sysLog` call an internal binding which is changed via `setSysLog`. 2. Use `Object.assign` to change values *in* `objectAllocator` instead of mutating the binding itself. (The type should verify that any future uses of this will properly override all bindings.) 3. `localizedDiagnosticMessages` is not really needed as an exported value, there's only one place that uses it to test whether it is set or not. So drop the export and replace it with a new `maybeSetLocalizedDiagnosticMessages` (internal) function. | 20 January 2022, 01:01:19 UTC |
9e2b7ad | mickey-stringer | 19 January 2022, 23:32:47 UTC | fix(47492): more detailed parseTryStatement error message (#47504) * more detailed parseTryStatement error message * move custom error to diagnosticMessages.json * update error code Co-authored-by: mickey-stringer <fcstring31@yahoo.com> | 19 January 2022, 23:32:47 UTC |
ad5ca67 | Daniel Rosenwasser | 19 January 2022, 23:05:01 UTC | Avoid crash for import code fixes with dotted require (#47433) * Add failing test. * Update failing test. * Finalized failing test case. * Separate our usages of utilities that expect variables initialized to require(...) and require(...).foo. * Renamed types and utilities, removed accidental indentation. * Renamed both utilitiy functions uniformly. | 19 January 2022, 23:05:01 UTC |
049d4e0 | Jake Bailey | 19 January 2022, 21:37:55 UTC | Modify debug assertion to avoid crashing on SyntaxList (#47500) | 19 January 2022, 21:37:55 UTC |
8189620 | Orta Therox | 19 January 2022, 12:45:43 UTC | Update dom.generated.d.ts (#47507) | 19 January 2022, 12:45:43 UTC |
113a681 | Orta Therox | 19 January 2022, 11:56:27 UTC | Do not show the additional file/errors table when there's 1 file with many errors (#47345) * Use relative paths for the end of compile report * Have a tighter suffix for multiple errors in one file * Review feedback * Refactors, and adds color * Update baselinies | 19 January 2022, 11:56:27 UTC |
9f64839 | TypeScript Bot | 19 January 2022, 06:06:17 UTC | Update package-lock.json | 19 January 2022, 06:06:17 UTC |
c44fd46 | Oleksandr T | 19 January 2022, 04:59:26 UTC | fix(47451): Implicit 'any' quick fix text grabs text from wrong file (#47493) | 19 January 2022, 04:59:26 UTC |
97017ee | Jake Bailey | 19 January 2022, 02:13:18 UTC | Delay "File change detected" reporting until createProgram (#47427) | 19 January 2022, 02:13:18 UTC |
4e689bc | TypeScript Bot | 19 January 2022, 01:43:20 UTC | 🤖 Update TypeScript DOM Libs (#47445) Co-authored-by: orta <orta@users.noreply.github.com> | 19 January 2022, 01:43:20 UTC |
0822116 | Robert Snow | 18 January 2022, 21:54:25 UTC | Add missing currencyDisplay to resolved number format options (#44006) * Add missing currencyDisplay to resolved number format options * Move declaration to es2020 * Update es2020.intl.d.ts * Fix bad merge Co-authored-by: Orta Therox <ortam@microsoft.com> Co-authored-by: Orta Therox <git@orta.io> Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> | 18 January 2022, 21:54:25 UTC |
2635102 | Jake Bailey | 18 January 2022, 21:53:51 UTC | Deprecate ScriptElementKind.jsxAttribute (#47414) | 18 January 2022, 21:53:51 UTC |
d0b3ac3 | Andrew Branch | 18 January 2022, 21:23:13 UTC | Better reuse of package.json cache, module resolution cache, and package.json auto import filter (#47388) * Use package.json cache in module specifier generation * Let AutoImportProviderProject reuse module resolution cache of host project * Add missing module resolution cache access, add logging to getRootFileNames * Reuse packageJsonImportFilter * Only log when the project will be created, update API baseline * Remove override that could mess up watches | 18 January 2022, 21:23:13 UTC |
8153475 | Oleksandr T | 18 January 2022, 20:40:00 UTC | fix(47438): show auto-complete for this inside class static blocks (#47460) | 18 January 2022, 20:40:00 UTC |
e2c0033 | Jake Bailey | 18 January 2022, 19:46:09 UTC | Bind RHS of comma expressions too (#47049) | 18 January 2022, 19:46:09 UTC |
16e96f6 | Oleksandr T | 18 January 2022, 19:38:52 UTC | feat(47439): omit optional key from jsx output (#47467) | 18 January 2022, 19:38:52 UTC |
cecd8c5 | Pimm "de Chinchilla" Hogeling | 18 January 2022, 13:39:05 UTC | Make Map constructor argument optional and nullable (#43396) * Make Iterable Map constructor argument optional Fixes #37779 * Change Map constructor in iterable to accept both null and undefined. According to the spec (https://tc39.es/ecma262/#sec-map-iterable), the sole argument passed to Map is allowed to be null or undefined. * Changed Map constructor to ensure new Map() still types as Map<any, any>. * Add map constructor test. This proves that the previous commit fixes #37779, as well as that new Map() still types as Map<any, any>. * Update baseline. Co-authored-by: Jared Neil <jaredneil@lucidchart.com> | 18 January 2022, 13:39:05 UTC |
7490b32 | TypeScript Bot | 18 January 2022, 06:06:28 UTC | Update package-lock.json | 18 January 2022, 06:06:28 UTC |
febfd44 | Oleksandr T | 16 January 2022, 21:44:07 UTC | fix(47417): allow undefined type to be added to JSDoc types (#47449) | 16 January 2022, 21:44:07 UTC |
c71ff4d | TypeScript Bot | 15 January 2022, 06:06:32 UTC | Update package-lock.json | 15 January 2022, 06:06:32 UTC |
28c2084 | Andrew Branch | 14 January 2022, 18:33:05 UTC | Deprioritize import paths made up of only dots and slashes (#47432) * Deprioritize import paths made up of only dots and slashes * Fix test * Hoist regex * Yaaaay RegExp state | 14 January 2022, 18:33:05 UTC |
16bbddb | Jake Bailey | 14 January 2022, 17:56:57 UTC | Rewrite logic for JSX attribute completion detection (#47412) | 14 January 2022, 17:56:57 UTC |
b7fee7f | Josh Goldberg | 14 January 2022, 04:29:37 UTC | Allowed non-this, non-super code before super call in derived classes with property initializers (#29374) * Allowed non-this, non-super code before super call in derived classes Fixes #8277. It feels wrong to put a new `forEachChild` loop in the checker, though in the vast majority of user files this will be a very quick one. Is there a better way to check for a reference to `super` or `this`? * Used new isNewThisScope utility and dummy prop in baselines * Accounted for parameters and get/set accessor bodies * Accounted for class extensions * (node|statement)RefersToSuperOrThis wasn't checking root level scope boundaries ```ts function () { return this; } ``` It was immediately going to `ts.forEachChild` so the statement itself wasn't being counted as a new `this` scope. * Better 'references' name and comments; accounted for more method edge case * Limited super calls to root-level statements in constructor bodies As per discussion in the issue, it would be ideal to consider any block that always ends up calling to super() the equivalent of a root-level super() statement. This would be valid: ```ts foo = 1; constructor() { condition() ? super(1) : super(0); this.foo; } ``` ...as it would compile to the equivalent of: ```ts function () { condition() ? super(1) : super(0); this.foo = 1; this.foo; } That change would a bit more intense and I'm very timid, so leaving it out of this PR. In the meantime the requirement is that the super() statement must itself be root-level. * Fixed error number following 'master' merge * Added decorator test cases * Again allowed arrow functions * Accepted new baselines * Added allowance for (super()) * Reworked emitter transforms for ES this binding semantics In trying to adjust to rbuckton's PR feedback, this orders derived class constructor bodies into five sections: 1. Pre-`super()` code 2. The `super()` call itself 3. Class properties with initializers 4. Parameter properties 5. The rest of the constructor I've looked through the updated baselines and it looks like they're generally better than before. Within the existing test cases that result in semantic errors for `this` access before `super`, several previously resulted in a global `_this` being created; now, they correctly defer referring to `_this` until it's assigned to `_super.call(this) || this`. * Used skipOuterExpressions when diving for super()s; fix prop ordering * Allow direct var _this = super() when no pre-super() statements; lint fixes * Always with the TSLint * One last touchup: skipOuterExpressions in es2015 transformer * Fixed new lint complaint in utilities.ts * Again added a falls-through; it'd be swell if I could run linting locally * This time I think I got it * Well at least the error is a different one * Undid irrelevant whitespace changes * Mostly addressed private/field issues * Accepted derivedClassSuperProperties baseline * Lint fix, lovely * Remove now-unnecesary comment * First round of feedback * Moved prologue statements to start of statements * Added consideration for super statements in loops and the like * Ordering and a _this_1 test * Missed the one change I needed... * First round of feedback corrections * Feedback round two: statements * Feedback: used more direct statements * Fixed classFields emit to not duplicate temp variables * Refactored es2015 helper to be less overloaded * Accounted for parentheses * Simpler feedback: -1, and emptyArray * Next feedback: superStatementIndex * Feedback: simplified to no longer create slice arrays * Adjusted for default and rest parameters * Added test case for commas * Corrected comment ranges * Handled comments after super, with tests * Fixed Bad/Late super baselines * Remove unused param and unnecessary baseline comments Co-authored-by: Orta Therox <orta.therox@gmail.com> Co-authored-by: Ron Buckton <ron.buckton@microsoft.com> | 14 January 2022, 04:29:37 UTC |
70097c4 | Jake Bailey | 14 January 2022, 00:51:02 UTC | Fix type error in fourslash.ts (#47430) | 14 January 2022, 00:51:02 UTC |
a158b7e | Andrew Branch | 13 January 2022, 23:33:38 UTC | Fix implicit glob detection when ancestor directory contains `.` (#47418) | 13 January 2022, 23:33:38 UTC |
ce18254 | Eli Barzilay | 02 December 2021, 22:54:05 UTC | optimize `__createBinding` When the binding is itself one that was created by `__createBinding`, re-use its descriptor, which avoids piling multiple levels of getters in the case of multiple levels of exports. In addition, reuse a descriptor if the bindings is marked as non-writable and non-configurable, which makes a getter not necessary. (This can be done manually if needed, even though tsc doesn't do it now.) Also related to #46744 and to microsoft/tslib#165. | 13 January 2022, 20:57:51 UTC |