강동윤
b0278242ba
fix(bundler): Fix handling of reexports from cjs modules ( #2143 )
...
swc_bundler:
- Handle reexports from cjs modules. (#2124 )
- Inject `__spack_require__` helper if required.
2021-08-24 07:20:15 +00:00
muji
e84ed13ffe
feat(es/loader): Support more types for browser
in package.json ( #2060 )
2021-08-16 17:34:53 +09:00
강동윤
f8aa0509ce
fix(bundler): Fix stack overflow ( #2080 )
...
swc_bundler:
- Prevent infinite recursions. (#1963 )
2021-08-15 02:37:31 +00:00
강동윤
f6aabfce9c
perf: Use ahash instead of sip hash ( #2073 )
...
swc_common:
- Add `AHashMap`.
- Add `AHashSet`.
2021-08-14 10:33:16 +00:00
강동윤
b0c41bb3f2
chore: Cleanup codes for fixture testing ( #2070 )
2021-08-14 06:34:04 +00:00
강동윤
883c1ac4e4
fix(bundler): Prepare renaming of bundler ( #2066 )
...
- Rename `spack` crate to `swc_node_bundler`. (#1113 )
2021-08-13 10:03:04 +00:00
LongYinan
fe2a063525
perf(node/swc): Use mimalloc ( #2068 )
2021-08-13 18:39:13 +09:00
강동윤
4011703af5
fix(testing): Allow using it with stable rustc ( #1974 )
...
testing_macros:
- Make `#[fixture]` relative to cargo manifest dir.
2021-07-29 14:18:21 +09:00
강동윤
204a71ca94
fix(es/transforms): Fix bugs ( #1950 )
...
swc_ecma_trasnsforms_base:
- `fixer`: Don't de-optimize `++foo || bar`.
swc_ecma_trasnsforms_typescript:
- Allow using properties from a decorated class. (#1869 )
swc_ecma_transforms_optimization:
- Fix infinite loop. (#1901 , #1946 )
2021-07-22 07:33:00 +00:00
강동윤
21848ce2ea
fix(es/transforms): Fix passes related to optimizations ( #1942 )
...
swc_ecma_transofrms_base:
- `fixer`: Handle `in`.
- `fixer`: Handle `in` in the head of for statements.
- `fixer`: Optimize `- (1 / 0)`.
- `fixer`: Optimize `void 0 === a`.
- `fixer`: Optimize `a-- && b = c`.
- `fixer`: Don't de-optimize if statements.
- `fixer`: Fix handling of if statements.
swc_ecma_transforms_optimization:
- `dead_branch_remover`: Preserve `var`s in dropped switch cases.
2021-07-20 11:07:36 +00:00
강동윤
39ee7b962d
fix(es/codegen): Fix codegen of template literals ( #1936 )
...
swc_ecma_codegen:
- Fix codegen of template literals. (Closes #1791 )
2021-07-20 14:11:33 +09:00
강동윤
a26a18989f
fix(es/transforms): Allow using rest pattern in arrow functions. ( #1926 )
...
swc_ecma_transforms_compat:
- `parameters`: Allow using rest pattern within arrow functions.
2021-07-16 07:05:00 +00:00
강동윤
104be9837b
fix(es/transforms): Fix transforms ( #1909 )
...
swc_ecma_transforms_compat:
- `regenerator`: Use es6 import while folding module. (#1641 )
- `typeof_symbol`: Handle `undefined` specially. (#1843 )
- `regenerator`: Do not create useless codes. (#1687 )
- `typeof_symbol`: Migrate to `VisitMut`.
swc_ecma_transforms_module:
- Add `import_hoister`.
- Improve import analyzer. (#1682 )
- Allow overriding `export *` wth named exports. (#1714 )
swc_ecma_transforms_testing:
- Add a hack for `regenerator-runtime`.
swc:
- Run import analyzer ahead of time. (#1682 )
misc:
- Downgrade rustc to the version rust-analyzer supports.
2021-07-10 11:18:28 +00:00
강동윤
35af4c5186
chore: Publish v1.2.63 & Update rustc ( #1894 )
2021-07-05 12:51:09 +00:00
강동윤
ea93e1d1be
fix(bundler): Prevent infinite loop ( #1872 )
...
swc_bundler:
- Fix cycle detection. (#1756 )
- Add fallback logic for topoligcal sorting.
2021-07-01 12:56:08 +00:00
강동윤
4e7723a7a0
fix(bundler): Fix cycle detection ( #1779 )
...
swc_bundler:
- Fix cycle detection. (denoland/deno#10820 )
2021-06-03 14:15:20 +09:00
강동윤
d60c3242af
fix(swc): Fix bugs ( #1739 )
...
swc_bundler:
- Fix cycle detection for complex circular imports. (denoland/deno#10752 )
swc_ecma_transforms_typescript:
- Allow using large values for an enum variant.
2021-05-25 14:30:17 +09:00
강동윤
731dc68c92
fix(bundler): Use proper algorithm for dependency analysis ( #1610 )
...
swc_bundler:
- Optimize detection of circular imports.
2021-04-26 09:18:57 +00:00
강동윤
308792dc90
fix(bundler): Fix performance ( #1601 )
...
swc_bundler
- Use a faster hash algorithm while sorting modules.
- Remove plan system.
2021-04-24 04:28:38 +00:00
강동윤
9a07869c21
fix(bundler): Improve performance ( #1599 )
...
swc_bundler:
- Skip sorting of statements if a module does not import anything.
2021-04-22 10:43:35 +00:00
강동윤
8222cc075d
feat(ast_node): Add #[ast_serde] ( #1595 )
...
ast_node:
- Add `#[ast_serde]`.
2021-04-21 09:11:50 +00:00
강동윤
1178686a4c
fix(bundler): Fix bundler ( #1576 )
...
swc_bundler:
- Fix remapping of exports. (denoland/deno#9350 )
2021-04-16 18:09:38 +00:00
강동윤
246bdd5088
fix(bundler): Fix bugs ( #1572 )
...
swc_bundler:
- Ensure that denoland/deno#10141 is fixed.
- Run deno tests on ci.
- Support nested `export *`. (denoland/deno#10153, denoland/deno#10174)
swc_ecma_codegen:
- Remove `,` after rest elements. (#1573 , denoland/deno#10167 )
swc_ecma_transforms_optimization:
- Don't drop items used by the discriminant of a switch.
swc_ecma_transforms_typescript:
- Remove constructors without a body.
2021-04-14 14:00:33 +00:00
Devon Govett
14edb69826
fix(es/transforms/base/fixer): Fix parens of sequence expressions ( #1566 )
...
swc_ecma_transforms_base:
- Fix parens of sequence expressions in callee and function parameters.
2021-04-12 06:14:55 +00: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
강동윤
7853b0a76c
fix(bundler): Fix inlining pass ( #1495 )
...
swc_bundler:
- Fix inlining pass. (denoland/deno#9868 )
2021-03-26 16:21:30 +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
강동윤
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
강동윤
bbaf619f63
fix(bundler): Fix bugs ( #1437 )
...
swc_bundler:
- [x] Fix wrapped esms. (denoland/deno#9307 )
- [x] Make test secure.
2021-03-02 17:33:03 +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
강동윤
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
강동윤
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
강동윤
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
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
강동윤
bfde9a1f6e
fix(bundler): Fix bugs ( #1373 )
...
swc_bundler:
- Handle export default-ed functions correctly.
2021-02-01 12:31:03 +09:00
강동윤
0d130f8103
fix(bundler): Prevent hanging ( #1369 )
...
swc_bundler:
- Prevent infinite loop.
2021-01-30 13:35:07 +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
강동윤
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
강동윤
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
강동윤
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
강동윤
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
강동윤
bc7ac45d87
fix(bundler): Don't load dynamic imports ( #1297 )
...
swc_bundler:
- Do not load dynamically imported files.
2020-12-29 00:09:46 +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
강동윤
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
강동윤
0ead8dc403
fix(ci): Fix ci (OOM & library api change) ( #1284 )
2020-12-20 21:31:00 +09:00