Commit Graph

782 Commits

Author SHA1 Message Date
강동윤
51d0cef287
fix: Fix bugs (#1516)
swc_ecma_ast:
 - Support TypeScript 4.3. (#1517)

swc_ecma_parser:
 - Support new syntaxes from typescript 4.3. (#1517) 

swc_ecma_transforms_compat:
 - Fix '\\`' in template literals. (#1488)
 - `classes`: Fix super calls. (#1490)

swc_ecma_transforms_module:
 - Respect `esModuleInterop` for dynamic imports. (#1480)

swc_ecma_transforms_typescript:
 - `strip`: Remove `declare`-d namespaces. (#1508)
2021-03-30 16:47:12 +09:00
Nayeem Rahman
8b1f8dde4b
fix(strip): Expand class expressions as sequences
swc_ecma_transforms_typescript:
 - `strip`: Expand class expressions as sequences.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-30 12:09:11 +09:00
Devon Govett
393808a8f6
fix(es/codegen): Fix sourcemaps of multi line block comments (#1511)
swc_ecma_codegen:
 - Fix sourcemaps of multiline block comments.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-29 23:41:05 +09:00
강동윤
99f4f0f280
fix(swc): Fix bugs for v1.2.52 (#1506)
swc_ecma_parser:
 - Support `private declare`. (#1503)
 - Recover `backtracking` state while doing some nested backtracking. (#1505)
 - Allow using `readonly` as the name of class properties. (#1514)

swc_ecma_transforms_base:
 - `hygiene`: Keep the name of class expressions. (#1507)

swc_ecma_transforms_typescript:
 - Allow a namespace and a class to have the same name. (#1515)

swc:
 - Disable `tsx` if the ext of a file is ts.
2021-03-29 20:48:48 +09:00
강동윤
3ddf229c18
fix(es/parser): Fix assert after imports (#1513)
swc_ecma_parser:
 - Check for newline while parsing import assertions. (#1512)
2021-03-29 11:30:00 +09:00
Nayeem Rahman
8eae00900f
fix(es/transforms/typescript): Precompute class field keys (#1498)
swc_ecma_transforms_typescript:
 - `strip`: Precompute keys.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-28 12:14:59 +09:00
강동윤
232cfc5f4f
fix(es/transforms/react): Handle jsx entities in attributes correctly (#1501)
swc_ecma_transforms_react:
 - Fix jsx entities in attribute values. (#1479)
2021-03-27 21:06:47 +09:00
강동윤
b7eb1f9154
fix(es/transforms/base): Fix fixer (#1496)
swc_ecma_transforms_base:
 - Fix `('a' ?? 'b') || c`.
2021-03-27 00:45:51 +09:00
Nayeem Rahman
fa3d65cd58
fix(strip): Transform static class fields to assignments (#1487)
swc_ecam_transforms_compat:
 - Deprecate `typescript_class_properties`.

swc_ecma_tranforms_typescript:
 - Merge `typescript_class_properties` into `strip`.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-26 13:48:55 +09:00
David Sherret
da62c73239
refactor(es/ast): Change TaggedTpl to have a Tpl (#1114)
swc_ecma_ast:
 - Make `TaggedTpl` have `Tpl`.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-25 20:09:36 +09:00
강동윤
df3f3106df
fix(es/transforms/fixer): Fix await expressions. (#1475)
swc_ecma_transforms_base:
 - Handle assign expressions in `await` correctly. (denoland/deno#9810)
2021-03-24 19:25:04 +09:00
강동윤
fec189f2f3
fix(bundler): Fix stack overflow on Windows (#1464)
bundler:
 - Prevent stack overflow. (denoland/deno#9752)

testing:
 - Bump version
 - Fix handling of paths on windows.

testing_macros:
 - Bump version
 - Correctly ignore files.
2021-03-22 19:42:42 +09:00
Nayeem Rahman
9bc074ed46
fix(strip): Combine typescript_class_properties() into strip() (#1478)
swc_ecma_utils:
 - Use `&mut` for inject_after_super.

swc_ecma_transforms_typescript:
 - Merge `typescript_class_properties` into `strip`.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-21 22:31:35 +09:00
강동윤
9445c109f9
fix(es/codegen): Fix codegen of arrow expressions. (#1452)
swc_ecma_codegen:
 - Fix codegen of arrow functions.  (#1451)
2021-03-20 15:30:54 +09:00
강동윤
dcdac2db6f
fix(swc): Fix bugs (#1453)
swc_ecma_transforms_typescript:
  - Add option to use define propert for `strip` pass. (#1472)

node-swc:
  - Fix `keepClassNames`. (Brooooooklyn/swc-node#335)
2021-03-17 15:24:35 +09:00
Alexander van Ratingen
06cb4b89cb
fix(es/codegen): Fix SX spread props (#1463) 2021-03-11 11:24:31 +09:00
강동윤
97269a37b9
fix(swc): Fix bugs for v1.2.50 (#1444)
swc:
 - Respect `react` config.

swc_ecma_transforms_compat:
 - `export-namespace-from`: Preserve `use strict`. (#1423)

swc_ecma_transforms_module:
 - Inject `use strict` before imports. (#1423)

swc_ecma_transforms_proposal:
 - Emit metadata for literal types. (#1421)
2021-03-03 20:39:02 +09:00
강동윤
bc07215d4d
fix(es/parser): Fix lexing of template literals. (#1450)
swc_ecma_parser:
 - Fix lexing of template literals. (denoland/deno#9620)
 - Ensure that denoland/deno#9650 is not a bug of parser.
2021-03-03 17:46:36 +09:00
Devon Govett
eec65f25bb
feat(es/transforms): Port @babel/preset-modules (#1439)
swc_ecma_preset_env:
 - Add options to enable bugfix transforms.

swc_ecma_transforms_compat:
 - Add bugfix transform for async arrows in a class.
 - Add bugfix transform for default parameters.
 - Add bugfix transform for templit literal caching.

swc_ecma_transforms_react:
 - Respect `use_spread`.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-03-02 16:03:22 +09:00
Giorgi Rostomashvili
73b8826a2f
fix(es/parser): Recover from type annotations after = (#1445) 2021-03-02 15:50:13 +09:00
강동윤
a3105428ba
fix(swc): Fix various bugs (#1440)
swc:
 - Use `hygiene_with_config` instead. (#1279)
 - Allow enabling source map with `.swcrc`. (#1309)

swc_ecma_transforms_base:
 - `hygiene`: Add an option to preserve class names. (#1279)

swc_ecma_transforms_compat:
 - `block_scoping`: Allow using `break` in switch cases. (#1415)
2021-03-01 17:19:37 +09:00
marieell
24dac8605b
chore: Typo (#1442) 2021-03-01 13:44:44 +09:00
강동윤
a4d408dc6e
fix(es/transforms/base): Fix span hygiene of type elements (#1436)
swc_ecma_transforms_base:
 - `ts_resolver`: Fix span hygiene of type elements.
2021-02-28 15:55:20 +09:00
강동윤
c047e0e54d
fix(bundler): Fix bundler (#1427)
swc_bundler:
 - Create variables for export while preparing a module. (denoland/deno#9560)
 - Fix order of statements.
 - Invoke dce multiple time if required. (denoland/deno#9546)

swc_ecma_transforms_optimization:
 - dce: Track modifications correctly.
2021-02-26 18:21:42 +09:00
Jakub Koralewski
59bd00d841
fix: Fix tests on windows (#1419)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-23 00:33:11 +09:00
강동윤
7f5bfdcc00
fix(bundler): Fix bugs (#1382)
swc_bundler:
 - Improve performance
 - Use `Vec<AHashSet<usize>>` instead of `AHashSet<(usize, usize)>`.
 - Fix statement orderings. (denoland/deno#9464) 
 - Fix wrapped esm mixed with circular imports. (denoland/deno#8224)
 - Store content of wrapped esm at top level. (denoland/deno#8224)
2021-02-22 17:27:40 +09:00
David Sherret
adcca03cfa
fix(es/ast): Remove TsTypeCastExpr it's not used (#1420) 2021-02-22 17:05:51 +09:00
Yehuda Katz
db85d123b7
Fix a number of typos (#1412)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-20 15:18:09 +09:00
강동윤
eecdca4e86
fix(es/transforms/base): Fix resolver (#1414)
swc_ecma_transforms_base:
 - `resolver`: Handle private class methods. (denoland/deno_lint#615)
2021-02-19 19:51:50 +09:00
강동윤
27aad87798
fix(es/transforms/base): Fix hygiene of catch clause (#1413)
swc_ecma_transforms_base:
 - `hygiene`: Apply ops in catch clauses. (#1402)
2021-02-19 16:52:02 +09:00
강동윤
eaeffabf74
fix(es): Improve performance (#1411)
swc_ecma_ast:
 - Add `BindingIdent`.
 - Reduce size of `Ident`.
2021-02-19 15:34:22 +09:00
강동윤
0be20ff0ae
feat(es/transforms/react): New jsx transform (#1408)
swc_ecma_transforms_react:
  - Implement new jsx transform. (#1103, denoland/deno#7993)
2021-02-19 14:32:53 +09:00
강동윤
8fb0b4c303
fix(es/transforms/react): Use VisitMut instead of Fold (#1409)
swc_ecma_transforms_base:
 - Implement `MapWithMut` for more types.

swc_ecma_transforms_react:
 - Migrate to `VisitMut`.
2021-02-17 14:40:03 +09:00
강동윤
5ad57b02f2
fix(es/parser): Fix bugs (#1405)
swc_ecma_parser:
 - Parse generics in class methods with special name properly.
2021-02-17 01:47:00 +09:00
강동윤
fc2a8cb073
fix(es): Fix docs.rs (#1399) 2021-02-15 02:45:50 +09:00
강동윤
9dabf00200
fix(es): Fix bugs (#1395)
swc_ecma_codegen:
 - Implement `emit_ts_type_assertion`.
 - Implement `emit_ts_type_cast_expr`. 
 - Implement `emit_ts_ns_export_decl`.
 - Implement `emit_ts_signature_decl`.

swc_ecma_parser:
 - Ensure that we report an error for invalid input. (#1391)

swc_ecma_transforms_base:
 - fixer: Handle `await (await foo)()`. (#1397)
2021-02-14 22:18:05 +09:00
David Sherret
313f51fab1
feat(es/parser): Allow to look at the kind of an error (#1396)
swc_ecma_parser:
 - Add a method to look at the kind of an error without destructuring it.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-14 16:49:28 +09:00
Bartek Iwańczuk
8ef78a9e08
feat: add import assertion to dep analyzer (#1387)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-02-10 21:49:44 +09:00
강동윤
bf445a75c4
fix(swc): Fix bugs (#1372)
swc_ecma_ast:
 - Support import assertions for exports.

swc_ecma_parser:
 - Support import assertions for exports.

swc_ecma_transform_typescript:
 - Strip `declare globals` correctly. (#1383)

spack:
 - Re-enable multi-entry tests.
2021-02-10 17:25:28 +09:00
강동윤
686c98116d
fix(es): Fix for the type checker (#1381)
swc_ecma_codegen:
 - Fix codegen of `TsCallSignatureDecl`.

swc_ecma_transforms_base:
 - Handle `TsCallSignatureDecl`.
2021-02-08 01:39:05 +09:00
Michael Nicholls
bd119e6634
feat(es/preset-env): Custom config path (#1374)
swc_ecma_preset_env:
 - Support custom path.

Co-authored-by: 강동윤 <kdy1@dudy.kr>
2021-02-03 13:27:11 +09:00
강동윤
0d130f8103
fix(bundler): Prevent hanging (#1369)
swc_bundler:
 - Prevent infinite loop.
2021-01-30 13:35:07 +09:00
강동윤
af25a88902
fix(swc): Fix bugs for v1.2.47 (#1368)
swc_ecma_parser:
 - Fix generic parsing issue in jsx context. (#1299)

swc_ecma_transforms_module:
 - Allow importing a module multiple time. (#1232)
 - Handle imports in the constructor of an exported class decl. (#1213)

swc:
 - Respect `sourceMappingURL`. (#1236)
 - Resolve `sourceMappingURL` relative from file. (#1255)
 - Respect `isModule: false` (#1258)

spack:
 - Support loading json files. (#1225)
2021-01-29 22:19:04 +09:00
David Sherret
4155822283
Fix span of arrow expression with type params (#1365)
swc_ecma_parser:
 - Fix span of arrow expression with type params.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-01-28 20:55:43 +09:00
강동윤
78e79a7ace
feat(es/transforms/typescript): Strip out type-only namespaces (#1361)
swc_ecma_transforms_typescript:
 - Strip out type-only namespaces.
2021-01-27 16:20:10 +09:00
강동윤
93a19140a8
fix(es): Fixes for type checker (#1359)
swc_ecma_codegen:
 - Print type parameters of a class method.

swc_ecam_transforms_base:
 - `ts_resolver`: Handle type parameter constraints correctly.
2021-01-26 22:05:30 +09:00
강동윤
947161b43b
fix(bundler): Fix bugs (#1349)
swc_bundler:
 - Fix deglobbing of imports. (denoland/deno#8985)
 - Use correct syntax context while deglobbing imports. (denoland/deno#9212)
 - Allow reexporting from wrapped esms. (denoland/deno#8959, denoland/deno#9200)
 - Fix statement orderings. (denoland/deno#9250)
 - Emit injected items as early as possible. (denoland/deno#9250)
 - Respect `external_modules`. (#1338)
 - Fix cjs suppport. (#1328)

swc_ecma_transforms_base:
 - hygiene: Fix for hoisting. (denoland/deno#9212)
2021-01-25 21:15:42 +09:00
강동윤
947f9c5641
fix(es/ast): Fix EqIgnoreSpan (#1360)
swc_ecma_ast:
 - Make `EqIgnoreSpan`  impl of` StrKind` always return true.
2021-01-25 18:14:34 +09:00
강동윤
2921b903d7
fix(es/ast): Compilation (#1357)
swc_ecma_ast:
 - Fix compilation.
2021-01-25 11:32:09 +09:00
강동윤
b7ae896bbd
fix(es): Fix bugs (#1353)
swc_ecma_transforms_compat:
 - Handle all accesses to private class properties. (#1333)
 - block_scoping: Inject variable correctly. (#1231)
 - Handle async arrow function correctly. (#1341)
2021-01-23 20:52:53 +09:00
강동윤
d4df2cece8
fix(es): Fix bugs (#1347)
swc_ecma_parser:
 - Do not emit strict mode error while backtracking. (#1252)

swc_ecma_transforms_proposal:
 - Handle decorator on methods with computed key.
2021-01-23 15:46:42 +09:00
강동윤
6a1c3da326
fix(bundler): Fix bugs (#1346)
swc_bundler:
 - Fix keywords pass.

swc_ecma_transforms_optimization:
 - Remove `dbg!`.
 - `constant_propagation`: Inline only injected variables.
2021-01-22 18:39:57 +09:00
강동윤
0469e3a33e
fix(es): Move and rename JscTarget (#1343)
swc_ecma_ast:
 - Add `EsVersion`.

swc_ecma_parser:
 - Remove `JscTarget`.
 - Reexport `EsVersion` as `JscTarget`.
2021-01-20 19:43:56 +09:00
강동윤
17f17e82e6
fix(bundler): Fix bugs (#1342)
swc_bundler:
 - Add a testing system for constant inliner.

swc_ecma_transforms_optimization:
 - const_propagation: Handle export specifiers.
 - const_propagation: Handle inlining of variables whose initializer is inlined.
 - dce: Allow dropping identifiers used in `exported` part of export specifiers.
2021-01-20 16:10:12 +09:00
강동윤
ddc9492aed
fix(es/transforms): Handle enum in namespaces (#1340)
swc_ecma_transforms_typescript:
 - Handle enums in namespaces. (#1329)

swc:
 - Exclude files based on .swcrc.
2021-01-18 23:00:53 +09:00
강동윤
613a5a45dd
fix(es): Fixes for the type checker (#1331)
swc_ecma_codegen:
 - Fix codegen of typescript interfaces.

swc_ecma_transforms_base:
 - ts_resolver: Handle ts module declarations.
2021-01-15 21:12:16 +09:00
강동윤
3faefb5836
feat(es): TypeScript 4.2 (#1330)
swc_ecma_ast:
 - Add `is_abstract` to constructor types.

swc_ecma_codegen:
 - Fix codegen of `Bool`.
 - Implement codegen for abstract constructors.

swc_ecma_parser:
- Inline tsc parser test suite.
- Implement parsing of abstract constructor types.
2021-01-15 19:30:44 +09:00
강동윤
a9bf9bb9e1
fix(swc): Fix bugs (#1300)
swc_ecma_codegen:
 - Handle unicode escape sequences when target is es5. (#1227, #1326)

swc_ecma_transforms_compat:
 - Handle template literals correctly. (#1314)
 - Handle private class properties correctly. (#1306)

swc:
 - Don't panic on `export * as foo from 'foo'`. (#1307)
2021-01-14 21:56:25 +09:00
강동윤
6984217200
feat(ES/transform/typescript): Support namespace (#1325)
swc_common:
 - Update `serde`.

swc_ecma_transforms_typescript:
 - Add support for namespace.
2021-01-12 21:59:42 +09:00
강동윤
23aebacade
fix(bundler): Fix bundler (#1318)
swc_bundler:
 - Use two-context system properly.
 - Remove old logic.
 - keywords: Handle assignment pattern property.
 - keywords: Handle shorthand property.
 - keywords: Handle identifiers in declarations.

swc_ecma_transforms_typescript:
 - Do not remove import if there's non-type usage. (Related to denoland/deno#8978)

swc_ecma_transforms_optimization:
 - dce: Handle new expression correctly.
2021-01-11 19:38:20 +09:00
강동윤
dc0d226684 Update cargo.toml 2021-01-05 21:55:00 +09:00
강동윤
c83d19eb2f
feat(ecmascript): Remove macros (#1319)
swc_ecma_ast:
 - Drop dependency on `enum_kind`.

swc_ecma_parser:
 - Remove `swc_ecma_parser_macros`.
2021-01-05 21:39:24 +09:00
강동윤
842b6f953c
fix(ecmascript/transforms): Fix dce (#1301)
swc_bunder:
 - Fix `keywords` pass.

swc_ecma_codegen:
 - Ensure that the code generator handles unicode characters properly. (denoland/deno#8925)

swc_ecma_parser:
 - Ensure that the parser handles unicode characters properly. (denoland/deno#8925)

swc_ecma_transforms:
 - Fix dce.
2021-01-05 18:45:26 +09:00
강동윤
5d515d9ced Fix deps 2021-01-05 14:59:53 +09:00
강동윤
76d9e2a9df
feat(ecmascript/transforms): Split into multiple crates. (#1311) 2021-01-05 14:29:52 +09:00
강동윤
682661d9a9 Fix 2021-01-01 13:38:44 +09:00
강동윤
35cac79f48
Publish swc crate (#1308) 2021-01-01 13:30:35 +09:00
Boris
d638fc32cc
Add tests to cover comments in regex pattern (#1303) 2020-12-30 23:13:26 +09:00
강동윤
254efc4d54 Bump version 2020-12-29 13:04:20 +09:00
Maxime Guerreiro
9063908528
feat(ecmascript/codegen): fix and use omit_trailing_semi (#1298)
swc_ecma_codegen:
- Use omit_trailing_semi in 'assert_min' tests, to identify bugs. Before this,
  no code was using this method - and it had some serious bugs.
- Omit semicolons when writing punctuation, as it's permitted to do so.
- Use two macros ('semi', 'formatting_semi') to distinguish between required
  semicolons, as used in for(...), and optional ones that are used between
  statements.

This commit does not enforce the use of omit_trailing_semi when cfg.minify is
used (except in tests using assert_min), and as such should not modify the
behavior of existing apps. This is confirmed by the Test262 suite passing
without changes.

Co-authored-by: 강동윤 <kdy1@dudy.kr>
2020-12-29 11:56:38 +09:00
강동윤
ba13db54db
fix(bundler): Fix remaining bugs (#1296)
swc_bundler:
 -  Allow `export *` and `import` from same source. (denoland/deno#8828, denoland/deno#8725)
 -  Handle contextual keywords. (denoland/deno#8680)
 -  Prevent duplicated identifiers. (denoland/deno#8725)

swc_ecma_transforms:
 - dce: Preserve tags in tagged template literals. (denoland/deno#8746)
 - dce: Handle throw statement correctly. (denoland/deno#8736)
2020-12-28 19:53:40 +09:00
강동윤
b66ee58ee3
fix(bundler): Fix statement ordering issue (#1264)
swc_bundler:
 - Reduce binary size by reducing usage of visitor / folders.
 - Handle `export *` and `export { default }` from same source. (denoland/deno#8530, denoland/deno#8679)
 - Fix ordering of statements. (denoland/deno#8545)
 - Sort statements in wrapped modules. (https://github.com/denoland/deno/issues/8211#issuecomment-741070299)
 - Exclude default export while handling `export *`.
 - Exclude `export { default }` and `export { foo as default }` while handling `export *`.
 - Make statements from same module to be injected together. (denoland/deno#8620)

swc_ecma_transforms:
 - fixer: Handle assignments in the callee of `new`  correctly.
 - fixer: Handle seqence expression in the callee of `new`  correctly.
2020-12-27 19:02:41 +09:00
강동윤
6941f29943
fix(swc): Fixes for typescript type checker (#1146)
swc_ecma_codegen:
 - Fix codegen of `TsConstructorSignature`.
 - Fix codegen of `TsIndexSignature`.
 - Fix codegen of type parameters in arrow expressions.
 - No panic on dummy span.

swc_ecma_parser:
 - Parse optoinal method correctly.

swc_ecma_transforms:
 - resolver: Handle type parameters in arrow expressions.
2020-12-27 18:18:30 +09:00
강동윤
08c5d83d20 Bump version 2020-12-27 13:22:02 +09:00
강동윤
34249bbf47
feat(ecmascript/ast): Add EqIgnoreSpan and TypeEq (#1295) 2020-12-27 13:11:44 +09:00
Boris
c2a99944cf
feat(ecmascript/parser): Add tests for binding patterns (#1289) 2020-12-22 14:12:33 +09:00
강동윤
8a8db58f1c
fix(ecmascript): Fix bugs related to string literals (#1287)
swc_ecma_ast:
 - Add `Str.kind`.

swc_ecma_transforms:
 - Fix quotes in template literals. (#1280)

swc_ecma_codegen:
 - Fix escape of single quotes. (#1259)
 - Fix codegen of wrong escapes. (#1276)

swc:
 - Ensure that #1271 is about napi's deserialization.
2020-12-22 04:27:18 +09:00
Liam Murphy
576fb6a532
fix(ecmascript/lexer): Normalize \r\n and \r to \n in template literals (#1286)
swc_ecma_parser:
 - Normalize \r\n and \r to \n in template literals.

Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-21 17:56:17 +09:00
Liam Murphy
b760c7c9c7
fix(ecmascript/codegen): TsQualifiedName has trailing dot (#1268)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-20 22:27:31 +09:00
강동윤
0ead8dc403
fix(ci): Fix ci (OOM & library api change) (#1284) 2020-12-20 21:31:00 +09:00
강동윤
bf69b47791
fix(ecmascript/parser): Fix span of declare decls. (#1282)
swc_ecma_parser:
 - Include `declare` span. (#843)
2020-12-19 23:48:13 +09:00
강동윤
25856f230c
feat(parser): Don't hang on unexpected inputs (#1274)
swc_ecma_parser:
 - Don't hang on unexpected inputs. (#1272, denoland/deno#8719)
2020-12-14 16:37:11 +09:00
강동윤
ccf4c2b12c
feat(fixer): Handle ?? properly (#1270)
swc_ecma_transforms:
 -  Handle `??` properly. (denoland/deno#8722)
2020-12-12 17:45:54 +09:00
David Sherret
7a46c8844e
Implement Spanned for TokenAndSpan (#1269)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-12 12:45:22 +09:00
강동윤
03f9b93f58
Fix bundler (#1247)
swc_bundler:
 - Handle indirect wrapped es modules. (denoland/deno#8597, denoland/deno#8625)
 - Respect `export { foo }`. (denoland/deno#8626)

swc_ecma_parser:
- Allow `??=`, `||=`, `??=` in non-ts modules. (denoland/deno#8627)

swc_ecma_transforms:
 - Make `hygiene` check if a variable with expanded name exists. (denoland/deno#8620)
 - Handle `??=` correctly.
2020-12-09 14:23:44 +09:00
Luca Casonato
8ba2ae959d
feat: specifier position in DependencyDescriptor (#1260)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-12-09 11:27:09 +09:00
강동윤
2e29d78281
fix: Decorator metadata (#1248)
swc_ecma_transforms:
 - Emit proper typename for `design:type` used with enum. (#1160)
2020-12-04 05:03:26 +09:00
강동윤
faa1c5f4e5
Fix bugs (#1241)
swc_ecma_codegen:
 - Print multiline string correctly. (#1233)

swc_ecma_transforms:
 - `optional_chaining`: Ensure that #1149 is fixed. (#1149)
 - `async_to_generator`: Remove method parameters. (#1215, #1235)
 - `regenerator`: Don't emit useless expressions. (#1125)
 - `regenerator`: Track `finally` properly. (#1125)

spack:
 - LRU cache for resolver.
2020-11-30 19:20:21 +09:00
강동윤
ea6beaa06d
Fix bundler (#1242)
swc_ecma_codegen:
 - Fix codegen of unicode escapes. (denoland/deno#8541)

swc_bundler:
 - Allow importing a module multiple time. (denoland/deno#8530)
2020-11-30 18:21:34 +09:00
강동윤
f8a1fb878d
fix(regenerator): Handle ternary correctly (#1228)
swc_ecma_transforms:
 - Fix interaction between ternary and await. (#1216)

testing_macors:
 - Fix for `--lib` tests.
2020-11-24 02:54:18 +09:00
강동윤
25f2ff1a45 Bump version 2020-11-22 18:17:55 +09:00
강동윤
6888c69bda
Fix codegen: preserve input (#1221)
swc_ecma_codegen:
 - Preserve input. (#1204)
2020-11-21 02:04:29 +09:00
강동윤
4294b5e7ba
bundler: Fix issues (#1212)
swc_bundler:
 - Bundler rework. (denoland/deno#6802)
 - Reexports are not transitive. (denoland/deno#8246)
 - Dependencies of module with circular dependency. (denoland/deno#8302)
 - Order of injection between import vs export. (denoland/deno#8302)
 - `export *` in wrapped modules. (denoland/deno#8308, denoland/deno#8399)
 - `export { a as b }` in wrapped modules.
 - Fix denoland/deno#8314.
 - Fix denoland/deno#8325.
 - Fix denoland/deno#8344.
 - Make deno test verify exported names. 
 - Handle `export * from './foo'`.

swc_ecma_parser:
 - Don't panic on private name in interface (Closes #1211)

swc_ecma_transforms:
 -  dce: Prevent infinite loop
 -  Faster constant propagation pass.
2020-11-19 20:42:56 +09:00
Brad Dunbar
4327d91fe3
BigInt literal keys (#1192) 2020-11-15 01:22:35 +09:00
강동윤
af0b0a9ab1
Fix fixer (#1207)
swc_ecma_transforms:
 - fixer: Don't unwrap paren if there's a comment for inner node.
2020-11-08 10:59:36 +09:00
강동윤
0a5e23f97c
bundler: Handle swc helpers (#1199)
swc_bundler:
 - Handle helpers from `swc_ecma_transforms`.

swc_ecma_transforms:
 - dce: Remove unused self-referential functions.
2020-11-05 09:53:18 +09:00
강동윤
f21a28844d
resolver: handle class declarations (#1200)
swc_ecma_transforms:
 - resolver: Handle class declarations (denoland/deno_lint#463)
2020-11-03 01:30:21 +09:00
강동윤
bae0eda8bd
Fix bundler (#1194)
swc_bundler:
 - Remove wrong assertion. (denoland/deno#8148)
 - Remove wrong variables created on reexports. (denoland/deno#8188)

swc_ecma_transforms:
 - inlining: Treat usage as an argument as writes. (denoland/deno#8180)
 - inlining: Visit rhs of `||` and `&&`. (denoland/deno#8189)
2020-10-30 14:49:02 +09:00
Pig Fang
11dbc1406c
TypeScript 4.1: intrinsic keyword (#1193)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-29 18:37:22 +09:00
Pig Fang
5ef993d9b2
TypeScript 4.1: template literal type (#1190)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-10-29 17:27:35 +09:00