-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mimic TS class property behavior change #486
Comments
alangpierce
added a commit
that referenced
this issue
Dec 25, 2019
Fixes #483 cbd5a26e5 v7.6.0 🚫 Release only. daf25af47 Fix typo in changelog (#10409) 🚫 Docs only. 4395c22f3 Miscellaneous perf tweak (#10421) ✅ Ported one small optimization. cb881e6b3 [parser] Report escapes in kws only if they won't be used as i… (#10455) 🚫 Not relevant for Sucrase since Sucrase doesn't do validation. 9c1ad0a9f [parser] Disallow static fields named `constructor` (#10461) 🚫 Validation-only change. b7333ea97 added check to disallow super.private variable access and test case added (#10472) 🚫 Validation-only change. 3069747a8 Leave trailing comments after handling a possible trailing com… (#10445) 🚫 Only affects comments, which aren't relevant for Sucrase. f339d2d03 [parser] Disallow numeric separator in unicode scape sequences (#10468) 🚫 Validation only. 69d00dc5b [parser] Invalid NonOctal Decimal (#10467) 🚫 Validation only. b9cb4af95 v7.6.2 🚫 Release only. 6f3460c76 chore: add access: public to babel parser publish config (#10487) 🚫 package.json only. 0e9502685 [parser] Don't crash on comment after trailing comma after eli… (#10490) ✅ Was already working, but I added a test anyway. 490798a26 [parser] Disallow numeric separators in legacy octal like inte… (#10493) 🚫 Validation only. 80d99b4d4 Do not allow member expressions to start async arrows (#10332) 🚫 Doesn't appear to affect current Sucrase code. fa5057f9f Flow: interface identifier should be declared in the scope (#10220) 🚫 Scope-only change. a219b6de7 Disallow await inside async arrow params (#10469) 🚫 Validation only, not relevant for Sucrase. 0856618ed perf: replace lookahead by lookaheadCharCode (#10371) 🚫 I'll hold off on this for now, but seems good to explore at some point. b0acfb24d add scope to TSModuleDeclaration (#10119) 🚫 Scope only. d329156eb v7.6.3 🚫 Release only. 34937f13d Trailing comma after rest - The final fix (#10491) 🚫 Looks like this is only for validation, so doesn't affect Sucrase. a422ea64e v7.6.4 🚫 Release only. 06313a628 Allow duplicate __proto__ keys in patterns, simple case (#6705) (#10532) 🚫 Validation only. 5800fc97b [parser] Exception to 8 and 9 in tagged template (#10567) 🚫 Validation only. 095f28a91 fix: Exclude catch clause from let identifier error (#10559) 🚫 Doesn't apply to strict mode, Sucrase is always strict mode. 78cd63d9c Fix invalid test layout in @babel/parser 🚫 Test only. b6ef9689b [parser] Parse only modifiers of actual methods (#10594) 🚫 Validation only. 1d1fab4ea [parser] Add support for private fields in TypeScript (#10483) ✅ Already seems to be working (aside from validation), and I added a test. 4cd93ab5f [parser] Enable "exportNamespaceFrom" by default (#10521) 🚫 Already enabled in Sucrase. 38a306311 add assertions signature for TypeScript (#10543) ✅ Implemented separately in Sucrase. 63f9a3c94 rename `assertsModifier` to `asserts` (#10613) 🚫 AST-only change. 143d15998 Create parser plugin "topLevelAwait" (#10449) 🚫 Sucrase already supports top-level await, and the ambiguities don't apply since Sucrase assumes module code where await is reserved. 4b3a19ea9 fixed missing errors on assignment pattern in object expression (#10607) 🚫 Validation only. ec3345bb5 Flow enums parsing (#10344) 🚫 For now I won't support Flow enums since it looks like the runtime semantics aren't figured out yet. d023e105b [TS] Parse calls with type args in optional chains (#10631) ✅ This seems to already work, and I added a test. 87feda7c2 @babel/parser error recovery (#10363) 🚫 Big restructure, but I think doesn't have an effect on Sucrase since Sucrase isn't interested in reporting detailed errors. e9c1bce50 Add support for TS declare modifier on fields (#10545) 🚫 Filed #486 to track this issue. 97faa8395 v7.7.0 🚫 Release only. 2cd5ad0c8 fix typo: identifer -> identifier (#10647) 🚫 Docs only. 9082e68d6 Parse arrows with params annotations in conditional expressions (#10669) 🚫 Parsing edge case that shouldn't affect emit anyway, and the parsing code works differently now in Sucrase. 35f4d1276 v7.7.2 🚫 Release only. 0287c0f02 Don't recover from "adjacent jsx elements" parser error (#10682) 🚫 Error recovery not relevant for Sucrase. e315d65a7 v7.7.3 🚫 Release only. 4cb5e0a01 Allow TypeScript type assertions in array destructuring (#10592) 🚫 Already works in Sucrase. d413a3078 Add `asserts this [is type]` parsing support (#10677) ✅ Implemented in a simpler way in Sucrase. a6d134804 Unify build step for ESLint packages (#10723) 🚫 Test only. cfd26fdbf register ImportEqualsSpecifier to scope (#10710) 🚫 Scope code not relevant to Sucrase. 10213655b [parser] Allow optional async methods (#10582) ✅ Same bug fix applied. a502d8804 Fix some incorrect typeof parsing in flow (#10657) 🚫 Doesn't seem to affect Sucrase. 01d6d6dd3 Flow enums: fix enum body location (#10737) 🚫 Not supporting flow enums yet. 75767d87c v7.7.4 🚫 Release only. 5440ae1ca Correctly disambiguate / after async fuctions (#10475) 🚫 Fix wouldn't apply to Sucrase, and seems obscure enough to ignore and likely wouldn't affect Sucrase output anyway. d18afbd7c Allow tuple rest trailing comma (#10800) ✅ Already works in Sucrase, and I added a test. bb6cc6197 fix(optional chaining): Optional delete returns true with nullish base (#10806) 🚫 Test only. c6e966cac [parser] Use scope flags to check arguments (#10801) 🚫 Validation only. d04508e51 v7.7.5 🚫 Release only. fb100eee4 @babel/eslint-parser: fix BigIntLiteral node to match ESTree spec (#10827) 🚫 Sucrase doesn't support ESTree parsing. 20e43ad10 validate parentheses in the left-hand side of assignment expressions (#10576) 🚫 Validation only. 5156d3ea0 Restore `@babel/parser` tests (#10854) 🚫 Test only. 7b54a9438 @babel/eslint-parser: fix ImportExpression node to match ESTree spec (#10828) 🚫 Sucrase doesn't support ESTree parsing. 0b3f883ed Properly serialize non-json values in parser tests (#10858) 🚫 Test only. 12da0941c v7.7.7 🚫 Release only. f651f22f9 fix: lost leading comment after named import (#10901) 🚫 Doesn't affect Sucrase.
alangpierce
added a commit
that referenced
this issue
Dec 25, 2019
Fixes #483 cbd5a26e5 v7.6.0 🚫 Release only. daf25af47 Fix typo in changelog (#10409) 🚫 Docs only. 4395c22f3 Miscellaneous perf tweak (#10421) ✅ Ported one small optimization. cb881e6b3 [parser] Report escapes in kws only if they won't be used as i… (#10455) 🚫 Not relevant for Sucrase since Sucrase doesn't do validation. 9c1ad0a9f [parser] Disallow static fields named `constructor` (#10461) 🚫 Validation-only change. b7333ea97 added check to disallow super.private variable access and test case added (#10472) 🚫 Validation-only change. 3069747a8 Leave trailing comments after handling a possible trailing com… (#10445) 🚫 Only affects comments, which aren't relevant for Sucrase. f339d2d03 [parser] Disallow numeric separator in unicode scape sequences (#10468) 🚫 Validation only. 69d00dc5b [parser] Invalid NonOctal Decimal (#10467) 🚫 Validation only. b9cb4af95 v7.6.2 🚫 Release only. 6f3460c76 chore: add access: public to babel parser publish config (#10487) 🚫 package.json only. 0e9502685 [parser] Don't crash on comment after trailing comma after eli… (#10490) ✅ Was already working, but I added a test anyway. 490798a26 [parser] Disallow numeric separators in legacy octal like inte… (#10493) 🚫 Validation only. 80d99b4d4 Do not allow member expressions to start async arrows (#10332) 🚫 Doesn't appear to affect current Sucrase code. fa5057f9f Flow: interface identifier should be declared in the scope (#10220) 🚫 Scope-only change. a219b6de7 Disallow await inside async arrow params (#10469) 🚫 Validation only, not relevant for Sucrase. 0856618ed perf: replace lookahead by lookaheadCharCode (#10371) 🚫 I'll hold off on this for now, but seems good to explore at some point. b0acfb24d add scope to TSModuleDeclaration (#10119) 🚫 Scope only. d329156eb v7.6.3 🚫 Release only. 34937f13d Trailing comma after rest - The final fix (#10491) 🚫 Looks like this is only for validation, so doesn't affect Sucrase. a422ea64e v7.6.4 🚫 Release only. 06313a628 Allow duplicate __proto__ keys in patterns, simple case (#6705) (#10532) 🚫 Validation only. 5800fc97b [parser] Exception to 8 and 9 in tagged template (#10567) 🚫 Validation only. 095f28a91 fix: Exclude catch clause from let identifier error (#10559) 🚫 Doesn't apply to strict mode, Sucrase is always strict mode. 78cd63d9c Fix invalid test layout in @babel/parser 🚫 Test only. b6ef9689b [parser] Parse only modifiers of actual methods (#10594) 🚫 Validation only. 1d1fab4ea [parser] Add support for private fields in TypeScript (#10483) ✅ Already seems to be working (aside from validation), and I added a test. 4cd93ab5f [parser] Enable "exportNamespaceFrom" by default (#10521) 🚫 Already enabled in Sucrase. 38a306311 add assertions signature for TypeScript (#10543) ✅ Implemented separately in Sucrase. 63f9a3c94 rename `assertsModifier` to `asserts` (#10613) 🚫 AST-only change. 143d15998 Create parser plugin "topLevelAwait" (#10449) 🚫 Sucrase already supports top-level await, and the ambiguities don't apply since Sucrase assumes module code where await is reserved. 4b3a19ea9 fixed missing errors on assignment pattern in object expression (#10607) 🚫 Validation only. ec3345bb5 Flow enums parsing (#10344) 🚫 For now I won't support Flow enums since it looks like the runtime semantics aren't figured out yet. d023e105b [TS] Parse calls with type args in optional chains (#10631) ✅ This seems to already work, and I added a test. 87feda7c2 @babel/parser error recovery (#10363) 🚫 Big restructure, but I think doesn't have an effect on Sucrase since Sucrase isn't interested in reporting detailed errors. e9c1bce50 Add support for TS declare modifier on fields (#10545) 🚫 Filed #486 to track this issue. 97faa8395 v7.7.0 🚫 Release only. 2cd5ad0c8 fix typo: identifer -> identifier (#10647) 🚫 Docs only. 9082e68d6 Parse arrows with params annotations in conditional expressions (#10669) 🚫 Parsing edge case that shouldn't affect emit anyway, and the parsing code works differently now in Sucrase. 35f4d1276 v7.7.2 🚫 Release only. 0287c0f02 Don't recover from "adjacent jsx elements" parser error (#10682) 🚫 Error recovery not relevant for Sucrase. e315d65a7 v7.7.3 🚫 Release only. 4cb5e0a01 Allow TypeScript type assertions in array destructuring (#10592) 🚫 Already works in Sucrase. d413a3078 Add `asserts this [is type]` parsing support (#10677) ✅ Implemented in a simpler way in Sucrase. a6d134804 Unify build step for ESLint packages (#10723) 🚫 Test only. cfd26fdbf register ImportEqualsSpecifier to scope (#10710) 🚫 Scope code not relevant to Sucrase. 10213655b [parser] Allow optional async methods (#10582) ✅ Same bug fix applied. a502d8804 Fix some incorrect typeof parsing in flow (#10657) 🚫 Doesn't seem to affect Sucrase. 01d6d6dd3 Flow enums: fix enum body location (#10737) 🚫 Not supporting flow enums yet. 75767d87c v7.7.4 🚫 Release only. 5440ae1ca Correctly disambiguate / after async fuctions (#10475) 🚫 Fix wouldn't apply to Sucrase, and seems obscure enough to ignore and likely wouldn't affect Sucrase output anyway. d18afbd7c Allow tuple rest trailing comma (#10800) ✅ Already works in Sucrase, and I added a test. bb6cc6197 fix(optional chaining): Optional delete returns true with nullish base (#10806) 🚫 Test only. c6e966cac [parser] Use scope flags to check arguments (#10801) 🚫 Validation only. d04508e51 v7.7.5 🚫 Release only. fb100eee4 @babel/eslint-parser: fix BigIntLiteral node to match ESTree spec (#10827) 🚫 Sucrase doesn't support ESTree parsing. 20e43ad10 validate parentheses in the left-hand side of assignment expressions (#10576) 🚫 Validation only. 5156d3ea0 Restore `@babel/parser` tests (#10854) 🚫 Test only. 7b54a9438 @babel/eslint-parser: fix ImportExpression node to match ESTree spec (#10828) 🚫 Sucrase doesn't support ESTree parsing. 0b3f883ed Properly serialize non-json values in parser tests (#10858) 🚫 Test only. 12da0941c v7.7.7 🚫 Release only. f651f22f9 fix: lost leading comment after named import (#10901) 🚫 Doesn't affect Sucrase.
alangpierce
added a commit
that referenced
this issue
Apr 13, 2020
a18166d2a refactor: remove inClassProperty parser state (#10906) 🚫 Already removed from parser state. 197a8da04 Remove unused parser methods (#10942) 🚫 Already removed. 86245a83a TSTypeCastExpression should not be inside call parameters (#10939) 🚫 Validation only. 30449fe05 Refactor parseSubscript (#10937) 🚫 Skipped the refactor since Sucrase's subscriptStartIndex seems to work nicer when the cases are handled independently. 2f3f77926 refactor: remove unused invalidTemplateEscapePosition tokenizer state (#10935) 🚫 Already removed. 023824426 refactor: remove unecessary checkYieldAwaitInDefaultParams (#10936) 🚫 Already removed. 26eb89187 fix: Class Field Initializer should not allow await expression as immediate child (#10946) 🚫 Scope code not relevant for Sucrase. 6ee8c97e6 Fix: TopLevelAwait should respect await identifiers defined in… (#10947) 🚫 Validation code not relevant to Sucrase. 467667af8 When reading a new string, U+2028/2029 should correctly set th… (#10944) 🚫 Line information not maintained by Sucrase parser. a28353703 fix: check await when parsing AsyncArrowBindingIdentifier (#10953) 🚫 Validation only. 455d782ef test: add invalid-lone-import test (#10950) 🚫 Test only. 8fd532db3 LiteralPropertyName should allow BigIntLiteral (#10955) ✅ Didn't fail tests, but I added the check and a test. 771c730fd [parser] Disallow duplicate and undeclared private names (#10456) 🚫 All related scopes and validation, neither of which we handle. 5b907e9bb [parser] enable dynamic import by default (#10843) 🚫 Already enabled by default in Sucrase. c3388ea42 Enable nullish coalescing by default in @babel/parser (#10819) 🚫 Already enabled by default in Sucrase. 5f807ae45 Enable optional chaining by default in @babel/parser (#10817) 🚫 Already enabled by default in Sucrase. e8dac621d chore: specify package type (#10849) 🚫 Might be good to do for Sucrase, but outside the scope of this change. 81c5f1f22 Disallow private name in object elements and TS type elements (#10980) 🚫 Validation only. 2486615a7 v7.8.0 🚫 Release only. 8fce431d8 Revert "chore: specify package type (#10849)" (#11003) 🚫 Nothing to revert. a7620bd26 v7.8.3 🚫 Release only. 9df70b450 Duplicate `__proto__` key should be allowed in object patterns (#10987) 🚫 Validation only. a1063d258 fix: triple __proto__ in object patterns should be allowed (#11009) 🚫 Validation only. 6648d62f4 chore: use @babel/eslint-config-internal (#11026) 🚫 Lint only. 45301c530 Update coalesce precedence (#11017) ✅ Switched precedence and made sure tests still pass. It's unclear what test could confirm this in terms of Sucrase behavior. 34a965328 add AST for the module attribute proposal (#11015) 🚫 Docs only. 341964bd4 fix: properly parse member expression after property initializ… (#11031) 🚫 Code was no longer in Sucrase. facfd4d8a Enable `no-process-exit` ESLint rule (#11025) 🚫 Lint only. 9bc04baeb fix(babel-parser): avoid state.clone() to clone the whole token store (#11029) 🚫 I already implemented a very similar optimization in a different way. 43b23e086 refactor: simplify toAssignable routine (#11032) 🚫 Sucrase already removed toAssignable. 5c2e6bc07 v7.8.4 🚫 Release only. 11d9826e7 Fix Async Generic After Await Parsing Error (#11092) 🚫 Code change not relevant for Sucrase. 0b3dea8f5 Turn on no-fallthrough rule (#11093) 🚫 Lint only. 8ab27c8ff Wrap type-only class fields in flow comments (#11096) 🚫 Internal-only change. 38529699d Refactor await/yield production parameter tracking (#10956) 🚫 Seems to be only related to scopes and validation. 223cee724 Parse declare modifier around accessibility modifiers (#11146) 🚫 Issue still tracked as #486 afb0f489d Enable more eslint recommended rules (#11168) 🚫 Lint only 750d3dde3 v7.8.6 🚫 Release only 2603c2e22 fix(babel-parser): chain off optionally chained keys named cla… (#11198) 🚫 Seems to be working in Sucrase, and changed code doesn't exist anymore. 21c914187 Refactor: add parser message template (#11192) 🚫 Validation-related change. I might eventually want something like this in Sucrase, but for now, Sucrase isn't focused on error messages. 595f65f33 v7.8.7 🚫 Release only. e297e406c refactor: remove redundant contextDescription empty check (#11219) 🚫 Validation only. 2057d2b15 fix: non-directive "use strict" should not enable parsing in strict mode (#11188) 🚫 Sucrase always parses in strict mode. c831a2450 v7.8.8 🚫 Release only. 84a9ea455 Allow await when it is not in AsyncArrowHead (#11148) 🚫 Validation only. 4a4845585 feat: align ID_Start/ID_Continue regex to Unicode 13.0.0 (#11246) 🚫 We don't validate unicode in identifiers. 20d9a1018 Add estree parsing support for `export * as A` (#11254) 🚫 estree not supported. 740260b23 Add `import type` and `export type` support to TypeScript (#11171) ✅ Ported both changes, though looks like export type doesn't end up working with the transform right now. 2bce1e5e2 Parse BigInts by default (#11117) 🚫 Already parsed by default. 4f394e30d Add support for flow's SymbolTypeAnnotation (#11077) 🚫 We don't parse flow built-in types like babel does. 5c1a8210d Implement support for `declare` on class fields with Flow (#11178) 🚫 Will be done along with #486. 3ce7c2e39 Added support for record and tuple syntax. (#10865) 🚫 I won't support this syntax for now since it's experimental. 841f4428e Rephrase parser error message (#11208) 🚫 Validation only. e39b50803 Add @babel/helper-validator-identifier (#11289) 🚫 I'll keep the identifier checking code inline for now. 8d5e422be v7.9.0 🚫 Release only. 7ca814489 fix: parse value imports named type as values (#11296) 🚫 Seems to work fine in Sucrase. 2399e0df2 v7.9.2 🚫 Release only. 0e5c1da65 fix: async arrow functions should not be allowed after binary… (#11284) 🚫 Validation only. 1ae85560a v7.9.3 🚫 Release only. dc7c5640e Compact parser fixture loc info (#11322) 🚫 Test data change only. 4e6c9c52e fix: token after strict mode block is evaluated in strict mode (#11186) 🚫 Sucrase always uses strict mode. d3cf5fb5f v7.9.4 🚫 Release only. 8b976b067 fix: do not push new token context when function is following dot/questionDot (#11388) 🚫 Sucrase doesn't use token contexts.
alangpierce
added a commit
that referenced
this issue
Apr 20, 2020
a18166d2a refactor: remove inClassProperty parser state (#10906) 🚫 Already removed from parser state. 197a8da04 Remove unused parser methods (#10942) 🚫 Already removed. 86245a83a TSTypeCastExpression should not be inside call parameters (#10939) 🚫 Validation only. 30449fe05 Refactor parseSubscript (#10937) 🚫 Skipped the refactor since Sucrase's subscriptStartIndex seems to work nicer when the cases are handled independently. 2f3f77926 refactor: remove unused invalidTemplateEscapePosition tokenizer state (#10935) 🚫 Already removed. 023824426 refactor: remove unecessary checkYieldAwaitInDefaultParams (#10936) 🚫 Already removed. 26eb89187 fix: Class Field Initializer should not allow await expression as immediate child (#10946) 🚫 Scope code not relevant for Sucrase. 6ee8c97e6 Fix: TopLevelAwait should respect await identifiers defined in… (#10947) 🚫 Validation code not relevant to Sucrase. 467667af8 When reading a new string, U+2028/2029 should correctly set th… (#10944) 🚫 Line information not maintained by Sucrase parser. a28353703 fix: check await when parsing AsyncArrowBindingIdentifier (#10953) 🚫 Validation only. 455d782ef test: add invalid-lone-import test (#10950) 🚫 Test only. 8fd532db3 LiteralPropertyName should allow BigIntLiteral (#10955) ✅ Didn't fail tests, but I added the check and a test. 771c730fd [parser] Disallow duplicate and undeclared private names (#10456) 🚫 All related scopes and validation, neither of which we handle. 5b907e9bb [parser] enable dynamic import by default (#10843) 🚫 Already enabled by default in Sucrase. c3388ea42 Enable nullish coalescing by default in @babel/parser (#10819) 🚫 Already enabled by default in Sucrase. 5f807ae45 Enable optional chaining by default in @babel/parser (#10817) 🚫 Already enabled by default in Sucrase. e8dac621d chore: specify package type (#10849) 🚫 Might be good to do for Sucrase, but outside the scope of this change. 81c5f1f22 Disallow private name in object elements and TS type elements (#10980) 🚫 Validation only. 2486615a7 v7.8.0 🚫 Release only. 8fce431d8 Revert "chore: specify package type (#10849)" (#11003) 🚫 Nothing to revert. a7620bd26 v7.8.3 🚫 Release only. 9df70b450 Duplicate `__proto__` key should be allowed in object patterns (#10987) 🚫 Validation only. a1063d258 fix: triple __proto__ in object patterns should be allowed (#11009) 🚫 Validation only. 6648d62f4 chore: use @babel/eslint-config-internal (#11026) 🚫 Lint only. 45301c530 Update coalesce precedence (#11017) ✅ Switched precedence and made sure tests still pass. It's unclear what test could confirm this in terms of Sucrase behavior. 34a965328 add AST for the module attribute proposal (#11015) 🚫 Docs only. 341964bd4 fix: properly parse member expression after property initializ… (#11031) 🚫 Code was no longer in Sucrase. facfd4d8a Enable `no-process-exit` ESLint rule (#11025) 🚫 Lint only. 9bc04baeb fix(babel-parser): avoid state.clone() to clone the whole token store (#11029) 🚫 I already implemented a very similar optimization in a different way. 43b23e086 refactor: simplify toAssignable routine (#11032) 🚫 Sucrase already removed toAssignable. 5c2e6bc07 v7.8.4 🚫 Release only. 11d9826e7 Fix Async Generic After Await Parsing Error (#11092) 🚫 Code change not relevant for Sucrase. 0b3dea8f5 Turn on no-fallthrough rule (#11093) 🚫 Lint only. 8ab27c8ff Wrap type-only class fields in flow comments (#11096) 🚫 Internal-only change. 38529699d Refactor await/yield production parameter tracking (#10956) 🚫 Seems to be only related to scopes and validation. 223cee724 Parse declare modifier around accessibility modifiers (#11146) 🚫 Issue still tracked as #486 afb0f489d Enable more eslint recommended rules (#11168) 🚫 Lint only 750d3dde3 v7.8.6 🚫 Release only 2603c2e22 fix(babel-parser): chain off optionally chained keys named cla… (#11198) 🚫 Seems to be working in Sucrase, and changed code doesn't exist anymore. 21c914187 Refactor: add parser message template (#11192) 🚫 Validation-related change. I might eventually want something like this in Sucrase, but for now, Sucrase isn't focused on error messages. 595f65f33 v7.8.7 🚫 Release only. e297e406c refactor: remove redundant contextDescription empty check (#11219) 🚫 Validation only. 2057d2b15 fix: non-directive "use strict" should not enable parsing in strict mode (#11188) 🚫 Sucrase always parses in strict mode. c831a2450 v7.8.8 🚫 Release only. 84a9ea455 Allow await when it is not in AsyncArrowHead (#11148) 🚫 Validation only. 4a4845585 feat: align ID_Start/ID_Continue regex to Unicode 13.0.0 (#11246) 🚫 We don't validate unicode in identifiers. 20d9a1018 Add estree parsing support for `export * as A` (#11254) 🚫 estree not supported. 740260b23 Add `import type` and `export type` support to TypeScript (#11171) ✅ Ported both changes, though looks like export type doesn't end up working with the transform right now. 2bce1e5e2 Parse BigInts by default (#11117) 🚫 Already parsed by default. 4f394e30d Add support for flow's SymbolTypeAnnotation (#11077) 🚫 We don't parse flow built-in types like babel does. 5c1a8210d Implement support for `declare` on class fields with Flow (#11178) 🚫 Will be done along with #486. 3ce7c2e39 Added support for record and tuple syntax. (#10865) 🚫 I won't support this syntax for now since it's experimental. 841f4428e Rephrase parser error message (#11208) 🚫 Validation only. e39b50803 Add @babel/helper-validator-identifier (#11289) 🚫 I'll keep the identifier checking code inline for now. 8d5e422be v7.9.0 🚫 Release only. 7ca814489 fix: parse value imports named type as values (#11296) 🚫 Seems to work fine in Sucrase. 2399e0df2 v7.9.2 🚫 Release only. 0e5c1da65 fix: async arrow functions should not be allowed after binary… (#11284) 🚫 Validation only. 1ae85560a v7.9.3 🚫 Release only. dc7c5640e Compact parser fixture loc info (#11322) 🚫 Test data change only. 4e6c9c52e fix: token after strict mode block is evaluated in strict mode (#11186) 🚫 Sucrase always uses strict mode. d3cf5fb5f v7.9.4 🚫 Release only. 8b976b067 fix: do not push new token context when function is following dot/questionDot (#11388) 🚫 Sucrase doesn't use token contexts.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tracked/discussed in microsoft/TypeScript#27644
At the moment, Sucrase always transpiles class fields into constructor assignments, and class fields without initializers are removed:
becomes:
In the future, we'll need to change the behavior to "define" semantics, and soon enough it'll be possible to just drop class field transpile completely, since it's supported in Node 12 but not Node 10. When dropping class field support, we'll need to support
declare
for fields, so that this:becomes this:
Right now there isn't a way to disable class field transpile, and the behavior with transpiled class fields isn't totally clear. A safe first step is to at least parse and remove
declare
fields.The text was updated successfully, but these errors were encountered: