Commit Graph

718 Commits

Author SHA1 Message Date
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
Donny
86d2cebd37 chore: Publish v1.2.115 2021-12-01 14:20:52 +09:00