Commit Graph

6548 Commits

Author SHA1 Message Date
Donny
edc0cb0a2d chore: Publish crates 2021-11-29 19:39:11 +09:00
Alexander Akait
c77ebbeb8d
feat(css/ast): Add support for nested @at-rules (#2897) 2021-11-29 19:38:49 +09:00
Donny
a46ee17281 chore: Publish crates 2021-11-29 19:30:33 +09:00
Pig Fang
5a68a360b4
fix(es/preset-env): Enable "mobile to desktop" (#2907) 2021-11-29 19:29:49 +09:00
Donny
756a9bad6a chore: Publish crates 2021-11-29 16:48:34 +09:00
Pig Fang
af216c1014
chore(es/preset-env): Upgrade browserslist-rs (#2889) 2021-11-29 16:48:07 +09:00
Donny
3d75b9a968 chore: Publish crates 2021-11-29 16:47:27 +09:00
such0624
c186aa443a
fix(es/parser): Fix parser (#2903)
swc_ecma_parser:
 - Fix `skip_ts_parameter_start`. (Closes #2160)
2021-11-29 07:46:14 +00:00
Donny/강동윤
bb66083f69
fix(swc): Unimplement Default for JsMinifyOptions (#2901) 2021-11-28 18:57:48 +09:00
Donny
188eaad24e chore: Publish crates 2021-11-28 18:09:28 +09:00
Jeremy Grieshop
6f05c101f1
fix(es/transforms/module): Fix overriding of export * (#2883)
swc_ecma_transforms_module:
 - Emit correct value for `_exportNames`. (Closes #2101)
2021-11-28 09:08:02 +00:00
Donny
875c421259 chore: Publish crates 2021-11-28 17:36:47 +09:00
Donny/강동윤
91ef3cc16e
feat(plugin): Enable plugin support under experimental flag (#2894)
swc_plugin_runner:
 - Add plugin resolver.
 - Implement cache for resolver.
 - Add some integration tests.

swc:
 - Add a cargo feature named `plugin`.
 - Add an experimental option for plugins.

node:
 - Enable `plugin`.
 - Add some integration tests.
2021-11-28 17:02:14 +09:00
Donny/강동윤
5425509208
feat(swc): Implement Default for JsMinifyOptions (#2899) 2021-11-28 10:12:02 +09:00
Donny
2485c97317 chore: Publish crates 2021-11-28 02:04:19 +09:00
Alexander Akait
c94735e540
fix(css): Handle custom properties properly (#2869)
swc_css_codegen:
 - Fix code generation of custom properties.

swc_css_parser:
 - Fix parsing of custom properties.
2021-11-27 16:11:40 +00:00
Donny/강동윤
ffcb357010
feat(plugin): Rename Plugin to JsPlugin (#2893)
swc_js_plugin_api:
 - Rename to js plugin.
 - Use rplugin and plugin ast instead of json.
2021-11-27 22:21:25 +09:00
Donny/강동윤
ddc3aca3f0
fix(swc): Fix handling of jest option (#2892)
swc:
 - Merge `jsc.transforms.hidden.jest`.
2021-11-27 21:30:09 +09:00
Donny
0d39521b91 chore: Publish crates 2021-11-27 17:51:10 +09:00
OJ Kwon
283074c86e
perf(es/transforms/compat): Migrate spread to VisitMut (#2888) 2021-11-27 08:49:37 +00:00
Donny
035b6d83da chore: Publish crates 2021-11-27 17:04:26 +09:00
Donny/강동윤
f5af22ef71
chore: Document features (#2890) 2021-11-27 16:55:42 +09:00
OJ Kwon
7bccbcc880
fix(node): Fix parseFile (#2881) 2021-11-27 07:20:54 +00:00
Donny
01d4139e42 chore: Publish crates 2021-11-27 15:53:05 +09:00
Austaras
803787ab9e
fix(es/transforms/compat): Fix arrow (#2882)
swc_ecma_transforms_compat:
 - Handle arrow expressions in constructors of classes with a super class. (Closes #2811)
2021-11-27 06:46:02 +00:00
Donny/강동윤
c6cb790cd9
feat(css/minifier): Initialize crate (#2884) 2021-11-27 14:33:33 +09:00
Donny
ad8dc4ded6 chore: Publish crates 2021-11-27 00:01:32 +09:00
OJ Kwon
43e89fd0c8
fix(es/transforms/module): Fix detection of helpers to inject (#2868) 2021-11-26 15:00:44 +00:00
Donny
72e892ec12 chore: Publish crates 2021-11-26 23:29:33 +09:00
OJ Kwon
a350d86c57
refactor(es/transforms/compat): Improve async_to_generator (#2876)
swc_ecma_transforms_compat:
 - `async_to_generator`: Remove explicit bindings for object properties.
2021-11-26 12:26:20 +00:00
Donny/강동윤
c2bbdbe9d6
feat(webpack): Add ast reducer (#2875)
swc_estree_compat:
 - Fix stack overflow related to object patterns.

swc_webpack_}ast:
 - Implement AST reducer.
2021-11-26 15:04:41 +09:00
Donny
a38889be91 chore: Publish crates 2021-11-26 08:31:11 +09:00
David Sherret
b853d4ac95
feat(es/parser): Implement more error recovery (#2874)
swc_ecma_parser:
 - Recover from unterminated string literals.
2021-11-25 23:12:40 +00:00
Donny/강동윤
cdef843369
feat(es/estree): Allow emitting acorn ast (#2859)
swc_estree_ast:
 - Add `Flavor`.
 - Adjust serialization based on `Flavor`.

swc_estree_visit:
 - Remove.

testing:
 - Add `diff_json`.

testing_macros:
 - `#[fixture]`: Print input.
2021-11-25 20:16:46 +09:00
Donny
730e138925 chore: Publish crates 2021-11-25 16:17:34 +09:00
RiESAEX
a6398e9f26
fix(es/transforms/compat): Fix destructuring (#2866)
swc_ecma_transforms_compat:
 - Check length correctly. (Closes #2819, Closes #2821, Closes #2843)
2021-11-25 06:51:59 +00:00
Donny
2c9de7dd4a chore: Publish crates 2021-11-25 15:22:34 +09:00
Alexander Akait
c40e134713
fix(css/parser): Fix span of type selectors (#2870) 2021-11-25 05:47:24 +00:00
Donny/강동윤
28850eef5c
chore: Allow using #[doc(cfg)] (#2871) 2021-11-25 14:16:18 +09:00
Donny
62a48875bd chore: Publish crates 2021-11-25 14:14:43 +09:00
Alexander Akait
ce6c7ee85d
fix(css/ast): Fix AST definitions for @keyframes (#2848) 2021-11-25 04:59:40 +00:00
Donny
e04f0867fc chore: Publish crates 2021-11-24 17:04:09 +09:00
Alexander Akait
4bf1f93017
refactor(css/lexer): Follow spec more closely (#2839) 2021-11-24 07:56:07 +00:00
Donny
1cc4de3e9b chore: Publish v1.2.112 2021-11-24 15:07:18 +09:00
Donny
770da5ae9e chore: Publish crates 2021-11-24 15:05:46 +09:00
RiESAEX
cf777c5ba1
fix(es/lexer): Fix lexing of hexadecimal escape sequences (#2838) 2021-11-24 05:26:38 +00:00
Donny
a8bda3bb9c chore: Publish crates 2021-11-24 13:54:33 +09:00
OJ Kwon
1609580a4e
perf(es/transforms/compat): Migrate computed_props to VisitMut (#2857) 2021-11-24 04:49:45 +00:00
Donny
d4ffce13b5 chore: Publish crates 2021-11-24 10:08:01 +09:00
Austaras
fbcbeb4892
refactor(es/transforms/compat): Lift this replacer out of arrow (#2812)
swc_ecma_utils:
 - Add `FunctionWrapper`, which tracks `this` and `arguments`.

swc_ecma_transforms_compat:
 - `arrow`: Use `FunctionWrapper` instead of tracking `this` by itself.
 - `async_to_generator`: Use `FunctionWrapper` instead of tracking `this` by itself.
2021-11-24 00:59:06 +00:00
Donny/강동윤
790a262c07
refactor(es/estree): Rename: babel => estree (#2846)
swc_babel_ast:
 - Rename as `swc_estree_ast`.

swc_babel_compat:
 - Rename as `swc_estree_compat`.

swc_babel_visit:
 - Rename as `swc_estree_visit`.
2021-11-24 05:34:41 +09:00
Donny
e4216a2e6c chore: Publish crates 2021-11-23 21:10:35 +09:00
Alexander Akait
839a99e7fd
feat(css/parser): Improve parser api (#2847)
swc_css_parser:
 - Allow parsing as more types.
2021-11-23 11:53:58 +00:00
Donny
c1e99eee3e chore: Publish crates 2021-11-23 19:07:48 +09:00
Donny/강동윤
2c099bfd2c
feat(es/preset_env): Use browserslist-rs (#2845)
swc_ecma_preset_env:
 - Fix `default_path`.
 - Use `browserslist-rs` for query. (Closes #2781)
2021-11-23 19:07:16 +09:00
Donny
e99c4d26ae chore: Publish crates 2021-11-23 18:14:38 +09:00
erdmko
c8de935560
fix(bundler): Ignore require of external modules (#2840)
swc_bundler:
 - Check for external modules for `require` calls`. (Closes #2275)
2021-11-23 18:03:29 +09:00
Donny/강동윤
d0cabc37ed
chore: Publish babel crates (#2835) 2021-11-22 21:41:03 +09:00
Donny/강동윤
6b96a3d8ed
feat: Enable logging of timings (#2833)
swc_timer:
 - Add `Timer`.
 - Add `timer!()`.

node:
 - Enable logging.
2021-11-22 21:01:08 +09:00
Donny
7ec522f165 chore: Publish crates 2021-11-22 17:55:07 +09:00
黄伟
c5768d7672
feat(es/minifier): Improve drop_console (#2830)
swc_ecma_minifier:
 - Implement more rules for `drop_console`. (Closes #2807)
2021-11-22 17:54:36 +09:00
Yoshiaki Togami
bfa6458737
chore: Typo (#2829) 2021-11-22 05:03:41 +09:00
Donny
46e722559e chore: Publish crates 2021-11-22 01:02:49 +09:00
Donny/강동윤
79ba13cbb5
fix(es/parser): Fix comments of empty modules (#2828)
swc_ecma_parser:
 - Use correct span for storing comments when module is empty.
2021-11-22 01:02:28 +09:00
Donny
a392a4c0fd chore: Publish crates 2021-11-21 23:43:31 +09:00
Donny/강동윤
9525ea178f
fix(es/parser): Fix span of empty modules (#2827)
swc_ecma_parser:
 - Don't use dummy span for empty modules.
2021-11-21 23:42:36 +09:00
Donny/강동윤
7a6bf424c5
fix(es/transforms/base): Fix ts_resolver (#2826)
swc_ecma_transforms_base:
 - `ts_resolver`: Hoist type aliases.
2021-11-21 16:31:12 +09:00
Donny
96d8ee522c chore: Publish crates 2021-11-21 16:30:42 +09:00
OJ Kwon
a9a9833be8
perf(es/transforms/compat): Migrate block_scoping to VisitMut (#2817) 2021-11-21 07:30:11 +00:00
Donny
218a269bb5 chore: Publish crates 2021-11-21 15:48:05 +09:00
Donny/강동윤
9cd3d1610d
fix(es/transforms/base): Fix ts_resolver (#2824)
swc_ecma_transforms_base:
 - `ts_resolver`: Hoist interface declarations.
2021-11-21 15:47:38 +09:00
Donny/강동윤
020b4a554d
fix(graph_analyzer): Allow invoking load multiple time (#2823)
swc_graph_analyzer:
 - Make `load` work correctly even if it's called multiple time.
2021-11-21 14:55:59 +09:00
Donny/강동윤
d64b066ef1
bench(es/visit): Add some benchmarks (#2820) 2021-11-21 14:08:55 +09:00
Donny
2749817545 chore: Publish crates 2021-11-20 20:25:28 +09:00
Daniel Luz
95a6a28014
fix(es/transforms/typescript): Allow enum aliases when values are strings (#2816)
swc_ecma_transforms_typescript:
 - `strip`: Support aliasing within string-values enums. (Closes #2809)
2021-11-20 11:13:14 +00:00
Donny/강동윤
6a7775b5da
fix(es/transforms/compat): Fix this in constructor (#2818)
swc_ecma_transforms_classes:
 - Don't modify `this` in constructors.

swc_ecma_transforms_compat:
 - Fix handling of `this` in constructors.
2021-11-20 19:07:42 +09:00
Donny
cdf7f5f5a0 chore: Publish crates 2021-11-20 17:06:40 +09:00
Donny/강동윤
fa342a0067
fix(es/minifier): Fix bugs (#2779)
swc_ecma_minifier:
 - Don't optimize `1 / t == -1 / 0` as `!1`.
 - Don't optimize `e === -1 / 0` as false.
 - Don't inline string literals in arguments, if it's used multiple time. (https://github.com/vercel/next.js/issues/31291)
2021-11-20 17:06:18 +09:00
Donny
5a037876dd chore: Publish crates 2021-11-20 17:05:17 +09:00
OJ Kwon
26734d44eb
fix(es/transforms/compat): Reduce .bind(this) (#2806)
swc_ecma_transforms_compat:
 - `async_to_generator`: Reduce explicit `.bind(this)`.
2021-11-20 08:04:27 +00:00
Donny
43586d0b7c chore: Publish crates 2021-11-20 16:29:43 +09:00
Alexander Akait
4bcf3fc2ad
refactor(css/ast): Split pseudo class and pseudo element (#2675) 2021-11-20 16:29:18 +09:00
Donny
e39748ed4a chore: Publish crates 2021-11-20 15:52:34 +09:00
David Sherret
338b8fd98e
fix(es/parser): Fix span of named export (#2813)
swc_ecma_parser:
- Include semicolon in span of a named export.
2021-11-20 15:52:08 +09:00
OJ Kwon
372f5bf1e0
perf(es/transforms/compat): Migrate parameters to VisitMut (#2804) 2021-11-19 09:27:16 +00:00
Donny/강동윤
1368981f19
fix(wasm): Fix wasm-web (#2803) 2021-11-19 15:04:01 +09:00
Donny
51bee9bfd3 chore: Publish crates 2021-11-19 03:02:31 +09:00
David Sherret
02ffe8a289
fix(es/utils): Fix extract_var_ids (#2798)
swc_ecma_utils:
 - `extract_var_ids`: Handle assignment object pattern property.
2021-11-19 03:02:08 +09:00
Donny
ca55539938 chore: Publish crates 2021-11-19 00:12:37 +09:00
OJ Kwon
5261df52d2
fix(es/transforms/compat): Remove .bind(this) (#2776)
swc_ecma_transforms_compat:
 - `async_to_generator`: Create `_this` instead of using `.bind(this)`.
2021-11-18 14:39:12 +00:00
Donny
8615a64f2f chore: Publish crates 2021-11-18 22:19:10 +09:00
Alexander Akait
e32093e72d
fix(css/parser): Fix parsing of whitespaces (#2787) 2021-11-18 22:18:44 +09:00
Donny
a2f7bade39 chore: Publish crates 2021-11-18 17:25:19 +09:00
Austaras
29da148b3e
fix(es/transforms/compat): Fix optional_chaining(#2791)
swc_ecma_transforms_compat:
 - `optional_chaining`: Preserve arguments of a call in an optional chaining expression.
2021-11-18 08:00:46 +00:00
Donny
4e8cb5dbfd chore: Publish crates 2021-11-18 15:46:30 +09:00
RiESAEX
1caa61a182
fix(es/parser): Allow static/declare to be optional class property name (#2782) 2021-11-18 06:46:07 +00:00
Donny
88fe823e77 chore: Publish crates 2021-11-18 15:13:30 +09:00
Donny/강동윤
af420eab4b
fix(es/utils): Fix collect_decls (#2792)
swc_ecma_utils:
 - `collect_decls`: Handle assignment pattern property. (Closes #2785)
2021-11-18 15:05:26 +09:00
Donny
ee12362688 chore: Publish crates 2021-11-18 14:18:11 +09:00
Alexander Akait
c50cec1533
refactor(css/ast): Rename StyleRule to QualifiedRule (#2756) 2021-11-17 21:27:39 +00:00
Donny
e5604c3e56 chore: Publish 2021-11-18 01:08:33 +09:00
Donny
225af14b52 chore: Publish crates 2021-11-18 01:07:46 +09:00
Donny/강동윤
06e02d8375
fix(es/transforms/compat): Revert #2740 (#2784) 2021-11-18 01:06:42 +09:00
Donny/강동윤
e1b76654f5
chore(es/minifier): Add a script to copy tests from a next.js app (#2778) 2021-11-17 16:18:34 +09:00
Donny
8c04d396e4 chore: Publish crates 2021-11-17 16:06:57 +09:00
Donny/강동윤
53c8939550
test(swc): Add a test for sourcemap (#2777) 2021-11-17 16:06:37 +09:00
Donny/강동윤
95e7f4d4e9
fix: Revert #2766 (#2774) 2021-11-17 14:53:46 +09:00
Donny
e03af45c09 chore: Publish crates 2021-11-17 14:00:33 +09:00
Yuma Suzuki
ddfc7e6e91
fix(es/transform/compat): Preserve more span (#2766)
swc_ecma_transforms_compat:
 - `async_to_generator`: Use correct span for async methods. (Closes #2701)
2021-11-17 14:00:11 +09:00
Donny
7fcbdf20dd chore: Publish crates 2021-11-17 13:50:10 +09:00
Max Graey
1bb2c687c0
refactor(es/parser): Simplify skip_line_comment (#2768) 2021-11-17 13:49:43 +09:00
Alexander Akait
6ce437d65d
feat(css/ast): Add types for An+b syntax (#2759) 2021-11-16 15:01:59 +00:00
KnorpelSenf
2e018769c2
chore: Fix typo (#2764) 2021-11-16 14:39:07 +00:00
Donny
3e4fbe7667 chore: Publish crates 2021-11-16 21:57:24 +09:00
OJ Kwon
2fb4e5a60c
fix(es/transforms/compat): Preserve more span (#2762)
swc_ecma_transforms_compat:
 - `async_to_generator`: Preserve more span. (Closes #2758)
2021-11-16 12:50:51 +00:00
Donny
262c8941a2 chore: Publish crates 2021-11-16 21:17:19 +09:00
Sven
65d376a91b
feat(swc): Add IsModule (#2601)
swc:
 - Allow parsing input as a `Program`. (Closes #2541)
2021-11-16 10:31:02 +00:00
Donny
6129e990d4 chore: Publish crates 2021-11-16 11:55:00 +09:00
Alexander Akait
fdd6eaaa9b
fix(es/loader): Add more built-in modules (#2760) 2021-11-16 01:23:59 +00:00
Donny/강동윤
54bc4054a9
chore: Fix benchmark github action (#2755) 2021-11-16 00:38:03 +09:00
Donny
c15116de07 chore: Publish crates 2021-11-15 17:45:19 +09:00
OJ Kwon
e7cbe3df20
refactor(es/transforms/compat): Migrate to VisitMut (#2751)
swc_ecma_transforms_compat:
 - `export_namespace_from`: Migrate to `VisitMut`.
2021-11-15 08:22:44 +00:00
Donny/강동윤
2462b9941f
refactor: Cleanup (#2749) 2021-11-15 15:24:25 +09:00
Donny
2cd565bfc0 chore: Publish crates 2021-11-15 14:31:44 +09:00
Austaras
dc58122283
feat(es/transforms/compat): Add more loose mode (#2611)
swc_ecma_transforms_compat:
- `computed_properties`: Add loose mode.
- `template_literals`: Add loose mode.
- `object_spread`: Add loose mode.
- `optional_chaining`: Add loose mode.
- `nullish_coalescing`: Add loose mode.
- `optional_chaining`: Fix #2734.
2021-11-15 14:31:21 +09:00
Donny/강동윤
f2c67b8caf
fix(es/minifier): Don't inline string literals if it's used multiple time (#2748)
swc_ecma_minifier:
 - Don't inline strings because it's simple.
 - Inline short strings.
2021-11-15 14:03:03 +09:00
Tim Neutkens
3ebc5c6b69
chore: Update markdown files to use "SWC" instead of "swc" (#2744) 2021-11-15 04:26:04 +00:00
Donny
8df860e16c chore: Publish crates 2021-11-14 06:21:28 +09:00
Hiroshi Ogawa
bb646cc31c
fix(es/transforms/compat): Apply block_scoping before regenerator (#2740) 2021-11-13 21:14:17 +00:00
Donny
898ed7015c chore: Publish crates 2021-11-14 05:35:02 +09:00
Bojan Đurđević
571c5e3123
fix(es/transforms/compat): Fix new_target (#2736) 2021-11-13 20:34:28 +00:00
Donny/강동윤
b869c81888
refactor(swc_bundler): Extract logic for analyzing cycles (#2733) 2021-11-12 23:33:32 +09:00
Donny
3294a35417 chore: Publish crates 2021-11-12 21:27:00 +09:00
RiESAEX
6e10168207
fix(es/parser): Check for more typescript class names (#2732)
swc_ecma_parser:
 - Check for more invalid typescript class names. (Closes #1218)
2021-11-12 21:26:37 +09:00
Donny/강동윤
1d518fe381
refactor: Flatten css (#2731) 2021-11-12 19:37:05 +09:00
Donny
90b7074556 chore: Publish crates 2021-11-12 16:26:08 +09:00
OJ Kwon
6148d0c3da
refactor(es/transforms/compat): Migrate to VisitMut (#2709)
swc_ecma_transforms_compat:
 - `async_to_generator`: Migrate to `VisitMut`.
2021-11-12 07:25:32 +00:00
Donny
544835a3a5 chore: Publish crates 2021-11-11 23:37:43 +09:00
RiESAEX
11d1fa56c0
fix(es/lexer): Fix handling of jsx escapes (#2723)
swc_ecma_parser:
 - Remove logic for unescaping jsx escapes. (Closes #2162)
2021-11-11 14:37:21 +00:00
Donny/강동윤
665c8e05fc
fix(es): Move TargetEnv to loader from ast (#2719)
swc_ecma_ast:
 - Move `TargetEnv` to `swc_ecma_loader`.

swc_ecma_loader:
 - Drop unused dependencies.
2021-11-11 20:00:46 +09:00
Donny/강동윤
1d028fe940
fix(es): Fix paths support (#2712)
swc_ecma_loader:
 - `TsConfigResolver`: Use `baseUrl` on exact match while resolving. (Closes #2126)

swc_ecma_transforms_module:
 - Add `import_rewriter`.
 - `NodeImportResolver`: Don't strip extension if it's a directory. (Closes #2269)
 - `NodeImportResolver`: Don't strip extension if it's not `.ts`, `.js` nor `.tsx`.

swc:
 - Use `import_rewriter`. (Closes #1943, Closes #2523)
 - Update test (Closes #2715)
2021-11-11 16:57:31 +09:00
Donny
3adeb6bf30 chore: Publish crates 2021-11-10 20:57:43 +09:00
Donny/강동윤
df635c9e6d
fix(es/minifier): Fix minifier (#2711)
swc_ecma_minifier:
 - Respect `inline_prevented`.
 - Mark the LHS of an assignment pattern property as a pattern. (https://github.com/vercel/next.js/issues/30498)
2021-11-10 20:56:50 +09:00
Donny/강동윤
2b2f6955f2
refactor: Flatten ecmascript (#2708) 2021-11-10 19:00:54 +09:00
Donny/강동윤
a90fae5696
fix(swc): Fix tests (#2707) 2021-11-10 18:08:45 +09:00
Donny/강동윤
4f70ee6d98
refactor: Flatten more packages (#2706) 2021-11-10 16:39:01 +09:00
Donny/강동윤
8edd72ed73
fix(es/transforms/compat): Use _createSuper for super classes (#2699)
swc_ecma_transforms_base:
 - Add `_createSuper` helper.
 - Add `_isNativeReflectConstruct` helper.

swc_ecma_transforms_compat:
 - `classes`: Apply `_createSuper` to the super classes.
2021-11-10 16:15:03 +09:00
Donny/강동윤
687305f280
refactor: Flatten crates (#2697) 2021-11-09 20:42:49 +09:00