Commit Graph

255 Commits

Author SHA1 Message Date
Donny/강동윤
e70c9d8f22
fix(es/minifier): Don't remove comments if compress is not configured (#3866) 2022-03-05 10:01:55 +00:00
SWC Bot
3de647a50a chore: Publish crates 2022-03-05 07:58:10 +00:00
SWC Bot
add86a7e6a chore: Publish crates 2022-03-05 06:48:00 +00:00
SWC Bot
db2a05fa55 chore: Publish crates 2022-03-04 02:11:24 +00:00
Donny/강동윤
260c2a885e
feat(es/minifier): Implement more rules (#3841)
swc_ecma_minifier:
 - `conditionals`: Preserve a conditional expression if test is not resolved.
 - `unsafe_arrows`: Optimize an anonymous function expression as an arrow expression.
 - `unsafe_methods`: Optimize a method property where the only statement is return to an arrow expression.
2022-03-04 02:09:15 +00:00
SWC Bot
8c5067f510 chore: Publish crates 2022-03-03 22:01:08 +00:00
Donny/강동윤
0fc819e2ef
fix(es/minifier): Support declaring multiple bindings with the same name (#3837) 2022-03-04 06:58:39 +09:00
SWC Bot
5f8f114b62 chore: Publish crates 2022-03-04 05:26:32 +09:00
SWC Bot
b9756596ae chore: Publish crates 2022-03-03 19:20:31 +00:00
Donny/강동윤
364532e9a7
feat(es/minifier): Improve sequential inlining (#3820) 2022-03-03 19:18:43 +00:00
SWC Bot
4a38e93efc chore: Publish crates 2022-03-03 16:37:49 +00:00
Donny/강동윤
efc67417a5
feat(config): Add a dedicated cached regex (#3832) 2022-03-03 16:35:41 +00:00
Donny/강동윤
351b814ed0
perf(es): Use Mutex from parking_lot (#3830) 2022-03-03 14:26:49 +00:00
Donny/강동윤
043fba274e
fix(es/hygiene): Fix renaming bugs (#3824) 2022-03-03 06:21:13 +00:00
Donny/강동윤
8a468f7544
fix(es/minifier): Don't reorder unnecessarily (#3817) 2022-03-02 08:57:50 +00:00
SWC Bot
6ba3c1bf3b chore: Publish crates 2022-03-02 07:15:46 +00:00
Donny/강동윤
89388e6ac3
fix(es/minifier): Preserve more variables (#3805) 2022-03-02 07:13:57 +00:00
SWC Bot
5667316f12 chore: Publish crates 2022-03-02 06:48:09 +00:00
Donny/강동윤
789eb7baa9
feat(es/minifier): Drop more function parameters in strict mode (#3814) 2022-03-02 06:41:11 +00:00
Austaras
e1b13eb21a
feat(es/codegen): Optimize output of new expressions without arguments (#3800) 2022-03-01 10:55:49 +00:00
SWC Bot
1a79eb984e chore: Publish crates 2022-03-01 09:58:04 +00:00
Donny/강동윤
8beaa202e2
fix(es/minifier): Fix optimizations of terminating expressions (#3794) 2022-03-01 09:55:45 +00:00
SWC Bot
bfc31c4bd1 chore: Publish crates 2022-02-28 16:33:26 +00:00
Donny/강동윤
73cab638a1
fix(es/minifier): Preserve unresolved references (#3780)
swc_ecma_minifier:
 - `pure`: Add an optional list of bindings.
 - `pure`: Drop identifier only if we have the complete list of bindings.
 - `pure`: Allow using `GLOBALS`.
 - `pure`: Drop some pure member expressions.
 - Move identifier dropping logic from the stateful optimizer to the pure optimizer.
 - `pure`: Drop more references to global declarations.
2022-02-28 16:31:13 +00:00
SWC Bot
a26edd2b0f chore: Publish crates 2022-02-28 13:53:22 +00:00
Donny/강동윤
86072b57f9
test(es/minifier): Prepare porting more rules from terser (#3779) 2022-02-28 13:49:10 +00:00
SWC Bot
1d0c5f600b chore: Publish crates 2022-02-28 13:01:51 +00:00
Donny/강동윤
714e05e553
feat(es/minifier): Consider arguments while dropping unused assignments (#3775)
swc_ecma_minifier:
 - `analyze`: Track usage of `arguments`.
2022-02-28 21:57:09 +09:00
SWC Bot
ca10ae1cd7 chore: Publish crates 2022-02-28 12:09:30 +00:00
Donny/강동윤
cfc036381a
fix(es/minifier): Fix inlining logic (#3776)
swc_ecma_minifier:
 - Make `inline_vars_in_node` use `MultiReplacer`.
2022-02-28 12:07:12 +00:00
SWC Bot
ba3fdad025 chore: Publish crates 2022-02-28 07:43:17 +00:00
Donny/강동윤
e7f7f69db4
fix(es/minifier): Disable some operations for asm.js codes (#3572) 2022-02-28 07:40:04 +00:00
Donny/강동윤
3798436201
chore: Update rustc (#3768) 2022-02-28 16:12:28 +09:00
SWC Bot
4fe874dd77 chore: Publish crates 2022-02-26 15:11:21 +00:00
Donny/강동윤
3d944656bf
refactor(es): Make compilation faster (#3749) 2022-02-26 06:41:14 +00:00
SWC Bot
2ab150c603 chore: Publish crates 2022-02-26 12:11:27 +09:00
Donny/강동윤
47ccff8a7c
feat(es/parser): Provide more api for reducing binary size (#3747) 2022-02-26 09:29:05 +09:00
SWC Bot
9a4e961b2b chore: Publish crates 2022-02-25 19:50:18 +00:00
SWC Bot
8f1aef47d4 chore: Publish crates 2022-02-25 06:10:45 +00:00
OJ Kwon
a454996314
feat(node-swc): Add experimental trace support in @swc/core (#3731) 2022-02-25 04:06:45 +00:00
SWC Bot
8c94ea9fc5 chore: Publish crates 2022-02-24 09:22:18 +00:00
Donny/강동윤
e35d73adf4
chore(clippy): Improve config (#3691) 2022-02-23 06:07:42 +00:00
SWC Bot
e4c674b9cb chore: Publish crates 2022-02-21 13:10:43 +00:00
SWC Bot
e08a2c2c17 chore: Publish crates 2022-02-21 07:15:09 +00:00
Austaras
2cb66ae075
refactor(es/ast): Change definition of optional chaining expressions (#3645) 2022-02-21 07:12:09 +00:00
SWC Bot
bea6810c08 chore: Publish crates 2022-02-21 05:36:52 +00:00
Donny/강동윤
da2c77d9af
perf(es/minifier): Parallelize join_vars (#3655) 2022-02-21 05:34:32 +00:00
SWC Bot
073ecb560c chore: Publish crates 2022-02-21 04:38:23 +00:00
Donny/강동윤
de6effc6e1
feat(es/minifier): Drop more unused vars (#3656) 2022-02-21 04:35:56 +00:00
SWC Bot
264f1cf8d6 chore: Publish crates 2022-02-20 15:53:48 +00:00
SWC Bot
4bd855274a chore: Publish crates 2022-02-20 12:10:24 +00:00
Donny/강동윤
e9fabd61e8
feat(es/minifier): Improve name mangler (#3638) 2022-02-20 12:08:26 +00:00
SWC Bot
18ae83d853 chore: Publish crates 2022-02-20 10:47:59 +00:00
Donny/강동윤
10adf1e548
feat(es/minifier): Merge exports (#3643) 2022-02-20 10:44:21 +00:00
SWC Bot
e668ff08a5 chore: Publish crates 2022-02-19 19:41:18 +09:00
Donny/강동윤
fd0e952aec
perf(es/minifier): Fix performance bug of the mangler (#3633)
swc_ecma_minifier:
 - Use a bi-directional hashmap instead of iterating all keys.
2022-02-19 10:31:54 +00:00
SWC Bot
144b2c9f9f chore: Publish crates 2022-02-19 08:42:02 +00:00
Donny/강동윤
d2c94416a8
feat(es/minifier): Treat !0 as a literal while inlining (#3631) 2022-02-19 17:33:36 +09:00
SWC Bot
a5b3dd815b chore: Publish crates 2022-02-15 16:30:56 +09:00
Donny/강동윤
bfc9897e34
fix(es/minifier): Disable name mangler if eval is used (#3526) 2022-02-15 07:29:45 +00:00
SWC Bot
7351ec2477 chore: Publish crates 2022-02-15 13:22:16 +09:00
OJ Kwon
ad6f24ad83
build(*): Dedupe once_cell (#3567) 2022-02-15 11:58:44 +09:00
SWC Bot
23544925e5 chore: Publish crates 2022-02-14 15:47:54 +09:00
Donny/강동윤
ac1d4058f2
fix(es/minifier): Fix analyzer (#3557)
swc_ecma_utils:
 - `collect_decls`: Support paramters of arrow expressions.

swc_ecma_minifier:
 - `analyzer`: Fix `has_property_mutation`.
2022-02-14 15:47:16 +09:00
Donny/강동윤
73e9185bba
test(es/minifier): Add snapshot testing for the analyzer (#3529) 2022-02-11 18:33:08 +09:00
SWC Bot
0780d892b3 chore: Publish crates 2022-02-11 17:46:34 +09:00
Donny/강동윤
a7f0e84bbf
feat(es/minifier): Drop useless assignments (#3528)
testing:
 - Allow skipping diff using an environment variable `DIFF`.

swc_ecma_minifier:
 - `pure`: Drop useless assignemnts.
2022-02-11 08:43:48 +00:00
SWC Bot
d065cb15bf chore: Publish crates 2022-02-10 21:27:43 +09:00
Donny/강동윤
8dab3d92b1
perf(es/minifier): Remove useless operations like eager call to .span() (#3512)
swc_ecma_minifier:
 - Merge variable for inlining.
 - Remove useless call to `.span()`.
2022-02-10 12:00:41 +00:00
SWC Bot
69181e822c chore: Publish crates 2022-02-10 13:55:12 +09:00
William Tetlow
5488159ba5
feat(es/minifier): Implement reserved mangle option (#3476) 2022-02-10 13:53:47 +09:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt (#3495)
swc_common:
 - Merge identical source codes.

swc_css_parser:
 - Deny `clippy::all`.
 - Fix lints.
2022-02-09 06:33:32 +00:00
Donny/강동윤
5e82640b42 chore: Publish crates 2022-02-09 13:57:21 +09:00
Donny/강동윤
8bf5cf4d03
chore(es): Fix clippy warnings (#3482) 2022-02-08 19:50:22 +09:00
Donny/강동윤
180bb86e8c chore: Publish crates 2022-02-08 19:10:54 +09:00
Donny/강동윤
292add7d26
fix(es/minifier): Make sequences less aggressive (#3480)
swc_ecma_minifier:
 - `sequences`: Abort on RHS contains the left id.
2022-02-08 19:10:22 +09:00
Donny/강동윤
0ff58d83c6 chore: Publish crates 2022-02-07 13:43:30 +09:00
Donny/강동윤
0371c41b7c
fix(es/minifier): Fix mapbox (#3463)
swc_ecma_minifier:
 - `mangler`: Handle the identifiers of class expressions correctly.
2022-02-07 13:43:00 +09:00
Donny/강동윤
f1f9c1ce4d chore: Publish crates 2022-02-07 11:12:21 +09:00
Donny/강동윤
5812c3c10f
fix(es/minifier): Fix codemirror (#3462)
swc_ecma_minifier:
 - Mark for in/of loops as executed multiple times.
 - Check captured identifiers while invoking IIFE.
2022-02-07 11:11:53 +09:00
Donny/강동윤
19e7c70bd7 chore: Publish crates 2022-02-04 13:21:41 +09:00
Alexander Akait
e8b64a9871
feat(es/codegen): Improve compression of numbers (#3425) 2022-02-03 13:04:32 +09:00
Donny
0e7d525352 chore: Publish crates 2022-01-28 16:09:16 +09:00
Donny/강동윤
91d78000ea
feat(es/minifier): Implement drop_console (#3392)
swc_ecma_minifier:
 - Merge `drop_console` into pure optimizer.
 - Implement `drop_console`. (Closes #2321)
2022-01-28 16:08:41 +09:00
Donny
6690354f79 chore: Publish crates 2022-01-28 13:43:58 +09:00
Donny/강동윤
38c2499358
fix(es/minifier): Fix evaluator (#3391) 2022-01-28 13:43:29 +09:00
Donny/강동윤
7ef3bfa5b6
refactor(es/minifier): Merge execution tests into a file to make git faster (#3377) 2022-01-27 17:41:43 +09:00
Donny
6b2f3bb8a0 chore: Publish crates 2022-01-27 15:36:55 +09:00
Donny/강동윤
68e9017376
fix(es/minifier): Improve minifier (#3350)
swc_ecma_transforms_optimization:
 - `expr_simplifier`: Track more changes.

swc_ecma_minifier:
 - Analyze after applying the pure optimizer.
 - Preserve access to a variable not in scope.
 - `compress`: Remove string literal if it was not a directive.
 - `pure/collapse_vars`: Merge vars declared in the first statement into one with initializers if `collapse_vars` and `join_vars` are enabled.
 - `unused`: Use `usage_count` instead of `ref_count`.
 - `unused`: Fix dropping rule for member expressions.
 - `unused`: Fix dropping rule for declarations.
 - `hoist_props`: Preserve exported items.
2022-01-27 15:36:22 +09:00
Donny
ac2bb9b7bd chore: Publish crates 2022-01-26 13:12:02 +09:00
Donny/강동윤
703972dc29
fix(es/minifier): Prepend/append correctly (#3367)
swc_ecma_minifier:
 - Add some assertions for injections.
 - Fix prepend/append logic of statements.
2022-01-26 13:11:26 +09:00
Donny
ad860c9a1c chore: Publish crates 2022-01-25 06:22:21 +09:00
Donny
b7c2e13237 chore: Publish crates 2022-01-24 21:11:03 +09:00
Donny/강동윤
8007b2dc93
feat(es/minifier): Handle array literals in sequences (#3348)
swc_ecma_minifier:
 - `sequences`: Implement more rules for array literals.
2022-01-24 21:10:20 +09:00
Donny
efdbda5808 chore: Publish crates 2022-01-24 00:19:56 +09:00
Donny/강동윤
6921ffbbda
fix(es/minifier): Respect block scoping while negating if statements (#3344)
swc_ecma_minifier:
 - Don't negate a if statement if it has `let`/`const` binding.
2022-01-24 00:19:33 +09:00
Donny
4ee4672e4d chore: Publish crates 2022-01-21 14:01:51 +09:00
Donny/강동윤
d52a1f3899
fix(es/minifier): Don't inline a var if the initializer is reassigned (#3333)
swc_ecma_minifier:
 - Consider reassignment to initializer while inlining a variable.
2022-01-21 14:01:20 +09:00
Donny
846a91e14c chore: Publish crates 2022-01-21 10:25:41 +09:00
Donny/강동윤
4f23d651d1
fix(es/minifier): Consider capturing while inlining (#3322)
swc_ecma_minifier:
 - Don't inline functions if it captures the environment.
2022-01-21 10:24:41 +09:00