Commit Graph

183 Commits

Author SHA1 Message Date
Donny/강동윤
e46a842e99
feat(es/parser, es/transform): Implement ergonomic brand checking (#2079)
swc_ecma_parser:
 - Implement parsing of private properties in object literals.

swc_ecma_transforms_base:
 - `fixer`: Handle `const [a = (b, c)]`.

swc_ecma_transforms_compat:
 - `class_properties`: Support ergonomic brand checks. (#2064)

swc_ecma_transforms_proposal:
 - Implement ergonomic brand checks for private fields. (#2064)
2021-09-27 08:03:48 +00:00
Donny/강동윤
5e1003ec4c
fix(es/transforms/base): Fix hygiene (#2299)
swc_ecma_transforms_base:
 - `hygiene`: Support usage-def conflict where def comes first. (#2297)
2021-09-24 10:26:01 +00:00
Donny/강동윤
2156364121
fix(es/transforms/base): Fix hygiene (#2282)
swc_ecma_transforms_base:
 - `hygiene`: Handle decl-ref conflict. (#2211)
2021-09-22 06:56:04 +00:00
강동윤
ce01b8a9b7
fix(es): Fix bugs (#2256)
swc_ecma_codegen:
 - Fix source map of string literals. (#2253)

swc_ecma_transforms_typescript:
 - Allow using same name for a module with function. (#2243)
2021-09-18 07:52:08 +00:00
강동윤
20ce326909
feat(es/minifer): Improve minifier (#2229)
swc_ecma_minifier:
 - `if_return`: Allow side-effect-free statements to come after `if_return`.
 - `collapse_vars`: Move variables without init to first.
 - `analyzer`: Remove useless fields.
 - Don't drop `return` tokens if there's a finally block.
 - `drop_return_value`: Drop side-effect-free return arguments.
 - `make_sequences`: Don't inject `void 0` to return args.
 - `if_terminate`: Move to the pure optimizer.
 - Fix a bug related to `RegExp`.
2021-09-16 04:23:33 +00:00
강동윤
48d61039d2
fix(common, node/swc): Allow inlining sourcesContent (#2245)
swc_common:
 - Allow setting `sourceContents` of source map files. (#2218)

swc:
 - Support `inlineSourceContents`. (#2244)
2021-09-14 02:31:32 +00:00
강동윤
9ffe47106a
fix(swc): Fix target (#2226)
swc:
 - Fix `target` option. (#2225)
2021-09-10 15:43:14 +09:00
강동윤
77be9f63b9
fix(swc): Improve rust apis (#2197)
swc_ecma_transforms_testing:
 - Make `expected` not affect source map of input.

swc:
 - Accept `before` pass.
2021-09-01 23:34:37 +00:00
강동윤
11fe35dbd1
feat(es/minifier): Implement static evaluator (#2176)
swc_ecma_minifier:
 - Add an api to evaluate constants statically.
2021-08-30 05:21:38 +00:00
강동윤
8c5daeec2a
fix(es/transforms/base): Fix await expressions. (#2157)
swc_ecma_transforms_base:
 - Preserve parenthesis in `await (a || b)`. (#2155)
2021-08-26 13:19:12 +09:00
강동윤
584c44a490
feat(es): Reexport minifier from swc_ecmascript (#2146) 2021-08-24 20:38:16 +00:00
강동윤
838a7a8b33
fix(es/minifier): Make use of hygiene optimizer (#2145)
swc_ecma_ast:
 - Implement `Display` for `Ident`.

swc_ecma_minifier:
 - Expose `unique_scope`, which is required for `hygiene_optimizer`.
 - Improve `hygiene_optimizer`.

swc:
 - Use hygiene optimizer. (#1600, #2137)
 - Add `jsc.experimental.optimizeHygiene`
2021-08-24 15:03:31 +00:00
강동윤
6eaf60b8a4
fix(swc): Disable aes feature (#2109)
node/swc:
 - Disable `aes`. (#1807)
2021-08-19 12:12:16 +00:00
강동윤
879a0f39a8
feat(swc): Implement format.comments of terser (#2095)
swc:
 - `minify`: Support `format.comments`.
 - `process_js`: Support `jsc.minify.format.comments`.
2021-08-17 14:34:37 +00:00
강동윤
a309b36236
fix(es/transforms): Fix bugs (#2089)
swc_ecma_minifier:
 - Expose hygiene optimizer.
 - `mangle_names`: Handle private names in member expressions. (#2086)

swc_visit:
 - Make `Optional::new` const function.

swc:
 - Make `es3` optional via cargo feature.
 - Ensure that #1554 is already fixed. (#1554)
2021-08-16 10:33:18 +00:00
nicholas
035ff77f1a
fix(node/swc): Fix incorrect field package.json (#2069) 2021-08-14 02:17:54 +09:00
강동윤
a7cb2aba9d
fix(es/minifier): Fix bugs of the minifier (#2052)
swc_ecma_minifier:
 - Test mangler using execution test suite.
 - `mangler`: Preserve `arguments`.
 - `mangler`: Handle shorthand. (#2051)
 - `mangler`: Handle object pattern properties.
 - `precompress`: Don't drop function declarations if the variable with same name is in different scope. (#2011)
2021-08-11 07:24:52 +00:00
강동윤
53b031b019
fix(swc): Fix bugs (#2034)
swc_ecma_transforms_base:
 - `resolver`: Handle constructor properties correctly. (#2021)

swc_ecma_transforms_compat:
 - `block_scoping`: Handle arrows in loops. (#2027)
 - `block_scoping`: Handle nested for loops with function between them. (#2027)
 - `regenerator`: Handle rhs of `||` correctly. (#2024)

swc:
 - Add a test for #1734. (#1734)
2021-08-09 07:38:46 +00:00
강동윤
9793926cc8
fix(es/minifier): Fix bugs and implement more rules (#2032)
swc_ecma_minifier:
 - Fix an infinite loop. (#2028)
 - Don't remove span hygiene. (#2022)

swc_ecma_codegen:
 - Fix codegen of `return` with `async` arrow. (#2020)

swc:
 - Respect `minify = false`. (#2019)
2021-08-08 14:19:04 +00:00
강동윤
48bc26d3c9
fix(es): Fix codegen & minifier (#2006)
swc_ecma_codegen:
 - Emit a semicolon before `!`.
 - Emit a semicolon before `[`. (#2007)

swc_ecma_minifier:
 - Disable buggy passes.
 - `iife`: Don't inline async functions. (#2007)
2021-08-04 10:27:17 +00:00
강동윤
68608db0b3
fix(es/minifier): Improve output of minifier (#2005)
swc_ecma_minifier:
 - Don't reorder import statements.
2021-08-04 07:20:02 +00:00
강동윤
f44e25c3af
fix(es/minifier): Improve output of minifier (#1990)
swc_common:
 - Add `Span.has_mark`.

swc_ecma_codegen:
 - Emit `1e3` for `1000`.
 - Optimize output. (#1986)

swc_ecma_minifier:
 - name mangler: Don't use keywords as an id.
 - `properties`: Optimize member expression with string properties.
 - `inline`: Inline some function expressions even if it's not fn-local.
 - `analyzer`: Track reassignment correctly.
 - `analyzer`: Track fn-local correctly.
 - `sequences`: Inject `void` if required.
 - `inline`: Inline function declarations correctly.
 - `sequences`: Merge expressions into test of if statements.
 - `sequences`: Reduce calls to an assigned variable.
 - Use `Marks` instead of `&dyn Comments`.


swc_ecma_transforms_optimization:
 - `expr_simplifier`: Fix infinite loops.

node/swc:
 - Ensure that `.transform` performs minification. (#1989)
2021-08-04 00:52:47 +09:00
강동윤
e916b35dd2
feat(node/swc): Support sourceFileName (#1976)
swc:
 - Support `sourceFileName`.
2021-08-03 00:49:34 +09:00
강동윤
be23e66ca8
fix(es/minifier): Fix minifier (#1985)
swc_ecma_minifier:
 - Don't create an identifier starting with number. (#1983)
 - Fix panic. (#1984)
 - Don't use time api on wasm. (#1982)
2021-07-31 13:34:16 +00:00
강동윤
d600d52157 fix(build): Increase memory 2021-07-31 19:50:13 +09:00
강동윤
839476dc3c chore: Publish a new version 2021-07-31 18:32:51 +09:00
강동윤
d1c481790c
feat(swc): Expose minifier api (#1978)
swc_ecma_codegen:
 - Fix codegen of imports when minification is enabled.

swc_ecma_minifier:
 - Mangle identifiers used by imports.

swc:
 - Support specifing `jsc.minify`. (#704, #1371)

swc/node:
 - Add `.minify()`.
 - Add `.minifySync()`.

swc/wasm:
 - Add `.minifySync()`.
2021-07-31 06:30:06 +00:00
강동윤
f3603b2cb8
chore: Use correct license for the node package (#1966) 2021-07-27 14:59:46 +09: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
강동윤
7f968472fb chore: Publish v1.2.65 2021-07-18 19:29:08 +09:00
강동윤
03be315921
fix(es/transforms): Fix decorator bugs (#1905)
swc_ecma_transforms_proposal:
 - Initialze decorators lazily. (#1278)
2021-07-08 20:48:07 +09:00
강동윤
04d4384482
fix(ci): Use cross-env (#1897) 2021-07-06 14:29:45 +09:00
강동윤
44b6400385
chore: Publish v1.2.63 (#1895) 2021-07-05 23:49:24 +09:00
강동윤
c4e013441b
chore(wasm): Fix license (#1874)
wasm:
 - Use spdx-compatible license. (#1798)
2021-07-01 13:48:25 +00:00
강동윤
ff440d47a4
chore: Organize project (#1849) 2021-06-24 17:01:21 +09:00
강동윤
c56115793c
fix(es/parser): Fix parser (#1808)
swc_ecma_parser:
 - Allow large numeric literals. (#1803)
 - Allow long numeric literals. (#1806)
2021-06-09 23:02:13 +09:00
LongYinan
d6571933ff
feat(node-swc): Support windows aarch64 and linux aarch64 musl (#1773) 2021-06-02 09:34:27 +09:00
강동윤
ad55711e45
fix(es/transforms): Fix bugs (#1769)
swc_ecma_transforms_optimization:
 - `dce`: Mark references from decorator as usage. (denoland/deno#10789)

swc_ecma_transforms_proposal:
 - Allow using `super` in decorated class methods. (#846)
2021-05-30 19:52:51 +09:00
LongYinan
6a13615381
feat(node-swc): Support FreeBSD (#1758) 2021-05-28 12:47:02 +09:00
muji
3359188a20
fix(spack): Update the list of node js core modules (#1749)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2021-05-27 15:10:23 +09:00
강동윤
c79db252dc
fix(swc): Fix bugs (#1753)
swc_ecma_parser:
 - Allow class members to be declared. (#1751)

node-swc:
 - Fix typescript type definitions. (#1746)
2021-05-27 11:59:04 +09:00
강동윤
d20c1d3089
feat(es/minifier): Implement more rules (#1717)
swc_ecma_minifier:
 - Implement `global-defs` pass.
 - Implement `properties` pass partially.
2021-05-21 15:57:17 +09:00
강동윤
24bd5ea4a4
fix(es): Fix various bugs (#1680)
swc_ecma_parser:
 - Allow a class member named `declare`. (#1671)

swc_ecma_transforms_optimization:
 - Preserve side effects while inlining array index operations. (#1674)

wasm/web: 
 - Fix ci script. (#1675)
2021-05-11 16:29:29 +00:00
강동윤
9585500476
fix(es/transforms/base): Fix resolver (#1666)
swc_ecma_transforms_base:
 - `resolver`: Handle function declarations in arrow body.
2021-05-09 09:52:29 +00:00
강동윤
82ef06afb8
feat(babel/compat): Improve performance of babelify (#1626)
swc_babel_compat:
 - Optimize.

swc:
 - Improve performance of comment storage.
2021-05-06 14:56:54 +09:00
강동윤
5a0bacb5b8
fix(swc): Fix various bugs (#1613)
swc_ecma_codegen:
 - Fix codegen of `\x00`. (#1619)

swc_ecma_preset_env:
 - Fix order of core-js imports. (#1605)

swc_ecma_transforms_react:
 - Preserve `&nbsp;`. (#1446)

swc:
 - Upgrade dashmap. (#1616)
2021-04-28 14:49:21 +09: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
강동윤
46c3d62ebd
fix(swc): Fix bugs (#1560)
spack:
 - Ensure that #1533 is fixed. (#1533) 

swc_ecma_parser:
 - Support `async override` in classes. (#1558)

swc_ecma_transforms_compat:
 - `async_to_generator`: Preserve this in async object methods. (#1575)
 - `nullish_coaelscing`: Fix assignments. (#1570)
 - `export_namespace_from`: Preserve order of statements. (#1457)

swc:
 - Disable aes. (#1583)
2021-04-17 06:00:14 +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
강동윤
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
강동윤
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
강동윤
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
강동윤
05a90715d1 Bump version 2021-02-24 01:58:14 +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
강동윤
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
강동윤
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
LongYinan
ca417e9d59
feat(node-swc): Support windows ia32 arch (#1367) 2021-01-29 15:09:44 +09:00
강동윤
acb4f1a278 Bump versions 2021-01-23 20:54:01 +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
강동윤
4b79cbbffe Bump version 2021-01-14 22:02:37 +09:00
강동윤
b822ac8d43 Bump version 2021-01-11 19:48:08 +09:00
강동윤
031d534332 Bump version 2020-12-30 14:34:28 +09:00
LongYinan
0c45a31f31
Upgrade to napi@1 (#1244)
node-swc:
 - Support apple silicon.
 - Support linux aarch64.
 - Support linux armv7.
 - Support android aarch64.
 - Support yarn pnp.
2020-12-30 14:30:09 +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
강동윤
6a49a4b0b2 Bump version 2020-11-21 13:05:34 +09:00
강동윤
8e07d7c7a6
Bump version 2020-11-08 12:48:15 +09:00
강동윤
626c881c98
bundler: Fix ordering (#1171) 2020-10-16 22:26:18 +09:00
강동윤
f0ea70cb25
bundler: Allow importing and exporting from same module (#1152)
swc_bundler:
 - Allow importing and exporting from same module. (#1150)
2020-10-09 19:10:25 +09:00
강동윤
0586c733e3
Fix bugs (#1143)
swc_ecma_transforms:
 - fixer: Fix conditional expression in await expressions. (#1133)
 - optional_chaining: Fix call expression. (#1136)
 - hygiene: Fix codegen of computed keys. (#1140)
2020-10-06 23:27:23 +09:00
강동윤
aa9555865b
Fix bugs (#1132)
swc_ecma_transforms:
 - Handle typescript class properties correctly. (#1122)
 - Handle optional chaining properly. (#1130)
 - Inject variables for nullisn coalescing in correct scope. (#1123)
2020-10-04 21:59:19 +09:00
강동윤
1f00d9ba26
Fix jest extension (#1106) 2020-09-24 19:49:12 +09:00
강동윤
ab8df21797
Fix optional chaining in argument position (#1104) 2020-09-24 15:14:30 +09:00
강동윤
7e8ff1d342
codegen: Fix for jsx (#1097) 2020-09-22 19:56:59 +09:00
강동윤
5cf137154f Bump version 2020-09-22 16:40:02 +09:00
강동윤
4490e2551d
swc.rs (#1085)
Changes url from https://swc-project.github.io to https://swc.rs
2020-09-21 22:53:48 +09:00
강동윤
b0049c0fa6 Bump version 2020-09-18 16:10:16 +09:00
LongYinan
4795b65b10
Fix musl config (#1074) 2020-09-14 00:25:22 +09:00
강동윤
26595d97a5 Real fix 2020-09-13 21:12:53 +09:00
강동윤
d75b4004c1 Fix dep issue 2020-09-13 21:04:40 +09:00
강동윤
ddc340a352 Fix 2020-09-13 20:51:28 +09:00
강동윤
ab4eb20d48 v1.2.28 2020-09-13 20:41:28 +09:00
강동윤
0972db98a1
parser: Parse member expression is object patterns (#1068) 2020-09-12 18:39:25 +09:00
강동윤
1dd06d525d Ignore /*.node 2020-09-11 16:07:48 +09:00
강동윤
9bf0be1309 Bump version 2020-09-11 15:10:35 +09:00
강동윤
9e28088345 v1.2.24 2020-09-08 15:19:16 +09:00
강동윤
68012dada6 v1.2.23 2020-09-08 02:00:28 +09:00
LongYinan
4845e9f7fd
Fix artifacts scripts (#1044) 2020-09-07 21:58:36 +09:00
강동윤
eb2162cbd2
Fix stack overflow (#1032)
swc_ecma_codegen:
 - Fix codegen of large binary expressions.

swc_ecma_parser:
 - Fix stack overflow while parsing large binary expressions.

swc_ecma_transforms:
 - typescrip::strip: Fix stack overflow while handling large binary operations.
 - hygiene: Fix stack overflow by migrating it to `VisitMut`.
 - hygiene: Improve performance.
 - fixer: Fix stack overflow by migrating it to `VisitMut`.
 - resolver: Migrate to `VisitMut`.
2020-09-06 15:09:02 +09:00
LongYinan
c0cb9e4401
Upgrade to napi-rs@0.3 cli (#1033) 2020-09-05 17:48:22 +09:00
강동윤
6524802ae5
fixer: Handle binary expression in callee of new (#1030) 2020-09-04 17:31:02 +09:00
강동윤
a60b0a9cd4 v1.2.22 2020-08-30 18:02:48 +09:00
강동윤
c1676c9d99
v1.2.22-alpha.2 (#1014)
- Fix prepublish script
2020-08-30 16:50:27 +09:00
강동윤
8e237288d7
Migrate to napi (#1009) 2020-08-30 15:29:42 +09:00
강동윤
0a83809b2a
Improve type resolver (#994) 2020-08-24 18:48:54 +09:00
강동윤
598705882a Bump version 2020-08-24 11:19:10 +09:00
강동윤
655fc12fcb
Make spack respect swcrc (#964) 2020-08-14 21:02:39 +09:00
강동윤
2fedf32747
swc_bundler (#943)
swc_bundler:
 - Splitted from spack

swc_ecma_parser:
 - Fix unexpected eof problem which occurs if log level is trace

swc_ecma_transforms:
 - Fix bugs of dce pass

spack:
 - Support cyclic dependencies
2020-08-12 22:18:47 +09:00
LongYinan
4ab3c58f6a
Strip TypeScript class properties without value assigned (#956)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-11 01:58:45 +09:00
LongYinan
dde9defbe4
Fix typescript strip in class properties pass (#954)
Co-authored-by: 강동윤 <kdy1997.dev@gmail.com>
2020-08-10 20:33:25 +09:00
강동윤
e1f5d681e3
Fix typescript class properties pass (#951) 2020-08-10 01:22:15 +09:00