Commit Graph

1119 Commits

Author SHA1 Message Date
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
Donny/강동윤
88a258a5fb
fix(es/react): Fix createElement (#3277)
swc_ecma_transforms_react:
 - Fix arguments passed to `_createElement`. (https://github.com/vercel/next.js/issues/33291)
2022-01-15 21:55:58 +09:00
Donny
a4e93eb2df chore: Publish crates 2022-01-15 17:20:51 +09:00
magic-akari
f4b3cb714a
fix(es/resolver): Treat a switch statement as a block scope (#3275) 2022-01-15 17:20:17 +09:00
Donny/강동윤
357a350390
refactor(*): Cleanup (#3274) 2022-01-15 16:43:34 +09:00
Donny/강동윤
2690742db0
refactor(es/transforms): Cleanup (#3273) 2022-01-15 15:36:40 +09:00
Donny
9b98ada0d2 chore: Publish crates 2022-01-15 14:11:49 +09:00
OJ Kwon
66d1a92635
feat(plugin/runner): Free allocated memory on errors (#3270) 2022-01-15 05:10:19 +00:00
OJ Kwon
a4c497464d
feat(plugin/runnner): Support wasm32-wasi targets (#3271) 2022-01-15 04:40:00 +00:00
Donny
6ad418339e chore: Publish crates 2022-01-14 23:14:37 +09:00
RiESAEX
d3cc488ac1
feat(es/compat): Use var for _len and args in rest parameters (#3267) 2022-01-14 14:13:42 +00:00
Donny
8753f8cfc7 chore: Publish crates 2022-01-14 20:24:12 +09:00
Alexander Akait
c195335012
feat(css): Support @layer at-rule (#3258) 2022-01-14 11:21:41 +00:00
Donny
235a849485 chore: Publish crates 2022-01-14 16:38:01 +09:00
Donny/강동윤
efd86715c9
fix(es/minifier): Preserve side effects in correct position (#3263)
swc_ecma_minifier:
 - Add `fake_block` mark.
 - Inject statements for side effects from `visit_mut_stmt` instead of `visit_mut_stmt_likes`. (Closes #2926)
2022-01-14 16:36:48 +09:00
Donny
d03824b13d chore: Publish crates 2022-01-14 12:45:45 +09:00
Donny/강동윤
7c19e26d0f
fix(es/transforms): Fix this in async arrow class properties (#3252)
swc_ecma_transforms_compat:
 - `async_to_generator`: Fix `this` in async class properties. (https://github.com/vercel/next.js/issues/33283)
 - Add a test for #3228 (Closes #3228).
2022-01-14 12:44:34 +09:00
Donny
1f49793ac9 chore: Publish crates 2022-01-14 10:41:07 +09:00
Alexander Akait
ade8ab8c35
fix(css/lexer): Resolve a TODO (#3260) 2022-01-13 23:59:52 +00:00
Donny
c114e1b6a9 chore: Publish crates 2022-01-14 08:34:08 +09:00
mrauhu
69978518c9
fix(es/ast): Update EsVersion::latest() (#3261) 2022-01-14 08:33:38 +09:00
Donny/강동윤
15b604b6d6
refactor(*): Fix some clippy warnings (#3257) 2022-01-14 07:20:45 +09:00
Donny/강동윤
978de5943e
chore(ci): Configure clippy (#3250) 2022-01-13 23:06:11 +09:00
Donny
dc111bbcac chore: Publish crates 2022-01-13 18:42:02 +09:00
Donny/강동윤
0843f742c5
fix(swc): Remove wrong-target (#3251)
swc:
 - Remove the cargo feature `wrong-target`. (Closes #1108)
2022-01-13 18:41:34 +09:00
Donny
59651a1ff1 chore: Publish v1.2.129 2022-01-13 13:46:11 +09:00
Donny
311758572d chore: Publish crates 2022-01-13 13:42:06 +09:00
David Sherret
282232c995
fix(es/typescript): Remove rogue println (#3244) 2022-01-13 13:41:34 +09:00
Donny
c13bba8401 chore: Publish crates 2022-01-12 18:39:56 +09:00
OJ Kwon
432d5d3fb7
feat(plugin/macro): Add safe API for plugins based on a proc-macro (#3240) 2022-01-12 09:32:52 +00:00
Donny
db952ecf01 chore: Publish crates 2022-01-12 16:58:23 +09:00
Donny/강동윤
74fd353053
fix(es/minifier): Fix bugs (#3238)
swc_ecma_minifier:
 - `collapse_vars`: Respect `mutated`. (Closes #2679)
 - Add a test for https://github.com/vercel/next.js/issues/31084.
2022-01-12 16:57:54 +09:00
Donny
dc99778808 chore: Publish crates 2022-01-12 08:28:25 +09:00
Donny/강동윤
12dd0a6c1f
fix(es/minifier): Fix optimization of assignment expressions (#3231)
swc_ecma_minifier:
 - Check if the operator is `=` before optimizing assignment with a binary expression.
2022-01-12 08:26:56 +09:00
Donny
a2445e743b chore: Publish crates 2022-01-12 04:46:21 +09:00
David Sherret
105cbc2017
fix(es/parser): Fix span of ComputedPropName (#3234) 2022-01-12 04:45:52 +09:00
Donny
acfce35d77 chore: Publish crates 2022-01-11 19:37:43 +09:00
Donny/강동윤
78720c4c91
fix(es/minifier): Fix handling of inlined call to a hoisted function (#3223) 2022-01-11 19:37:06 +09:00
Donny
c5f2feaf58 chore: Publish crates 2022-01-11 19:35:28 +09:00
magic-akari
2e5150d2b7
fix(es/compat): Transform &&= operator (#3225) 2022-01-11 10:33:57 +00:00
OJ Kwon
a2f2b5ac89
feat(plugin): Don't serialize/deserialize needlessly (#3227)
swc_common:
 - Add `Serialized`.

swc_plugin_runner:
 - Accept `Serialized` instead of `Program`.
 - Pass `Serialized` from previous plugin instead of deserializing it.
2022-01-11 10:11:04 +00:00
Donny
540bc09888 chore: Publish v1.2.128 2022-01-11 16:53:04 +09:00
Donny
9a62ef21b7 chore: Publish crates 2022-01-11 16:48:26 +09:00
RiESAEX
b649d23bac
feat(es/compat): Implement object super (#3127)
swc_ecma_transforms_compat:
 - Implement object super. (Closes #2684)
2022-01-11 07:45:01 +00:00
Donny
7fbe8f644e chore: Publish crates 2022-01-11 16:15:11 +09:00
Guillaume Malette
9565149539
fix(es/modules): Fix lazy import handling (#3211)
swc_ecma_transforms_module:
 - `common_js`: Correctly track lazy imports. (Closes #3081)
2022-01-11 07:13:12 +00:00
Donny
d51904b93e chore: Publish crates 2022-01-11 14:42:17 +09:00
Donny/강동윤
1edbf1a37a
feat(es/ast): Update is-macro (#3226)
swc_ecma_ast:
 - Add `as_*` for ast enums.
2022-01-11 14:41:34 +09:00
Donny
54a0f51876 chore: Publish crates 2022-01-10 23:48:35 +09:00
Sosuke Suzuki
3fb76f64c4
feat(es/parser): Accept strings for import/exports (#3190) 2022-01-10 23:48:04 +09:00
Donny
852ec783f3 chore: Publish crates 2022-01-10 22:57:17 +09:00
Austaras
f58b50bea7
refactor(es/ast): Change types of member-like expressions (#3178)
swc_ecma_ast:
 - Split `MemberExpr` into `MemberExpr` and `SuperPropExpr`.
 - Use `Box<Expr>` for `MemberExpr.obj`.
 - Use ad-hoc type for `MemberExpr.prop`.
 - Use ad-hoc type for `SuperPropExpr.prop`.
 - Use `Callee` instead of  `ExprOrSpread` for `CallExpr`.
 - Simplify types for meta property expressions.
2022-01-10 13:54:42 +00:00
OJ Kwon
7e7421ea52
feat(plugin): Perform actual transforms in plugins (#3220) 2022-01-10 21:34:16 +09:00
Donny/강동윤
057fca4196
chore(es/minifier): Add scripts to extract tests automatically (#3212) 2022-01-10 16:59:21 +09:00
Donny
db71f7a42d chore: Publish crates 2022-01-10 15:16:55 +09:00
Donny
0d4b671052 chore: Publish crates 2022-01-10 15:05:26 +09:00
Donny
5cd352e5dd chore: Publish crates 2022-01-09 15:42:56 +09:00
Austaras
cdb46cfb91
fix(es/hygiene): Visit computed properties in usage analyzer (#3217) 2022-01-09 15:42:19 +09:00
OJ Kwon
c9ded9b720
feat(plugin): Allow multi-value for the plugin signature (#3216) 2022-01-09 15:02:56 +09:00
Donny
9e0f6958a3 chore: Publish crates 2022-01-09 01:05:51 +09:00
magic-akari
5bee4e4902
refactor(es/compat): Preserve length of functions in async_generator (#3202) 2022-01-08 15:19:41 +00:00
Donny
1ca49a56b3 chore: Publish crates 2022-01-08 23:29:33 +09:00
Donny/강동윤
42f726873e
feat(es/transforms): Add Assumptions (#3215)
swc_ecma_transforms_base:
 - Add `Assumptions`. (Closes #2057)

swc_ecma_transforms:
 - Reexport `Assumptions`.

swc:
 - Add `jsc.assumptions`.
2022-01-08 23:26:09 +09:00
Donny/강동윤
70c2f3b3a5
security(repo): Fix crev integration (#3210) 2022-01-07 20:03:03 +09:00
Donny
56d1f03556 chore: Publish crates 2022-01-07 15:18:26 +09:00
OJ Kwon
92de2c7884
feat(plugin): Pass serialized ast to a wasm file (#3199)
swc_common:
 - Use correct cargo feature for plugin apis.

swc_plugin:
 - Add hidden functions required for memory operations from host.

swc_plugin_runner:
 - Pass serialized AST to a wasm file.
2022-01-07 15:13:46 +09:00
Donny
fa212be6ae chore: Publish crates 2022-01-07 14:49:46 +09:00
Donny/강동윤
54353a6fb5
fix(es/helpers): Don't transpile _typeof helper (#3208)
swc_ecma_transforms_base:
 - Add a directive to `_typeof` helper.

swc_ecma_transforms_compat:
 - Don't transpile `_typeof` helper. (Closes #3201)

swc_ecma_minifier:
 - Drop swc/babel directives.
2022-01-07 14:48:08 +09:00
Donny
80bf7f25ff chore: Publish crates 2022-01-06 21:25:35 +09:00
Donny/강동윤
0105939426
fix(es/minifier): Drop unreachable statements eagerly (#3204)
swc_ecma_minifier:
 - `pure`: Drop unreachable statements. (Closes #3173)
2022-01-06 21:25:06 +09:00
Donny
7c59765b2f chore: Publish crates 2022-01-06 20:51:06 +09:00
Donny/강동윤
69b5f799f3
fix(es/minifier): Disable inlining of expressions from collapse_vars (#3200)
swc_ecma_minifier:
 - `collapse_vars`: Disable for member expressions. (Closes #2614)
 - `sequences`: Respect `inline_prevented`.
2022-01-06 20:49:10 +09:00
Donny
6892f27ad7 chore: Publish crates 2022-01-06 20:19:36 +09:00
Sosuke Suzuki
432f877790
feat(es/ast): Use ModuleExportName for ExportNamespaceSpecifier (#3195) 2022-01-06 20:19:11 +09:00
Donny
3458e9f1d3 chore(ci): Fix publish scripts 2022-01-05 14:45:02 +09:00
Donny
28ff0592a4 refactor(plugin/runner): Reuse wasmer 2022-01-05 14:01:57 +09:00
OJ Kwon
c3895ca9aa
refactor(plugin/runner): Replace wasm runtime (#3196) 2022-01-05 04:44:41 +00:00
Donny
27a5284539 chore: Publish v1.2.127 2022-01-05 12:01:49 +09:00
Donny
e679c04873 chore: Publish crates 2022-01-05 11:59:44 +09:00
Donny/강동윤
913c82a2ab
fix(es/lints): Fix incorrect duplicate binding error (#3194)
swc_ecma_transforms_base:
 - `resolver`: Fix resolving of `const` and `let`.

swc_ecma_lints:
 - `duplicate_bindings`: Don't mark ambient function declararions as a binding. (Closes #3193)
2022-01-05 11:59:10 +09:00
Donny
e2b5a31882 chore: Publish crates 2022-01-05 08:48:03 +09:00
David Sherret
517662c9c2
fix(es/visit): Make noop_visit_type visit typescript nodes that executes at runtime (#3192) 2022-01-05 08:47:25 +09:00
Donny
1b8b062621 chore: Publish crates 2022-01-05 05:13:24 +09:00
Donny/강동윤
1c1c9f0eae
fix(es/minifier): Fix bugs (#2955)
swc_ecma_minifier:
 - Improve the script for extracting inputs from next.js app.
 - Ensure the name is removed on inlining.
 - Respect `inline_prevented`.
2022-01-05 05:12:52 +09:00
Donny
781aa79b82 chore: Publish crates 2022-01-04 19:29:50 +09:00
OJ Kwon
32d3342283
refactor(plugin): Remove codes related to the plugin system based on abi_stable (#3188) 2022-01-04 10:26:17 +00:00
Donny/강동윤
c758997180
refactor(dbg-swc): Rename esdiff to dbg-swc (#3189) 2022-01-04 18:39:43 +09:00
Donny
8b633a93ff chore: Publish crates 2022-01-04 17:41:12 +09:00
Donny/강동윤
51c792eb30
feat(esdiff): Create a command to determine problematic file (#3181)
swc_ecma_diff:
 - Fix diff logic of `Vec`.

esdiff:
 - `diff-min`: Normalize `Str.has_escape`.
 - `diff-min`: Normalize empty var declaration.
 - Add `redue-min`.
2022-01-04 17:40:40 +09:00
Donny
9cc72fe8e9 chore: Publish crates 2022-01-04 16:16:35 +09:00
OJ Kwon
b61c49fe39
refactor(plugin/runner): Avoid redundant filesystem reads (#3186) 2022-01-04 07:10:39 +00:00
Donny
a66eec2d16 chore: Publish crates 2022-01-04 15:16:19 +09:00
David Sherret
e5e6e84300
feat(es/dep-graph): Improve DependencyDescriptor to combine import_assertions with dynamic_import_assertions (#3183) 2022-01-04 05:54:45 +00:00
Donny
ab10f77af9 chore: Publish crates 2022-01-04 14:19:00 +09:00
Donny
d77bb8aff0 chore: Publish crates 2022-01-04 14:18:19 +09:00
OJ Kwon
fc4c6708f2
refactor(plugin): Add a loader for wasm-based plugin system (#3179) 2022-01-03 19:03:01 +00:00
Donny
aa1a243f56 chore: Publish crates 2022-01-03 22:00:34 +09:00
Donny
fece2aae55 chore: Publish v1.2.126 2022-01-03 20:36:16 +09:00
Donny
1ef435e1ce chore: Publish crates 2022-01-03 20:35:10 +09:00
YuChao Liang
db51ce4461
fix(es/minifier): Fix comparison of objects, numbers and strings (#3172) 2022-01-03 11:31:49 +00:00
Donny
1e5bc88cd3 chore: Publish crates 2022-01-03 17:45:09 +09:00
Sosuke Suzuki
07c0489575
feat(es/ast): Add ModuleExportName (#3048)
swc_ecma_ast:
 - Allow using string as import/export specifiers.
2022-01-03 08:44:11 +00:00
Donny
08399d2e95 chore: Publish v1.2.125 2022-01-03 05:57:48 +09:00
Donny
cb13512e84 chore: Publish crates 2022-01-03 05:55:39 +09:00
magic-akari
52961804d1
feat(es/codegen): Make the output for empty objects and empty statements pretty (#3171) 2022-01-03 05:54:58 +09:00
Donny
e14aa9dab4 chore: Publish crates 2022-01-03 00:08:39 +09:00
Donny/강동윤
790c50631b
fix(es/minifier): Fix for modules (#3170)
swc_ecma_minifier:
 - Handle exported declarations correctly.

swc:
 - Change default of `compress.toplevel` and `mangle.top_level` to true for modules. (Closes #3169)
2022-01-03 00:07:42 +09:00
Donny
ad3dca82b9 chore: Publish crates 2022-01-03 00:06:38 +09:00
magic-akari
366dc0eec3
fix(es/typescript): Declare the exported variables in a namespace (#3162) 2022-01-02 15:06:03 +00:00
Donny/강동윤
1aa55e616a
feat(es/diff): Add a internal CLI program for debugging minifier (#3168) 2022-01-02 19:55:12 +09:00
Donny
a883e604f2 chore: Publish crates 2022-01-02 16:24:06 +09:00
Donny/강동윤
bf751cb690
feat(es/ast): Add rkyv support (#3166)
ast_node:
 - `#[ast_node]`: Add support for `rkyv`.

swc_common:
 - Add a feature flag for `rkyv`.

swc_ecma_ast:
 - Add a feature flag for `rkyv`.
2022-01-02 16:23:37 +09:00
Donny
b1a72315db chore: Publish crates 2022-01-02 12:50:50 +09:00
Donny/강동윤
7a83c0cb57
perf(es/ast/serde): Make deserialization faster (#3160)
ast_node:
 - Improve deserialization of enums.

swc_css_ast:
 - Fix a compilation issue.

swc_ecma_ast:
 - Update `serde`.

swc_ecma_parser:
 - Fix a compilation issue.

swc_estree_ast:
 - Fix serialization.
2022-01-02 12:49:09 +09:00
Donny
29f05b55fc chore: Publish crates 2022-01-02 05:02:48 +09:00
magic-akari
e02307d4c8
fix(es/typescript): Fix handling of references in a TypeScript enum (#3163) 2022-01-01 19:51:39 +00:00
Donny
b52240d8e5 chore: Publish crates 2021-12-31 04:02:07 +09:00
magic-akari
e11210309c
fix(es/compat): Fix new.target in class properties (#3156) 2021-12-31 04:01:28 +09:00
Donny
097e1e310c chore: Publish crates 2021-12-30 19:48:39 +09:00
magic-akari
f78d005a95
fix(es/compat): Fix length of async functions (#3136)
swc_ecma_transforms_compat:
 - `async_to_generator`: Preserve function length. (Closes #3135)
2021-12-30 10:26:26 +00:00
Donny/강동윤
194b3e9b67
refactor(*): Use 2021 edition (#3151) 2021-12-30 18:59:18 +09:00
Jim Berlage
a4e8e53c19
test(es/parser): Add tests about null escape (#3147) 2021-12-30 08:54:10 +00:00
Donny
b9c3fba904 chore: Publish crates 2021-12-30 17:22:27 +09:00
magic-akari
35b64613bb
fix(es/compat): Visit all private class methods (#3150) 2021-12-30 17:21:54 +09:00
Donny
0cf8265f02 chore: Publish crates 2021-12-29 21:04:30 +09:00
Austaras
356082ad84
fix(es/utils): Fix handling of new.target (#3145) 2021-12-29 11:38:32 +00:00
Donny/강동윤
8a1016fb40
refactor(bundler): Improve test suite (#3144) 2021-12-29 19:19:44 +09:00
Donny
bf820b7937 chore: Publish crates 2021-12-29 16:01:48 +09:00
Donny/강동윤
333acb5622
doc(es/ast): Improve rustdoc (#3142)
swc_ecma_ast:
 - Document `Str.kind`.
 - Document `TpleElement.cooked`.
2021-12-29 16:01:15 +09:00
OJ Kwon
72c963662d
refactor(*): Drop unused dependencies (#3138) 2021-12-29 15:27:51 +09:00
Donny
737b6108d4 chore: Publish crates 2021-12-29 13:46:45 +09:00
Donny/강동윤
43c8cda31a
fix(es/renamer): Fix renamer (#3139)
swc_ecma_transforms_base:
 - `resolver`: Ignore named export with source.
 - `hygiene`: Ignore named export with source. (Closes #2924, Closes #3114)

swc_ecma_minifier:
 - Handle `export default` declarations as declaration instead of expressions. (Closes #2717)
 - Don't override already-processed identifiers. (Closes #2988)

swc_bundler:
 - Adjust the syntax context for named re-exports.
2021-12-29 13:44:48 +09:00
Donny
fc9622f779 chore: Publish crates 2021-12-28 23:33:53 +09:00
Andreu Botella
2f3ca22ecf
fix(es/parser): Support import assertions in specifier-less imports (#3134) 2021-12-28 14:00:00 +00:00
Donny
0fc5c37154 chore: Publish crates 2021-12-28 22:27:29 +09:00
Austaras
f8f04e031e
refactor(es/react/fast-refresh): Use VisitMut (#3129) 2021-12-28 22:26:59 +09:00
Donny
2ab65c2cea chore: Publish crates 2021-12-28 22:25:47 +09:00
Donny/강동윤
693c22aa93
fix(es/optimization): Fix inlining (#3132)
swc_ecma_transforms_optimization:
 - `inlining`: Mark all usages as modification. (Closes #2108)
2021-12-28 22:25:07 +09:00
Donny
b824baefe7 chore: Publish crates 2021-12-28 21:38:03 +09:00
Donny/강동윤
ec7e0aee25
fix(es/utils): Fix is_valid_ident (#3133)
swc_ecma_utils:
 - Fix `is_valid_ident`. (Closes #2118)
2021-12-28 21:37:38 +09:00
Donny
ba187c3c6a chore: Publish crates 2021-12-28 20:23:21 +09:00
Andreu Botella
c9adf03338
fix(es): Handle import assertions correctly (#3113)
swc_ecma_codegen:
 - Implement codegen for static import assertions.

swc_ecma_transforms_proposal:
  - `import_assertions`: Support `export`s.

swc:
 - Add `jsc.experimental.keep_import_assertions`.

node-swc:
 - Fix typo.
2021-12-28 11:18:33 +00:00
Donny/강동윤
cec325be63
security(repo): Configure cargo-crev (#3124) 2021-12-28 18:49:33 +09:00
Donny
a0d31f5ce4 chore: Publish crates 2021-12-28 17:12:28 +09:00
magic-akari
27d3fd93b0
fix(es/compat): Fix computed_properties (#3120)
swc_ecma_transforms_compat:
 - `computed_properties`: Fix handling of getter/setter properties. (Closes #2680)
2021-12-28 08:07:30 +00:00
Donny
0951599a7b chore: Publish crates 2021-12-27 17:31:24 +09:00
Pig Fang
83f71c2c0b
feat(es/preset-env): Upgrade browserslist-rs (#3122) 2021-12-27 17:30:05 +09:00
Donny
4ab82fb4a7 chore: Publish crates 2021-12-27 04:38:36 +09:00
magic-akari
1b6ac25d5c
fix(es/compat): Fix private methods of a class (#3123)
swc_ecma_transforms_compat:
 - `class_properties`: Handle private method calls properly. (Closes #3055)
2021-12-26 19:37:46 +00:00
Donny
836cbd63a8 chore: Publish crates 2021-12-26 23:38:59 +09:00
magic-akari
ac78a527eb
fix(es/compat): Fix handling of hoisted functions in regenerator (#3119)
swc_ecma_ast:
 - Implement `Take` for `FnDecl`.

swc_ecma_transforms_compat:
 - `regenerator`: Handle hoisted function declarations properly. (Closes #2556)
 - `regenerator`: Fix handling of class properties with an async function as the initializer. (Closes #2620)
2021-12-26 14:36:21 +00:00
Donny
4ddc01e219 chore: Publish crates 2021-12-26 00:35:28 +09:00
magic-akari
a1cb4a4aa5
fix(es/compat): Fix handling of class methods with a big int as a key (#3118) 2021-12-25 14:46:56 +00:00
Donny
3b1a815db7 chore: Publish crates 2021-12-25 20:55:16 +09:00
Donny
ab2960b2c7 chore: Publish crates 2021-12-25 20:54:30 +09:00
Donny
3f8b393465 chore: Publish v1.2.123 2021-12-25 20:54:05 +09:00
Donny
cb603cc1ff chore: Publish crates 2021-12-24 13:40:54 +09:00
magic-akari
e5971f77d5
fix(es/ast): Fix Ident::verify_symbol (#3108) 2021-12-24 04:29:49 +00:00
Donny
5e6f6e5122 chore: Publish crates 2021-12-24 12:23:46 +09:00
magic-akari
9f5a8f728a
fix(es/compat): Fix destructuring (#3104)
swc_ecma_transforms_compat:
 - `destructuring`: Handle assignment expressions in rhs of variable declarators correctly. (Closes #2850)
2021-12-24 03:19:45 +00:00
Donny
8aff5ae0aa chore: Publish crates 2021-12-24 11:31:22 +09:00
LongYinan
206da128a1
feat(node): Upgrade napi to v2 (#2958) 2021-12-24 02:21:24 +00:00
Donny
4bb264d480 chore: Publish crates 2021-12-24 10:47:59 +09:00
Donny/강동윤
d923f89db1
fix(es/compat): Fix classes pass (#3107)
swc_ecma_ast:
 - Add `Ident::verify_symbol`.

swc_ecma_transforms_compat:
 - Don't generate invalid identifiers. (Closes #3106)
2021-12-24 10:46:55 +09:00
Donny
d7a489a709 chore: Publish crates 2021-12-23 22:03:30 +09:00
Donny/강동윤
ff0b55b778 feat(es/diff): Initialize a diff tool for ecmascript (#3101)
swc_ecma_diff:
 - Initialize the project.
2021-12-23 22:01:56 +09:00
Donny
7cbd2bc790 chore: Publish crates 2021-12-23 19:04:24 +09:00
Donny/강동윤
f66c2cd375
fix(es/helpers): Fix decorators (#3105)
swc_ecma_transforms_base:
 - Fix `_applyDecoratedDescriptor`. (Closes #2127)
2021-12-23 19:03:53 +09:00
Donny
25d26485fc chore: Publish crates 2021-12-23 02:53:32 +09:00
Alex Alikiotis
d98a59339a
feat(es/bundler): Add an option to disable tree-shaking (#3102) 2021-12-23 02:53:02 +09:00
Donny
f4cc323e08 chore(node): Publish v1.2.122 2021-12-22 17:09:25 +09:00
Donny
08c4589da7 chore: Publish crates 2021-12-22 17:06:54 +09:00
magic-akari
df87c2b302
fix(es/transforms): Fix descturcturing (#3098)
swc_ecma_transforms_compat:
 - `destructuring`: Handle exports of bindings with object pattern properties correctly. (Closes #2858)
2021-12-22 08:03:41 +00:00
Donny
fc2c883444 chore: Publish crates 2021-12-22 16:31:23 +09:00
Nayeem Rahman
7d57eb2dc4
feat(es/dep-graph): Add DependencyDescriptor::dynamic_import_assertions (#3095) 2021-12-22 16:30:52 +09:00
Donny
dc6a19dfef chore: Publish crates 2021-12-22 04:57:45 +09:00
Donny/강동윤
15cbe4fcaa
fix(es/loader): Update lru (#3092) 2021-12-22 04:56:49 +09:00
Donny
726fc6968d chore: Publish crates 2021-12-21 23:53:37 +09:00
Donny/강동윤
a81661c74a
perf(es/hygiene): Fix performance bug (#3090)
swc_ecma_transforms_base:
 - `hygiene`: Skip checking a symbol if we are sure that it will be discarded.

swc_ecma_laoder:
 - Optimize `NodeModulesResolver` by trying `.js` first.
2021-12-21 23:52:13 +09:00
Donny
c9def54913 chore: Publish crates 2021-12-21 21:40:09 +09:00
Donny/강동윤
ba2563f59e
fix(es/loader): Prefer ESM (#3089)
swc_ecma_loader:
 - Check for `module` field and prefer it over `main`.
2021-12-21 21:39:35 +09:00
Donny
e33248cbcc chore: Publish crates 2021-12-21 18:21:48 +09:00
Donny/강동윤
0e4dce694d
refactor(es/minifier): Use swc_timer (#3087)
swc_bundler:
 - Add `Config.disable_fixer`.
 - Add `Config.disable_hygiene`.

swc_ecma_minifier:
 - Use `swc_timer`.
2021-12-21 18:19:33 +09:00
Quentin Michel
f1b81266cf
feat(node): Report correct error when swc_v1 and swc_v2 is enabled at the same time (#3080) 2021-12-21 16:10:30 +09:00
Donny/강동윤
d482d61b9f
chore(scripts): Use cargo profile instruments instead of cargo instruments (#3086) 2021-12-21 16:09:19 +09:00
Donny
4c1948f786 chore: Publish crates 2021-12-21 14:25:11 +09:00
magic-akari
31dea3dd31
fix(es/typescript): Export destructured properties in typescript namespaces (#3084) 2021-12-21 14:24:20 +09:00
Donny/강동윤
0e5895043f
test(es/codegen): Add some tests for sourcemap (#3078) 2021-12-20 18:26:30 +09:00
Donny
cdc4676a88 chore: Publish crates 2021-12-20 18:25:51 +09:00
magic-akari
7d125f5cdb
feat(es/preset-env): Add .js to generated imports (#3077) 2021-12-20 09:15:04 +00:00
OJ Kwon
2e89a4f5a8
feat(cli): Setup packages for CLI (#3070) 2021-12-20 06:03:00 +00:00
Donny
3808101ca8 chore: Publish crates 2021-12-20 14:38:28 +09:00
James Newell
938e544ac5
fix(es/compat): Fix handling of union of the legacy decorator pass (#3057)
swc_ecma_transforms_proposal:
 - Use `Object` for `null`/`undefined`.
 - Fix the type for union types. (Closes #2461)
2021-12-20 05:30:52 +00:00
Donny/강동윤
8afb5af517
chore(repo): Make git faster (#3075)
swc_ecma_parser:
 - Flatten parser test suite ported from `tsc`.

swc:
 - Flatten the reference directory for the `tsc` test suite.
2021-12-20 14:05:57 +09:00
Donny
3d95ff4e41 chore: Publish crates 2021-12-20 10:26:08 +09:00
Sosuke Suzuki
7beaabd533
feat(es/preset-env): Add ES2022 features to preset-env (#3072) 2021-12-19 14:28:05 +00:00
Donny
46994e067a chore: Publish crates 2021-12-19 21:08:59 +09:00
Donny/강동윤
f21af5bcd6
feat(es/lints): Implement simple validations (#2763)
swc_ecma_lint:
 - Implement `const-assign`. (Closes #2016)
 - Implement `duplicate-bindings`. (Closes #2795)
 - Implement `duplicate-exports`. (Closes #3056)

swc:
 - Use linter.
2021-12-19 21:07:51 +09:00
Donny
23742e3b18 chore: Publish crates 2021-12-19 18:11:51 +09:00
Pig Fang
a1b315a114
feat(es/preset-env): Upgrade browserslist-rs (#3069) 2021-12-19 08:46:32 +00:00
Donny
25a17e8b11 chore: Publish crates 2021-12-19 14:15:44 +09:00
Donny
806c9db1a1 chore(node): Publish v1.2.121 2021-12-19 14:14:12 +09:00
Donny
13b6d044f5 chore: Publish crates 2021-12-19 14:11:38 +09:00
Donny
967f30d7d4 chore: Publish crates 2021-12-19 12:45:44 +09:00
magic-akari
ff1aab710c
fix(es/compat): Transform an optional eval call as an indirect eval call (#3068)
swc_ecma_transforms_compat:
 - `optional_chaining`: Handle optional `eval` calls properly. (Closes #2735)
2021-12-19 03:42:46 +00:00
Donny
9c62047653 chore: Publish crates 2021-12-19 05:03:01 +09:00
Sosuke Suzuki
f1a28329cb
feat(es/parser): Report an error for export type * from "mod"; (#3064) 2021-12-19 05:02:36 +09:00
Donny
a4b77bf11f chore: Publish crates 2021-12-19 00:21:30 +09:00
Donny
021fe66652 chore: Publish crates 2021-12-19 00:18:47 +09:00
Donny/강동윤
b4d95b44a7
perf(es/parser): Improve performance (#3059)
swc_common:
 - Optimize `StringInput`.

swc_ecma_parser:
 - Optimize `skip_space`.
 - Remove useless `.clone()`.
2021-12-19 00:18:00 +09:00
Donny
188b856694 chore: Publish crates 2021-12-18 23:15:17 +09:00
asterite3
0c813ae453
fix(es/lexer): Fix lexing of numbers with large exponent (#3061)
swc_ecma_parser:
 - Fix lexing of numbers where exponents are large enough to be parsed as `Infinity`. (Closes #3060)
2021-12-18 23:14:36 +09:00
Donny
8c16c2b77d chore: Publish crates 2021-12-17 15:09:02 +09:00
OJ Kwon
a381fb8bce
fix(es/compat): Fix block_scoping (#3058)
swc_ecma_transforms_compat:
 - `block_scoping`: Consider the location of variable declarations. (Closes #2998)
2021-12-17 15:08:22 +09:00
Donny
a2a0b63c62 chore: Publish crates 2021-12-16 20:39:34 +09:00
magic-akari
d5c7fb898f
fix(es/loader): Support fully-specified ESM import specifiers (#3050) 2021-12-16 11:37:22 +00:00
Donny
189b1e286d chore: Publish crates 2021-12-16 19:57:40 +09:00
Donny/강동윤
61e9b5f841
fix(es/lexer): Don't report lexer errors while backtracking (#3051)
swc_ecma_parser:
 - Share backtracking state with the lexer.
 - Don't report lexing errors while backtracking (Closes #2896)
2021-12-16 19:57:19 +09:00
Donny
c658af4365 chore: Publish crates 2021-12-16 15:31:03 +09:00
magic-akari
23a59db9bb
fix(es/parser): Allow assignment assertions in typescript classes (#3047) 2021-12-16 15:30:34 +09:00
Donny
ddd967f33b chore: Publish crates 2021-12-15 19:08:31 +09:00
Donny/강동윤
08920189ba
fix(webpack/ast): Expose fields of AstOutput (#3046) 2021-12-15 19:08:07 +09:00
Donny
db8335ca2d chore: Publish crates 2021-12-15 18:33:59 +09:00
Donny/강동윤
24179bd9be
fix(webpack/ast): Handle typescript (#3045)
swc_webpack_ast:
 - Add `proces_file`.
 - Add support for typescript.
2021-12-15 18:33:35 +09:00
Donny
9b36abbe75 chore: Publish crates 2021-12-15 16:22:00 +09:00
Austaras
38955c0c8d
refactor(es/ast): Change type or the key of ClassProp to PropName (#3038) 2021-12-15 16:21:30 +09:00
Donny
83e1635a04 chore: Publish crates 2021-12-14 19:48:17 +09:00
OJ Kwon
29eb71aaf9
perf(es/compat): Migrate regenerator to VisitMut (#3037) 2021-12-14 09:24:57 +00:00
Donny
340eaf48f3 chore: Publish crates 2021-12-14 18:02:06 +09:00
Donny
cfb796b1a8 chore: Publish crates 2021-12-14 17:29:22 +09:00
Donny/강동윤
15ea98bf65
fix(webpack/ast): Fix webpackAST (#3040)
swc_webpack_ast:
 - `reducer`: Flatten safe statements.
 - `reducer`: Preserve variables.
2021-12-14 17:28:51 +09:00
Donny
4fe9a6c1fd chore: Publish crates 2021-12-13 19:02:44 +09:00
Donny
5a173bce3a chore: Publish crates 2021-12-13 11:39:41 +09:00
Donny/강동윤
7236a2213e
refactor(es/parser): Make some verification logic optional (#3024)
swc_ecma_parser:
 - Make dependency on `swc_ecma_visit` optional.
2021-12-13 11:39:17 +09:00
Donny
f35ec6c612 chore: Publish crates 2021-12-13 09:21:46 +09:00
Donny/강동윤
c415487bb9
fix(es/codegen): Fix sourcemap bug related to multi-line comments (#3023)
swc_ecma_codegen:
 - Compute line starts in multi-line comments.
2021-12-13 09:21:22 +09:00
Donny
f86c077a37 chore: Publish crates 2021-12-13 06:46:14 +09:00
Donny
28f3c4fb52 chore: Publish crates 2021-12-13 06:45:43 +09:00
RiESAEX
d3ffc6719b
perf(es/compat): Migrate class helper to VisitMut (#3020) 2021-12-12 21:18:48 +00:00
Donny
de95e2a9b9 chore: Publish crates 2021-12-13 05:44:01 +09:00
Sosuke Suzuki
b4c210d1d9
fix(es/parser): Allow trailing comma in dynamic imports if import assertion is enabled (#3018) 2021-12-13 05:42:19 +09:00
Donny/강동윤
017392aa5b
feat(node-swc): Add cargo feature for v2 (#3019)
swc_node_bundler:
 - Add cargo features for versioned apis.

node-swc:
 - Add cargo features for versioned apis.
2021-12-12 22:52:58 +09:00
Donny
da4111a022 chore: Publish crates 2021-12-11 20:54:21 +09:00
RiESAEX
333b52c646
perf(es/compat): Migrate classes to VisitMut partially (#2995) 2021-12-11 08:24:57 +00:00
Donny
a04b4082a4 Bump version 2021-12-11 17:01:12 +09:00
OJ Kwon
00d22b8fde
build: Use mocha for exec_ test instead of jest (#3009) 2021-12-11 07:59:21 +00:00
Donny/강동윤
e0c8bbf7a0
fix(css/parser): Fix lexing of value starting with - (#3011)
swc_css_parser:
 - Lex `-` as an identifier start.
2021-12-11 16:23:02 +09:00
Donny
f87df958d5 chore: Publish crates 2021-12-11 16:21:44 +09:00
OJ Kwon
91d6343d7f
perf(es/compat): Migrate regenerator to VisitMut partially (#3007) 2021-12-11 05:30:56 +00:00
Donny
9a00c9a13f chore: Publish crates 2021-12-11 13:58:49 +09:00
Bartek Iwańczuk
819fc88a19
fix(es/dep_graph): Fix parsing of import assertions (#3005) 2021-12-11 13:58:11 +09:00
OJ Kwon
cabf5a458d
chore: Remove redundant dependencies (#3008) 2021-12-11 13:57:33 +09:00
Donny/강동윤
8340a86fbb
refactor(es/ast): Move Id to swc_ecma_ast (#3004) 2021-12-10 23:36:43 +09:00
Donny/강동윤
a3bd6aea54
fix(es/codegen): Fix sourcemap (#3003)
swc_ecma_codegen:
 - Handle source map of multi-line template literals. (Closes #2185, Closes #2362, Closes #2900)
2021-12-10 19:57:39 +09:00
Donny
57f512c262 chore: Publish crates 2021-12-10 19:36:51 +09:00
David Sherret
c8c73cb313
fix(es/typescript): Fix enums which reference themselves (#3000) 2021-12-10 10:30:26 +00:00
Donny
68861007d9 chore: Publish crates 2021-12-10 18:56:37 +09:00
OJ Kwon
7ca1e174b7
perf(es/compat): Migrate object_rest to VisitMut (#2997) 2021-12-10 18:56:24 +09:00
Donny
c5b943f588 chore: Publish crates 2021-12-10 18:55:41 +09:00
OJ Kwon
a1756062c5
perf(es/compat): Migrate class_properties to VisitMut (#2993) 2021-12-10 09:54:14 +00:00
Donny
deae28c31d chore: Publish crates 2021-12-10 18:19:38 +09:00
Shinobu Hayashi
ed704c906f
fix(es/react): Implement proper development handling (#2741) 2021-12-10 09:19:03 +00:00
Donny/강동윤
0a637d6ce2
chore: Fix license issue (#3002) 2021-12-10 17:45:01 +09:00
Donny
8ea40a3707 chore: Publish crates 2021-12-08 19:54:05 +09:00
Donny/강동윤
4cf58528df
fix(webpack/ast): Fix webpackAST (#2979)
swc_estree_ast:
 - Fix more serialization.

swc_estree_compat:
 - Consider multi-byte characters.

swc_webpack_ast:
 - Preserve LHS of assignments if required.
2021-12-08 19:53:43 +09:00
Donny/강동윤
6a7ad9239e
fix(es/compat): Fix for synthesized template literals (#2994) 2021-12-08 19:47:11 +09:00
Donny
f6a926e6fb chore: Publish crates 2021-12-08 15:25:49 +09:00
David Sherret
2cd16490e4
fix(es/typescript): Support declaration merging of exported enums and namespaces (#2982) 2021-12-08 15:25:10 +09:00
Donny/강동윤
c8395bc74f
fix(css): Fix stylis (#2987)
swc_css_codegen:
 - Respect `minify`.

swc_stylis:
 - Process properties only if it's in a qualified rule.
2021-12-07 21:04:54 +09:00
Donny
bf69cd554b chore: Publish crates 2021-12-07 18:03:14 +09:00
Donny/강동윤
4a7937d56e
fix(es/minifier): Don't create top level variables (#2985)
swc_ecma_minifier:
 - Add `module` to `TerserCompressorOptions`.
 - Don't create top level variables while inlining if `module` is false.
 - Drop more unused parameters.
2021-12-07 18:02:43 +09:00
Donny
7d4c372e8a chore: Publish crates 2021-12-07 15:19:11 +09:00
OJ Kwon
32f9369958
perf(es/compat): Migrate static_blocks to VisitMut (#2973) 2021-12-07 15:18:53 +09:00
Donny
82ece9d0ca chore: Publish crates 2021-12-07 15:15:08 +09:00
RiESAEX
ae4bb420ae
fix(es/transforms): Update helpers about array (#2970)
swc_ecma_transforms_base:
 - Update helpers. (Closes #2689)
2021-12-07 06:12:54 +00:00
Donny
b1a47ee971 chore: Publish crates 2021-12-07 14:34:44 +09:00
Donny/강동윤
e48263b2f3
refactor(visit): Remove &dyn Node from Visit (#2984)
swc_visit_macros:
 - Remove `&dyn Node` from `Visit`.
 - Implement `VisitWith<V>` for `[T]`.
2021-12-07 14:34:16 +09:00
Donny/강동윤
f052a65bf3
fix(es/compat): Preserve constructor parameters (#2975)
swc_ecma_visit:
 - Add cargo feature `debug`.
 - Add more context for `tracing` when `debug` is enabled.

swc_ecma_utils:
 - Add some logging.

swc_ecma_transforms_compat:
 - Add some logging.
 - `destructuring`: Don't drop patterns. (Closes #2139)

testing:
 - Enable logging by default.
 - Configure logging for `Tester`.
2021-12-06 20:08:50 +09:00
Donny/강동윤
694d3c5072
feat(es/minifier): Print more informantion on infinite loops (#2976)
swc_ecma_minifier:
 - Remove `OptimizerState`.
 - Dump source code if pass is over 200.
2021-12-06 19:47:02 +09:00
Donny
acc45e7c36 chore: Publish crates 2021-12-05 17:34:04 +09:00
Donny/강동윤
1ea965cecb
fix(es/parser): Drop outdated options (#2974)
swc_ecma_parser:
 - Drop flags in `EsConfig`.
 - Drop flags in `TsConfig`.
 - Drop unused variants from `SyntaxError`.
2021-12-05 17:33:34 +09:00
Donny
16540fba75 chore: Publish crates 2021-12-05 16:30:42 +09:00
David Sherret
0a8a5a1c78
fix(es/typescript): transform namespace with multiple identifiers in name (#2952)
swc_ecma_transforms_typescript:
 - Allow using typescript namespace with mutli-identifer name. (Closes #2810)
2021-12-05 07:26:53 +00:00
Donny
529f980693 chore: Publish crates 2021-12-05 15:44:50 +09:00
Donny
58159d377c chore: Publish crates 2021-12-05 15:43:04 +09:00
David Sherret
97df4cef80
refactor(es/parser): Remove import_assertions from TsConfig (#2950) 2021-12-05 05:43:41 +00:00
Donny/강동윤
74363e0357
fix(webpack/ast): Preserve span (#2971) 2021-12-04 23:24:18 +09:00
Donny
fd2a788282 chore: Publish crates 2021-12-04 21:03:13 +09:00
OJ Kwon
89af8ab9a2
perf(es/compat): Migrate class_properties to VisitMut partially (#2966) 2021-12-04 11:57:52 +00:00
Donny/강동윤
2a01dd4b32
fix(webpack/ast): Reduce if statements (#2969) 2021-12-04 19:28:18 +09:00
Donny
42a93dd8ef chore: Publish crates 2021-12-04 11:53:14 +09:00
David Sherret
67280b6fb0
fix(es/typescript): Run resolver before typescript::strip (#2951)
swc_ecma_transforms_base:
 - `resolver`: Handle some typescript nodes.

swc_ecma_transforms_typescript:
 - `strip`: Use identifier span hygiene information for stripping types.
2021-12-04 02:35:16 +00:00
Donny
32e2f3e46c chore: Publish crates 2021-12-04 01:55:54 +09:00
David Sherret
beb2c73c2c
fix(swc/hygiene): Prefer not renaming top level variables (#2940)
swc_ecma_transforms_base:
 - `hygiene`: Use concept of depth to prevent renaming top level nodes.
2021-12-04 01:55:27 +09:00
Donny/강동윤
02322aaa99
chore: Make rust-analyzer faster (#2962) 2021-12-03 23:14:33 +09:00
Donny/강동윤
c346f12b32
fix(estree): Fix serialization of ObjectMethod (#2961)
swc_estree_ast:
 - Fix serialization of `ObjectMethod` for `acorn`.

swc_webpack_ast:
 - `ast_reducer`: Remove unused getter/setter properties.
2021-12-03 23:14:12 +09:00
Donny
fd8541eb9d chore: Publish crates 2021-12-03 21:23:06 +09:00
Donny/강동윤
4008a65b1e
fix(webpack/ast): Preserve more arguments of define calls (#2960) 2021-12-03 21:22:38 +09:00
Donny/강동윤
eda514bcc5
fix(webpack/ast): Fix amd support (#2959)
swc_webpack_ast:
 - `ast_reducer`: Preserve array literals in `define` calls.
2021-12-03 20:51:48 +09:00
Donny/강동윤
1eb62dc201
fix(webpack/ast): Remove more string literals (#2957) 2021-12-03 18:54:28 +09:00
Donny
348b6cf6f0 chore: Publish crates 2021-12-03 18:36:10 +09:00
OJ Kwon
084eebec84
refactor(es/compat): Migrate destructuring to VisitMut (#2947) 2021-12-03 09:27:58 +00:00
Donny
ef3ea6b467 chore: Publish crates 2021-12-03 17:25:44 +09:00
RiESAEX
99da4221ae
fix:(es/compat): Change order of passes (#2949)
swc_ecma_transforms_compat:
 - Run `shorthand` before `function_name` so we can infer name for method properties. (Closes #2150)
2021-12-03 17:20:35 +09:00
Donny
eade0374f2 chore: Publish crates 2021-12-02 17:23:50 +09:00
Pig Fang
3302d1733a
refactor(es/preset-env): Avoid unnecessary unwrap (#2943) 2021-12-02 08:03:28 +00:00
Donny
e8225a66a0 chore: Publish crates 2021-12-02 16:29:34 +09:00
David Sherret
4d993c26b6
fix(es/hygiene): Reduce renaming (#2938)
swc_ecma_transforms_base:
 - `hygiene`: Treat class methods and constructors as a scope.
2021-12-02 07:28:09 +00:00
Donny
36db1ed359 chore: Publish crates 2021-12-02 15:55:03 +09:00
RiESAEX
d8c8641e59 fix(es/parser, es/compat): transform tagged template with invalid escape sequence (#2939)
swc_ecma_parser:
 - Preserve more data for invalid escapes in template literals.

swc_ecma_transforms_compat:
 - Fix handling of template literals. (Closes #2674)
2021-12-02 15:49:45 +09:00
Donny
82c8694f4b chore: Drop freebsd for publishing 2021-12-02 11:37:40 +09:00
Donny/강동윤
0304c550a4
chore: Break cycles (#2941) 2021-12-02 10:44:27 +09:00
Donny
67dc0d3b94 chore: Publish crates 2021-12-02 10:08:22 +09:00
Austaras
1555ceb8a3
feat(es/transforms/compat): Add loose mode to parameters (#2911)
swc_ecma_utils:
 - Make `WrapperState` implement `Clone`.

swc_ecma_transforms_compat:
 - `paramters`: Fix handling of non-loose mode. (Closes #2800, Closes #2825)
2021-12-02 01:04:01 +00:00
Donny
4e214ce437 chore: Publish v1.2.116 2021-12-02 07:10:16 +09:00
Donny
3bf751ac4a chore: Publish crates 2021-12-02 03:33:26 +09:00
Alexander Akait
8781527751
fix(css/ast): Fix type definitions related to parsing unknown at-rules (#2922)
swc_css_ast:
 - Rename `FnValue` to `Function`.
2021-12-01 17:07:49 +00:00
Donny/강동윤
4539b3a610
fix(webpack/ast): Don't remove comparison of process.env.NODE_ENV (#2937) 2021-12-01 23:18:19 +09:00
Donny/강동윤
667dd1e95e
fix(webpack/ast): Fix ast reducer (#2936)
swc_webpack_ast:
 - Preserve string literals in `require`
2021-12-01 21:54:55 +09:00
Donny
f9cd49b845 chore: Publish crates 2021-12-01 21:26:31 +09:00
Donny
f8fcee1c46 chore: Publish crates 2021-12-01 21:26:01 +09:00
Donny/강동윤
9f5fc11a8f
fix(webpack/ast): Fix handling of define (#2935)
swc_webpack_ast:
 - Support `define` calls with `require` .
2021-12-01 21:25:46 +09:00
Pig Fang
8a55870ce5
feat(es/preset-env): Upgrade browserslist-rs (#2927) 2021-12-01 12:18:11 +00:00
Donny/강동윤
24de5507ae
fix(bundler): Use interop for common js dependencies (#2930)
swc_bundler:
 - Update helpers to use interop for common js deps. (Closes #2789)
2021-12-01 19:53:06 +09:00
Donny
1fabb0381a chore: Publish crates 2021-12-01 18:36:26 +09:00
Alexander Akait
0f4ad0f8c8
fix(css/ast): Fix type definition of @namespace (#2919) 2021-12-01 09:29:25 +00:00
Donny
563c63c225 chore: Publish crates 2021-12-01 15:32:22 +09:00
Donny/강동윤
18d9fd91f9
fix(webpack/ast): Fix span of null literals (#2925)
swc_webpack_ast:
 - Preserve original spans for injected `null` literals
2021-12-01 15:31:56 +09:00