Commit Graph

1046 Commits

Author SHA1 Message Date
Donny/강동윤
068a4087ca
chore(ci): Remove cargo-uttil from dependency (#3543) 2022-02-12 18:18:24 +09:00
Donny/강동윤
3997e2f2c5 chore: Publish v1.2.139 2022-02-12 17:04:39 +09:00
SWC Bot
1f677fdfee chore: Publish crates 2022-02-12 15:58:06 +09:00
Alexander Akait
547eba5e31
feat(css/parser): Implement more error recovery (#3534) 2022-02-12 15:57:44 +09:00
SWC Bot
5d1e2964fc chore: Publish crates 2022-02-12 15:55:13 +09:00
Donny/강동윤
fbe91963bf
fix(plugin): Allow testing (#3542) 2022-02-12 15:53:41 +09:00
OJ Kwon
72b31977e4
doc(plugin): Fix install command (#3541) 2022-02-12 15:50:50 +09:00
SWC Bot
ccf9591dad chore: Publish crates 2022-02-12 14:28:18 +09:00
Alexander Akait
cfb2248a2e
fix(css/ast): Use SimpleBlock in more types (#3535) 2022-02-12 14:28:00 +09:00
SWC Bot
0633b34397 chore: Publish crates 2022-02-12 14:27:18 +09:00
OJ Kwon
05cf2e92e6
fix(cli): Update the plugin template for pinned dependencies (#3538) 2022-02-12 14:27:04 +09:00
SWC Bot
65efef2e74 chore: Publish crates 2022-02-12 14:25:32 +09:00
OJ Kwon
a4d914dab5
chore(build): Remove version pinning of parking_lot_core (#3537) 2022-02-12 14:24:49 +09:00
SWC Bot
6637543789 chore: Publish crates 2022-02-12 13:49:09 +09:00
OJ Kwon
6ed089e1cf
feat(cli): Add a command for scaffolding a new plugin (#3536) 2022-02-12 13:48:40 +09:00
SWC Bot
90d080c16b chore: Publish crates 2022-02-12 01:37:50 +09:00
Alexander Akait
fcbc2ff03f
feat(css/parser): Implement more parser logic for nth selectors (#3532) 2022-02-11 14:07:08 +00:00
SWC Bot
9efe3c8489 chore: Publish crates 2022-02-11 22:32:15 +09:00
Alexander Akait
37c49e876c
refactor(css/ast): Unify SimpleBlock and Block completely (#3531) 2022-02-11 22:31:51 +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
Alexander Akait
57f6a581fa
refactor(css/ast): Unify SimpleBlock and Block (#3519) 2022-02-11 03:58:26 +00:00
SWC Bot
61ab85dde4 chore: Publish crates 2022-02-11 12:33:41 +09:00
Alexander Akait
69cfe395c7
feat(css/minifier): Implement more rules (#3522) 2022-02-11 12:33:08 +09: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
67c508429a chore: Publish crates 2022-02-10 20:27:33 +09:00
Alexander Akait
92a3cb9609
refactor(css/ast): Remove Tokens in favor of Vec<TokenAndSpan> (#3507) 2022-02-10 11:25:19 +00:00
SWC Bot
2a609d2951 chore: Publish crates 2022-02-10 17:35:42 +09:00
Donny/강동윤
80ed69d67d
chore(build): Disable LTO for local builds (#3514) 2022-02-10 17:35:15 +09:00
Alexander Akait
2d997b3806
refactor(css/parser): Refactor code for error recovery (#3508) 2022-02-10 07:36:29 +00:00
SWC Bot
eb3401c3b2 chore: Publish crates 2022-02-10 16:05:48 +09:00
OJ Kwon
bc250262f2
feat(plugin): implement proxy for Mark and SyntaxContext (#3511) 2022-02-10 06:57:42 +00:00
Alexander Akait
ebd71d565d
test(css/codegen): Add tests for multiple keyframe selectors (#3509) 2022-02-10 05:39:54 +00:00
SWC Bot
69181e822c chore: Publish crates 2022-02-10 13:55:12 +09:00
Alexander Akait
4e124c7bca
refactor(css/parser): Refactor codes related to simple blocks (#3506) 2022-02-10 13:54:46 +09:00
William Tetlow
5488159ba5
feat(es/minifier): Implement reserved mangle option (#3476) 2022-02-10 13:53:47 +09:00
SWC Bot
cc3b1dfd69 chore: Publish crates 2022-02-10 13:52:54 +09:00
Artur
205b76e78d
feat(es/lints): Implement no-use-before-define rule (#3456) 2022-02-10 04:52:11 +00:00
Alexander Akait
8b438ea024
test(css/parser): Add some tests from postcss (#3501) 2022-02-09 14:41:28 +00:00
SWC Bot
df37b4472d chore: Publish crates 2022-02-09 22:00:13 +09:00
Alexander Akait
cbe302b99d
feat(css): Support urange syntax (#3491) 2022-02-09 12:23:14 +00:00
SWC Bot
6c5ebbbbf8 chore: Publish crates 2022-02-09 20:37:38 +09:00
SWC Bot
d72c0beccf chore: Publish crates 2022-02-09 20:32:33 +09:00
Donny/강동윤
8fbdbcd42f chore: Publish crates 2022-02-09 20:28:02 +09:00
Artur
5bb6bd71b6
feat(es/lints): Implement dot-notation rule (#3481) 2022-02-09 11:24:58 +00:00
Donny/강동윤
8dbc949cfe chore: Publish crates 2022-02-09 19:43:50 +09:00
Alexander Akait
460f846934
refactor(css/ast): Rename types to match specification (#3484) 2022-02-09 19:43:15 +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
OJ Kwon
494b4c8203
feat(swc/plugin): Implement proxy for Mark::fresh (#3492) 2022-02-09 13:56:39 +09:00
magic-akari
fa0216d908
fix(es/modules): Hoist named exports (#3479) 2022-02-09 04:50:33 +00:00
Donny/강동윤
e8c15356e3 chore: Publish crates 2022-02-09 12:59:55 +09:00
Alexander Akait
48e5b903e2
feat(css/parser): Improve error recovery (#3486) 2022-02-09 03:49:59 +00:00
Alexander Akait
04782ae9f7
test(css/parser): Add tests from postcss (#3488) 2022-02-09 03:25:54 +00:00
Donny/강동윤
e9ceb57584 chore: Publish crates 2022-02-09 12:01:52 +09:00
RiESAEX
ff6eb272a0
fix(es/modules): Use correct StrKind after rewriting import path (#3489) 2022-02-09 12:01:22 +09:00
Donny/강동윤
12e52e171d chore: Publish v1.2.138 2022-02-09 02:10:54 +09:00
Donny/강동윤
c2a3b0d66c chore: Publish crates 2022-02-09 00:47:41 +09:00
Austaras
26565b1ae9
feat(es/parser): Disallow assignment to optional chaining expressions (#3483) 2022-02-08 12:51:26 +00:00
Donny/강동윤
cd81a6ba89 chore: Publish crates 2022-02-08 21:05:12 +09:00
Alexander Akait
dc939c65af
feat(css/ast): Add types for all dimensions (#3477) 2022-02-08 11:57:57 +00:00
Donny/강동윤
f8c62b6cac chore: Publish crates 2022-02-08 20:29:10 +09:00
Alexander Akait
fd5668c32f
feat(css): Add support for @property at-rule (#3470) 2022-02-08 11:27:54 +00: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/강동윤
484cd92959 chore: Publish crates 2022-02-08 14:06:31 +09:00
OJ Kwon
d473a65976
feat(plugin): Support global HANDLER in the plugin context (#3478) 2022-02-08 14:06:10 +09:00
Donny/강동윤
214dc4736b chore: Publish crates 2022-02-08 13:52:33 +09:00
Alexander Akait
e6f4fbf056
feat(css/ast): Add types for @counter-style at-rule (#3469) 2022-02-08 13:52:14 +09:00
Donny/강동윤
e988d1f5f5 chore: Publish crates 2022-02-08 13:41:34 +09:00
Donny/강동윤
c006972501 chore: Publish v1.2.137 2022-02-08 01:27:59 +09:00
Donny/강동윤
42918397cb chore: Publish crates 2022-02-08 01:20:34 +09:00
William Tetlow
4f5e87b66b
fix(es/compat): Fix legacy decorator pass (#3459) 2022-02-07 16:11:41 +00:00
Donny/강동윤
ec120199eb chore: Publish crates 2022-02-08 00:42:17 +09:00
Alexander Akait
df08e4cfd7
fix(css/ast): Fix type definitions for @document at-rule (#3468) 2022-02-08 00:41:56 +09:00
Donny/강동윤
0903899977 chore: Publish crates 2022-02-07 23:58:29 +09:00
Alexander Akait
0ca036a962
feat(css/codegen): Improve minification for page rules (#3467) 2022-02-07 14:54:42 +00:00
Donny/강동윤
42143f243e chore: Publish crates 2022-02-07 23:33:05 +09:00
Alexander Akait
81850c2b30
feat(css/codegen): Implement minification of identifiers (#3466) 2022-02-07 14:29:38 +00:00
Donny/강동윤
1234fac4d5 chore: Publish crates 2022-02-07 23:04:39 +09:00
Donny/강동윤
b06a5abe58 chore(es/lints): Fix CI 2022-02-07 23:03:08 +09:00
Donny/강동윤
7b9379e1d1 chore: Publish crates 2022-02-07 21:35:06 +09:00
Alexander Akait
69660fd161
refactor(css/ast): Remove unused types (#3465) 2022-02-07 21:34:41 +09:00
Donny/강동윤
02c401830d chore: Publish crates 2022-02-07 17:12:43 +09:00
Artur
5d6143a53c
feat(es/lints): Implement linter for quotes of string literals (#3443) 2022-02-07 08:12:14 +00: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/강동윤
5276054df3 chore: Publish crates 2022-02-07 06:43:46 +09:00
Alexander Akait
4853821d00
fix(css): Fix parsing of @page at-rule (#3356) 2022-02-06 20:22:30 +00:00
Donny/강동윤
92116f6133 chore: Publish crates 2022-02-07 04:46:44 +09:00
Alexander Akait
e732250cdf
fix(css/parser): Report errors of at-rules (#3461) 2022-02-06 17:06:32 +00:00
Donny/강동윤
bd34a84d56 chore: Publish crates 2022-02-06 13:44:50 +09:00
Alexander Akait
cd87d965f3
refactor(css/ast): Refactor types related to selectors (#3460) 2022-02-06 04:24:51 +00:00
Donny/강동윤
be7d5cc4d5 chore: Publish crates 2022-02-05 23:23:09 +09:00
Alexander Akait
38879de8de
refactor(css/ast): Change AST for !important (#3440) 2022-02-05 23:22:47 +09:00
Donny/강동윤
bfada04b33 chore: Publish crates 2022-02-05 17:39:30 +09:00
magic-akari
032f397b52
fix(es/fixer): Handle more expressions in the super class position (#3452) 2022-02-05 17:38:48 +09:00
Alexander Akait
479b509845
test(css/parser): Add more tests for the selector parser (#3455) 2022-02-05 06:22:32 +00:00
Donny/강동윤
38e2ffb929 chore: Publish crates 2022-02-05 14:49:39 +09:00
RiESAEX
745604b26d
fix(es/modules): Allow using a dynamic import with an expression from another import (#3450) 2022-02-05 14:49:13 +09:00
Donny/강동윤
dc5fe85f7d chore: Publish crates 2022-02-05 14:48:36 +09:00
Alexander Akait
eeedd71705
feat(css/codegen): Implement minification of hex colors (#3453) 2022-02-05 05:02:10 +00:00
Donny/강동윤
454d07d973 chore: Publish crates 2022-02-04 20:21:02 +09:00
Donny/강동윤
397a96a1cf
test(es/parser): Fix crlf (#3451) 2022-02-04 20:17:42 +09:00
Donny/강동윤
e5b22cc3d8 chore: Publish crates 2022-02-04 17:54:47 +09:00
Donny/강동윤
5a806c5b81
fix(es/parser): Fix parsing of decorators (#3449)
swc_ecma_parser:
 - Parse decorators using `parse_subscripts`.
2022-02-04 17:54:03 +09:00
Donny/강동윤
8b7c38c80c
test(es): Update tsc test suite (#3448) 2022-02-04 17:08:38 +09:00
Donny/강동윤
802842561e chore: Publish crates 2022-02-04 16:47:02 +09:00
Artur
8166275166
feat(es/lints): Implement prefer-regex-literals (#3399) 2022-02-04 16:46:34 +09:00
Donny/강동윤
d7c2d0561b chore: Publish crates 2022-02-04 14:14:08 +09:00
Donny/강동윤
2af5096e83
fix(es/resolver): Fix handling of for statements (#3446)
swc_ecma_transforms_base:
 - `resolver`: Visit the body of a for statement in a nested visitor.
2022-02-04 14:13:32 +09:00
Donny/강동윤
811ac08d32 chore: Publish crates 2022-02-04 14:12:11 +09:00
Alexander Akait
5c1b02182d
refactor(css/ast): Refactor types related to @keyframes at-rule (#3441) 2022-02-04 05:10:35 +00:00
Donny/강동윤
19e7c70bd7 chore: Publish crates 2022-02-04 13:21:41 +09:00
RiESAEX
cc185f01cb
feat(es/parser): Add an option to allow super outside of class methods (#3427) 2022-02-04 13:21:16 +09:00
Donny/강동윤
dc92beb038 chore: Publish crates 2022-02-04 13:06:57 +09:00
Alexander Akait
49564d9b5d
feat(css/ast): Improve types related to url tokens (#3444) 2022-02-04 04:05:44 +00:00
Donny/강동윤
51f2202e9e chore: Publish crates 2022-02-04 12:34:05 +09:00
magic-akari
3bb2a6ccca
fix(es/compat): Handle initializer hole in array patterns (#3442) 2022-02-04 12:33:19 +09:00
Donny/강동윤
e732ac9621 chore: Publish crates 2022-02-04 12:30:40 +09:00
Alexander Akait
f1410fc09b
feat(css/lexer): Implement error recovery for functions (#3445) 2022-02-04 12:29:56 +09:00
Donny/강동윤
283486dcd7 chore: Publish crates 2022-02-03 17:56:51 +09:00
Austaras
01500a54e0
fix(es/compat): Handle private fields in nested classes (#3431) 2022-02-03 08:54:30 +00:00
Donny/강동윤
2ea81db19f chore: Publish crates 2022-02-03 15:36:30 +09:00
Donny/강동윤
d659c7f73c chore: Publish v1.2.136 2022-02-03 15:21:13 +09:00
Donny/강동윤
b64fcaa69d chore: Publish crates 2022-02-03 15:19:43 +09:00
Donny/강동윤
ea8dfd872c
fix(es/codegen): Fix bugs (#3436)
swc_ecma_codegen:
 - Emit `;` after do-while statemnts. (#3426)
 - Don't emit two dots for minified numeric literals. (#3428)
 - Handle semicolons correctly. (#3420)
2022-02-03 15:19:13 +09:00
Donny/강동윤
9e4cea017c
test(swc): Add tests (#3435) 2022-02-03 13:40:10 +09:00
Donny/강동윤
6c9b311881 chore: Publish crates 2022-02-03 13:14:20 +09:00
Alexander Akait
e8b64a9871
feat(es/codegen): Improve compression of numbers (#3425) 2022-02-03 13:04:32 +09:00
Alexander Akait
73efd72cbe
test(css/codegen): Verify AST is not broken after minification (#3430) 2022-02-03 12:50:13 +09:00
Donny/강동윤
de4ae1b4e9 chore: Publish crates 2022-02-02 23:46:36 +09:00
Artur
5cbe4fe512
feat(es/lints): Add no-alert and a feature gate (#3394)
swc_ecma_lints:
 - Implement `no-alert`
 - Add a feature gate for non-critical rules.
2022-02-02 14:43:46 +00:00
Donny
b509341fea chore: Publish crates 2022-02-02 13:00:00 +09:00
Alexander Akait
340844ae6e
feat(css/codegen): Improve minification of numbers (#3423) 2022-02-02 12:59:39 +09:00
Donny
b104fd3db0 chore: Publish crates 2022-02-01 22:45:54 +09:00
Donny/강동윤
2c99ca1bab
fix(es/modules): Fix span of imports (#3418)
swc_ecma_transforms_module:
 - `common_js`: Use original span with the syntax conext of an import specifier.
2022-02-01 22:37:42 +09:00
Donny
2504f041f7 chore: Publish crates 2022-02-01 22:37:11 +09:00
Alexander Akait
30c29a30cf
feat(css): Improve codegen where minify: true (#3414)
swc_css_codegen:
 - Improve minification.

swc_css_parser:
 - Add parsing rule for `sum`.
2022-02-01 12:30:44 +00:00
Donny
7af45d89b1 chore: Publish crates 2022-02-01 04:21:53 +09:00
Alexander Akait
1b1cae0372
feat(css/parser): Improve parsing of math functions (#3415) 2022-02-01 04:20:45 +09:00
Donny
bf7f4a4b37 chore: Publish crates 2022-01-31 14:59:57 +09:00
Alexander Akait
eeedd9adf5
refactor(css/ast): Rename property to name (#3410) 2022-01-31 05:02:30 +00:00
Donny
43ca078eda chore: Publish crates 2022-01-31 13:20:27 +09:00
Alexander Akait
6b921cac02
refactor(css/ast): Use Color instead of HashValue (#3411) 2022-01-31 03:10:37 +00:00
Donny
6ec667463f chore: Publish crates 2022-01-30 22:49:41 +09:00
Alexander Akait
75a14f98b7
fix(css): Allow empty @media at-rule (#3404) 2022-01-30 22:49:09 +09:00
Donny
a143e96931 chore: Publish crates 2022-01-30 21:31:21 +09:00
Alexander Akait
1904944bf7
refactor(css/ast): Use Dimension instead of UnitValue (#3401) 2022-01-30 12:15:05 +00:00
Donny
db674354d3 chore: Publish crates 2022-01-30 14:04:12 +09:00
Alexander Akait
2dc31d9d14
feat(css/ast): Add / to the delimiters (#3402) 2022-01-30 04:49:48 +00:00
Donny
b28b636986 chore: Publish crates 2022-01-30 13:14:38 +09:00
Alexander Akait
3c8d985a07
fix(css/parser): Fix bugs related to url (#3403) 2022-01-30 04:10:58 +00:00
Alexander Akait
64383e385c
test(css/codegen): Add more tests (#3405) 2022-01-30 12:37:21 +09:00
Donny
a94f1ddb6f chore: Publish crates 2022-01-30 12:36:38 +09:00
Artur
9dec9236f7
feat(es/lints): Implement no-debugger rule (#3398) 2022-01-30 03:33:46 +00:00
Donny
7de339530c chore: Publish crates 2022-01-30 11:59:53 +09:00
Alexander Akait
3ded88bffc
fix(css/parser): Fix parser logic related to case insensivity (#3382) 2022-01-30 11:59:20 +09:00
Donny
930a1c2405 chore: Publish crates 2022-01-29 13:37:17 +09:00
Donny/강동윤
cebc5dc148
fix(swc): Run resolver before everything (#3400)
swc:
 - Use `ts_resolver` for typescript. This is required to handle decorators properly.
 - Apply `resolver` before creating custom passes.
2022-01-29 13:36:34 +09:00
Donny
c49ffc2c8b chore: Publish crates 2022-01-29 12:10:57 +09:00
Alexander Akait
b31619d48e
refactor(css/ast): Refactor delimited values (#3397) 2022-01-29 12:10:29 +09:00
Donny/강동윤
74b433080b
refactor(es/minifier): Remove unused crates (#3395) 2022-01-28 20:17:08 +09:00
Donny/강동윤
839d0ac480
refactor(es/parser): Flatten tests to make git faster (#3393) 2022-01-28 19:11:30 +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
e215e077ef chore: Publish crates 2022-01-28 15:37:22 +09:00
RiESAEX
1dcc188dd8
fix(es/modules): Allow using dynamic import with a name from another import (#3390) 2022-01-28 06:36:20 +00: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
3eaebdf479 chore: Publish crates 2022-01-28 01:14:47 +09:00
magic-akari
9eb77738fd
fix(es/compat): Add the missing span in optional_chaining (#3384) 2022-01-28 01:14:09 +09:00
Donny
2cdd4300cf chore: Publish crates 2022-01-28 01:13:16 +09:00
Alexander Akait
c73835bfeb
feat(css/parser): Improve selector parser (#3386) 2022-01-28 01:11:26 +09:00
Donny/강동윤
78e83a386b
chore(repo): Add clippy to git push hook (#3383) 2022-01-28 00:22:43 +09:00
Donny
33d906caf3 chore: Publish crates 2022-01-27 21:45:13 +09:00
Alexander Akait
0537ef1a11
feat(css/codegen): Implement minify: true (#3369) 2022-01-27 21:44:38 +09:00
Donny/강동윤
0359deb484
perf(node-swc): Speed up parse and parseFile (#3380)
node-swc:
 - Use a worker thread for json serialization.
2022-01-27 19:01:58 +09:00
Donny
3c50e82193 chore: Publish crates 2022-01-27 19:00:30 +09:00
Donny
3bda85e303 chore: Publish v1.2.135 2022-01-27 17:42:57 +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
3a238df25a chore: Publish crates 2022-01-27 16:29:12 +09:00
Pig Fang
d3d754bd17
feat(es/preset-env): Upgrade browserslist-rs (#3375) 2022-01-27 07:00:35 +00: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
bcc3ae86ae chore: Publish crates 2022-01-26 20:39:45 +09:00
Artur
987213797f
feat(es/lints): Implement "no-console" rule (#3269)
swc_ecma_lints:
 - Add types for general configuration.
 - Add `no-console`rule.

swc:
 - Expose the lint config via `jsc.lints`.
2022-01-26 20:39:19 +09:00
Donny
8a0ebebb08 chore: Publish crates 2022-01-26 20:37:51 +09:00
Donny
316d4762c3 chore: Publish crates 2022-01-26 20:36:44 +09:00
Alexander Akait
dfa0286aca
feat(css/ast): Add types for dashed identifiers and @color-profile at-rules (#3364) 2022-01-26 20:35:49 +09:00
Donny
fb299a3bb1 chore: Publish crates 2022-01-26 13:47:13 +09:00
Alexander Akait
50521d8ffa
feat(css/parser): Improve parsing of urls (#3362) 2022-01-26 04:45:49 +00: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
14e87d3a95 chore: Publish crates 2022-01-26 01:31:13 +09:00
Alexander Akait
6fc7562686
refactor(css/ast): Rename PercentValue to Percent (#3363) 2022-01-25 14:44:28 +00:00
Donny
a5ba590450 chore: Publish crates 2022-01-25 22:51:07 +09:00
Alexander Akait
7787f90da0
refactor(css/ast): Fix type definitions related to @import at-rule (#3351) 2022-01-25 22:50:23 +09:00
Donny
74b0624c0c chore: Publish v1.2.134 2022-01-25 17:28:37 +09:00
Donny
4a4cb731be chore: Publish crates 2022-01-25 17:24:18 +09:00
Donny/강동윤
b1a8db6194
fix(es/block-scoping): Pop scope correctly on early returns (#3360)
swc_ecma_transforms_compat:
 - `block_scoping`: Pop scope even on fast-path.
2022-01-25 17:22:58 +09:00
OJ Kwon
a8debc17f6
feat(plugin): Pass host context to plugins for diagnostics emission (#3359) 2022-01-25 08:13:39 +00:00
Donny
27a8bf5104 chore: Publish crates 2022-01-25 14:48:41 +09:00
Yunfei He
fcb7288eb6
feat(es/codegen): Emit comments of Module and Script (#3358) 2022-01-25 14:48:03 +09:00
Donny
ad860c9a1c chore: Publish crates 2022-01-25 06:22:21 +09:00
RiESAEX
afdb168aad
fix(es/loader): Add an option to resolve symlinks with true as a default (#3340) 2022-01-24 21:21:06 +00:00
Donny
29f3446df1 chore: Publish crates 2022-01-25 05:57:14 +09:00
Austaras
29aaac1f15
fix(es/compat): Handle nested functions in private_field (#3355) 2022-01-24 20:55:43 +00:00
Donny
df2ca10cb6 chore: Publish crates 2022-01-25 05:22:20 +09:00
Alexander Akait
c7e5faea5c
feat(css/ast): Add Ratio, which is defined by spec (#3335) 2022-01-24 14:27:10 +00:00
Donny
79ab4d6138 chore: Publish crates 2022-01-24 22:07:14 +09:00
Donny/강동윤
d9dc2b99dd
fix(swc): Respect jsc.experimental.keepImportAssertions (#3352)
swc:
 - Fix `Merge` impl of `JscExperimental`.
2022-01-24 22:06:17 +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
OJ Kwon
438649818f
refactor(plugin): Remove multivalue polyfill (#3346) 2022-01-24 15:13:30 +09:00
Donny
2d26041d1d chore: Publish crates 2022-01-24 15:11:53 +09:00
Sosuke Suzuki
d1c90a4e5f
feat(es/bugfix): Add bugfix-safari-id-destructuring-collision-in-function-expression (#3109) 2022-01-24 05:48:52 +00: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
ffe793660d chore: Publish crates 2022-01-23 21:22:03 +09:00
Alexander Akait
c664eafdef
refactor(css/ast): Merge several kinds of blocks into a single type (#3336) 2022-01-22 14:10:25 +00:00
Donny
c977ce3ed1 chore: Publish crates 2022-01-22 17:11:56 +09:00
magic-akari
da709fe3d3
fix(es/typescript): Handle typescript enums with string values (#3339) 2022-01-22 08:10:59 +00:00
padorang684
b2bf38d025
fix(es/module): Remove .jsx file extension (#3334) 2022-01-21 14:10:33 +00:00
Donny
919c49b78b chore: Publish crates 2022-01-21 22:33:10 +09:00
Alexander Akait
9f3806029c
fix(css): Fix @supports at-rule (#3329) 2022-01-21 22:32:49 +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
29985df91d chore: Publish crates 2022-01-21 11:46:07 +09:00
Alexander Akait
f89ffa67ae
fix(css): Fix @keyframes at-rule (#3331) 2022-01-21 01:55:49 +00: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
Donny
57e79b6fce chore: Publish crates 2022-01-21 10:03:21 +09:00
Alexander Akait
34943ffa15
fix(css): Fix the type definition of @support at-rules (#3330) 2022-01-21 00:57:29 +00:00
Donny
af53b9487f chore: Publish crates 2022-01-20 23:57:38 +09:00
magic-akari
6d1ad368ac
fix(es/compat): Fix regression of destructuring (#3326) 2022-01-20 14:46:58 +00:00
Donny
2cc852a0b5 chore: Publish crates 2022-01-20 23:19:23 +09:00
Alexander Akait
506a31078a
fix(css/parser): Fix parsing of at rules (#3328) 2022-01-20 14:15:36 +00:00
LongYinan
8a76935ca2
perf(node): Avoid cloning options (#3325) 2022-01-20 10:47:37 +00:00
Donny
faacce3246 chore: Publish crates 2022-01-20 18:34:36 +09:00
Donny
848e9c8b8a chore: Publish v1.2.133 2022-01-20 17:13:10 +09:00
Donny
e2424af430 chore: Publish crates 2022-01-20 16:10:32 +09:00
Donny
f62e6312d5 chore: Publish crates 2022-01-20 16:07:42 +09:00
Donny/강동윤
57204e39cd
fix(es/minifier): Don't inline functions used as arguments (#3320)
swc_ecma_minifier:
 - Preserve a variable initialized with a function expression if it's used as an argument.
2022-01-20 16:06:23 +09:00
Donny
e0c362b978 chore: Publish v1.2.132 2022-01-20 12:04:05 +09:00
Donny
cb50328d85 chore: Publish crates 2022-01-20 11:58:57 +09:00
Alexander Akait
0723ee2828
fix(css): Fix parsing of media queries (#3318)
Co-authored-by: Donny/강동윤 <kdy1997.dev@gmail.com>
2022-01-20 02:57:24 +00:00
LongYinan
9608605772
build(node-swc): Fix GLIBC < 2.18 compatible issues and android arm binary loading issue (#3314) 2022-01-20 02:21:24 +00:00
Donny
1bd01b4829 chore: Publish crates 2022-01-20 10:34:54 +09:00
David Campion
5af79f634b
doc(repo): Update contributing docs (#3298) 2022-01-20 10:08:28 +09:00
Donny
ca2598391c chore: Publish v1.2.131 2022-01-19 23:33:01 +09:00
Donny
11aac9b89f chore: Publish crates 2022-01-19 23:17:46 +09:00
Donny/강동윤
b4d21bf077
fix(es/minifier): Prevent infinite loop due to negation (#3310)
swc_ecma_minifier:
 - Don't mark as modified while negating.
2022-01-19 23:17:17 +09:00
Donny
70ce6a0e32 chore: Publish crates 2022-01-19 23:12:32 +09:00
Austaras
9e636c7e58
refactor(es): Add visit_obj_and_computed macro (#3304) 2022-01-19 23:11:52 +09:00
Donny
b4f268fa23 chore: Publish crates 2022-01-19 17:39:58 +09:00
Donny/강동윤
1aa494b1c0
fix(es/minifier): Fix logic for checking arguments (#3313)
swc_ecma_minifier:
 - Don't mark `arguments` in nested scope as a inline blocker.
2022-01-19 17:39:24 +09:00
Donny
4966af8273 chore: Publish crates 2022-01-19 16:38:33 +09:00
Donny/강동윤
289122009b
refactor(es/minifier): Fix clippy warnings (#3312) 2022-01-19 16:37:55 +09:00
Donny
173a3a2ac9 chore: Publish crates 2022-01-19 13:25:21 +09:00
Donny/강동윤
18cd98e54c
doc(swc): Document typescript::strip (#3305) 2022-01-19 13:24:35 +09:00
Donny
dca1c919c2 chore: Publish crates 2022-01-18 20:52:56 +09:00
Donny/강동윤
8e796cdc0a
fix(es/minifier): Don't emit invalid code (#3302)
swc_ecma_minifier:
 - Add lots of debug assertions for invalid codes.
 - Remove all invalid AST nodes eagerly.
 - `pure`: Normalize `PatOrExpr`.
 - `analyzer`: Handle `PatOrExpr` correctly.
2022-01-18 20:52:21 +09:00
Donny
1e4bf76c2b chore: Publish crates 2022-01-18 16:46:13 +09:00
Donny/강동윤
210ecf83bb
feat(es/minifier): Drop more expressions from parallel optimizer (#3303)
swc_ecma_minifier:
 - `pure`: Implement more rule for dropping useless expressions.
2022-01-18 16:45:47 +09:00
Donny
cea7d21ca4 chore: Publish crates 2022-01-18 12:52:37 +09:00
Donny/강동윤
18a11d7c8f
fix(es/minifier): Remove more side-effect-free expressions. (#3301)
swc_ecam_minifier:
- `pure`: Drop more binary expressions.
- `pure`: Drop more literals.
2022-01-18 12:51:31 +09:00
Donny
3d7d96588e chore: Publish crates 2022-01-18 12:26:37 +09:00
OJ Kwon
c6ffdc8717
feat(plugin): Add PluginError (#3300) 2022-01-18 12:26:04 +09:00
Donny
5a08327784 chore: Publish crates 2022-01-18 11:30:19 +09:00
asquared31415
641265b147
fix(common): Use siphasher directly and upgrade transitive dependencies to avoid UB (#3299) 2022-01-18 11:29:53 +09:00
Donny
d7964dd547 chore: Publish crates 2022-01-17 22:42:52 +09:00
Donny
ba4083959f chore: Publish crates 2022-01-17 22:41:25 +09:00
Austaras
89235b8294
fix(es/compat): Apply static_blocks before class_properties (#3292) 2022-01-17 13:20:02 +00:00
Donny
be33d20baf chore: Publish crates 2022-01-17 16:18:53 +09:00
Donny/강동윤
9a898951bc
fix(es/resolver): Ignore names of jsx attributes (#3289)
swc_ecma_transforms_base:
 - Ignore names of jsx attributes. (Closes #2854)
2022-01-17 16:18:07 +09:00
Donny
d696c324fb chore: Publish crates 2022-01-17 16:05:12 +09:00
Satish Srinivasan
2352920889
feat(es/compat): Use remove useless source map entries generated by classes (#3242) 2022-01-17 06:48:31 +00:00
Donny
a424ac30ed chore: Publish crates 2022-01-17 15:17:30 +09:00
Donny/강동윤
fa5c063144
fix(es/minifier): Inline into interpolations in tagged template literals (#3287)
swc_ecma_minifier:
 - Inline into tagged template literals. (Closes #2923)
2022-01-17 15:17:01 +09:00
Donny
023fc956ae chore: Publish crates 2022-01-17 14:30:25 +09:00
Donny/강동윤
b55ae4b312
fix(es/minifier): Fix analysis of unary expressions (#3286)
swc_ecma_minifier:
 - Mark update as usage and assignment. (Closes #3265)
2022-01-17 14:28:35 +09:00
Donny
a282146f7f chore: Publish v1.2.130 2022-01-17 13:38:10 +09:00
Donny
681de03e4b chore: Publish crates 2022-01-17 13:36:00 +09:00
Austaras
90a62bb215
refactor(es/utils): Merge the super field visitor with FnEnvHoister (#3279) 2022-01-17 13:35:32 +09:00
Donny
7ff5f0f9f2 chore: Publish crates 2022-01-17 00:22:39 +09:00
RiESAEX
b76d1da699
fix(es/transforms): Handle template literals within jsonify pass (#3282) 2022-01-16 14:57:12 +00:00
Donny
0955c3646b chore: Publish crates 2022-01-16 23:32:02 +09:00
Niklas Mischkulnig
162c1fe047
fix(es/transforms): Remove unsafe new String("...") optimization (#3284) 2022-01-16 23:31:08 +09:00
Donny
7ec6e94cb0 chore: Publish crates 2022-01-16 16:58:21 +09:00
Donny/강동윤
9dd0647e3a
feat(es/ast): Improve AST api for plugin authors (#3281)
swc_ecma_ast:
 - Improve API for AST creation.
2022-01-16 16:56:41 +09:00
Donny/강동윤
e8670b3383
refactor(es): More fix for clippy (#3280) 2022-01-16 14:33:06 +09:00
Donny
2ec540da35 chore: Publish crates 2022-01-16 04:22:00 +09:00
RiESAEX
6406b49df2
fix(es/parser): Throw an error when function body has use strict and paramaters is not simple (#3278) 2022-01-16 04:21:02 +09:00
Donny
d396c32fe5 chore: Publish crates 2022-01-15 21:56:36 +09:00