Conversation
Codecov Report
@@ Coverage Diff @@
## main #762 +/- ##
=======================================
Coverage 99.34% 99.34%
=======================================
Files 1922 1922
Lines 176479 176479
Branches 908 908
=======================================
Hits 175326 175326
Misses 1097 1097
Partials 56 56 |
ST-DDT
approved these changes
Apr 3, 2022
xDivisionByZerox
approved these changes
Apr 3, 2022
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~0.14.29->~0.14.30~38.1.4->~38.1.6Release Notes
evanw/esbuild
v0.14.30Compare Source
Change the context of TypeScript parameter decorators (#2147)
While TypeScript parameter decorators are expressions, they are not evaluated where they exist in the code. They are moved to after the class declaration and evaluated there instead. Specifically this TypeScript code:
becomes this JavaScript code:
This has several consequences:
Whether
awaitis allowed inside a decorator expression or not depends on whether the class declaration itself is in anasynccontext or not. With this release, you can now useawaitinside a decorator expression when the class declaration is either inside anasyncfunction or is at the top-level of an ES module and top-level await is supported. Note that the TypeScript compiler currently has a bug regarding this edge case: Parameter decorators use incorrect async/await context, generated code has syntax error microsoft/TypeScript#48509.Also while TypeScript currently allows
awaitto be used like this inasyncfunctions, it doesn't currently allowyieldto be used like this in generator functions. It's not yet clear whether this behavior withyieldis a bug or by design, so I haven't made any changes to esbuild's handling ofyieldinside decorator expressions in this release.Since the scope of a decorator expression is the scope enclosing the class declaration, they cannot access private identifiers. Previously this was incorrectly allowed but with this release, esbuild no longer allows this. Note that the TypeScript compiler currently has a bug regarding this edge case: Decorators broken with private fields, generated code has syntax error microsoft/TypeScript#48515.
Since the scope of a decorator expression is the scope enclosing the class declaration, identifiers inside parameter decorator expressions should never be resolved to a parameter of the enclosing method. Previously this could happen, which was a bug with esbuild. This bug no longer happens in this release.
Specifically previous versions of esbuild generated the following incorrect JavaScript (notice the use of
arg2):This release now generates the following correct JavaScript (notice the use of
arg):Fix some obscure edge cases with
superproperty accessThis release fixes the following obscure problems with
superwhen targeting an older JavaScript environment such as--target=es6:The compiler could previously crash when a lowered
asyncarrow function contained a class with a field initializer that used asuperproperty access:The compiler could previously generate incorrect code when a lowered
asyncmethod of a derived class contained a nested class with a computed class member involving asuperproperty access on the derived class:The compiler could previously generate incorrect code when a default-exported class contained a
superproperty access inside a lowered static private class field:gajus/eslint-plugin-jsdoc
v38.1.6Compare Source
Bug Fixes
no-restricted-syntax,no-missing-syntax: pass on parser'svisitorKeysto esquery (f873e32)v38.1.5Compare Source
Bug Fixes
no-restricted-syntax: includecommentin templates and in default error message if present (cc031b8)Configuration
📅 Schedule: "before 2am" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.