Commit Graph

1507 Commits

Author SHA1 Message Date
Donny/강동윤
bba5a33415
fix(node-swc): Disable logging of warn level by default (#4033) 2022-03-15 15:07:56 +00:00
SWC Bot
cc2aa361fa chore: Publish crates 2022-03-15 14:19:50 +00:00
Donny/강동윤
e19a60aad4
fix(es/compat): Change pass ordering of es2015 (#4029)
**Description:**

We should apply `regenerator` after `block_scoping` because `regenerator` does not know how to handle `const`s.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/3006
2022-03-15 14:17:03 +00:00
SWC Bot
5e89d18370 chore: Publish crates 2022-03-15 12:23:49 +00:00
Austaras
0c76696ed2
fix(es/decorator): Insert initializer to constructor with body (#4028) 2022-03-15 12:21:17 +00:00
SWC Bot
6d5541ccbe chore: Publish crates 2022-03-15 11:00:48 +00:00
Lennart
25e5ccc548
fix(es/parser): Allow building with stable rustc (#4024) 2022-03-15 19:58:29 +09:00
SWC Bot
b12a2f3ba5 chore: Publish crates 2022-03-15 09:47:41 +00:00
Donny/강동윤
73c91d34d5
fix(es/helpers): Inject helpers for scripts (#4025)
**Description:**

This PR adds support for helpers in script mode. For now, we does not support `externalHelpers` for scripts, as there is no standard for importing other files from a script.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/2385
2022-03-15 09:43:57 +00:00
SWC Bot
2f6f829405 chore: Publish crates 2022-03-15 09:17:09 +00:00
Donny/강동윤
0c8c3d7d51
fix(es/decorator): Remove noop_fold_type (#4022) 2022-03-15 09:14:47 +00:00
SWC Bot
531762ae71 chore: Publish crates 2022-03-15 08:45:12 +00:00
Donny/강동윤
3173047f58
refactor(es/minifier): Cleanup (#4020)
**Description:**

 - `Optimizer.data`: `Option<ProgramData>` => `ProgramData`.
 - `Optimizer.done`: Remvoed.
 - `Optimzer.done_ctxt`: Removed.
 - `Pure`: Add `data: Option<&'a ProgramData>`.
2022-03-15 08:42:50 +00:00
SWC Bot
1902682bed chore: Publish crates 2022-03-15 08:15:34 +00:00
OJ Kwon
629709e1b1
feat(cli/compile): Support out-file (#4016) 2022-03-15 08:13:15 +00:00
Donny/강동윤
be09ea6991
feat(es/minifier): Drop noop calls (#4019) 2022-03-15 16:23:32 +09:00
SWC Bot
abd94c8df2 chore: Publish crates 2022-03-15 07:02:06 +00:00
Alexander Akait
4f6f244170
feat(css/prefixer): Implement more rules for prefixer (#4013) 2022-03-15 06:58:22 +00:00
SWC Bot
5800737752 chore: Publish crates 2022-03-15 05:53:53 +00:00
David Campion
b337c2e2d4
fix(es): Sort spans while preserving comments (#4011) 2022-03-15 05:51:44 +00:00
SWC Bot
957a20d383 chore: Publish crates 2022-03-15 05:26:28 +00:00
Sahil mobaidin
f8d6127dd1
fix(es/parser): Report an error if LeftHandSideExpression is invalid (#4001) 2022-03-15 14:24:19 +09:00
SWC Bot
9d6a57c6e5 chore: Publish crates 2022-03-14 14:32:45 +00:00
Alexander Akait
a4bc0927a0
feat(css): Supports more color notations (#4009) 2022-03-14 14:30:09 +00:00
Donny/강동윤
afa97f63df chore: Publish v1.2.155 2022-03-14 19:27:27 +09:00
SWC Bot
db62bb6415 chore: Publish crates 2022-03-14 10:01:39 +00:00
Donny/강동윤
0ad13d93f2
fix(common): Don't use None as source while generating source maps (#4007)
**Description:**

I used https://pastcompute.github.io/ScriptMapper/ to dump source map, and found that line/column becomes null if file is `None`. Seems like the rust crate `sourcemap` is mature enough to handle sourcemaps with those entries, but many other sourcemap libraries, including the one used by `@swc/cli` expects non-null value for the line and the column.
2022-03-14 09:51:51 +00:00
Donny/강동윤
ae2f8d6327 chore: Publish crates 2022-03-14 15:39:23 +09:00
Donny/강동윤
f650ca6bb9
doc(api/rust): Add an example for generating code and sourcemap (#4005) 2022-03-14 03:52:59 +00:00
SWC Bot
833dc89a2d chore: Publish crates 2022-03-14 02:08:47 +00:00
Donny/강동윤
ee9a841f33
test(*): Print diagnostics to stderr while testing (#4003)
**Description:**

This will make debugging stack overflow and parser issues easier because it writes to stderrr right away, instead of holding a buffer for it.
2022-03-14 02:06:34 +00:00
Donny/강동윤
dac84b98e3
doc(api/rust): Add examples (#4002) 2022-03-13 22:07:34 +00:00
SWC Bot
8565a8e8f3 chore: Publish crates 2022-03-13 21:44:41 +00:00
Austaras
87a3c1c916
fix(es/resolver): Use correct context for identifiers after type parameters (#4000) 2022-03-13 21:42:24 +00:00
Donny/강동윤
38c0c0faa6 chore: Publish crates 2022-03-14 04:11:07 +09:00
SWC Bot
8ba1f201b9 chore: Publish crates 2022-03-13 19:09:34 +00:00
Donny/강동윤
40b8a4e596
feat(common): Implement a pretty error reporter (#3946) 2022-03-13 19:07:18 +00:00
SWC Bot
13ee45a830 chore: Publish crates 2022-03-13 18:40:08 +00:00
Alexander Akait
96d6f37c20
feat(css/parser): Improve error reporting (#3999) 2022-03-13 18:37:42 +00:00
SWC Bot
3cfe4ccb94 chore: Publish crates 2022-03-13 18:00:19 +00:00
Alexander Akait
ece8d962f8
fix(css/codegen): Fix source maps (#3997) 2022-03-14 02:55:18 +09:00
SWC Bot
386456f48a chore: Publish crates 2022-03-13 09:13:23 +00:00
Donny/강동윤
a23af2dea2
feat(es/minifier): Compress more comparisons (#3996) 2022-03-13 09:11:16 +00:00
Donny/강동윤
dabc4920a8
test(es): Add auto-closable tests (#3995) 2022-03-13 08:45:55 +00:00
SWC Bot
3fba1a1a6d chore: Publish crates 2022-03-13 07:54:40 +00:00
Donny/강동윤
b22d084180
test(es): Add an execution test system (#3994)
Description:

As we have a way to verify that input is behaving identically, we create a huge matrix of compile options and process the input with all of those options.

This system can be used to check for fixed issues easily.
For first, someone can add issues using a unix hidden directory, which starts with `.`. Those tests are ignored by `testing::fixture`.
Then, when something is changed, one can run `./scripts/check-issues.sh`. If a test succeeds, it means it's fixed and the starting dot (`.`) of the path to the test input file is removed.
2022-03-13 07:47:39 +00:00
SWC Bot
ad3115fa2f chore: Publish crates 2022-03-13 03:29:32 +00:00
Donny/강동윤
64ca5bae4d
feat(es/minifier): Implement more rules for arrows (#3992) 2022-03-13 03:27:15 +00:00
SWC Bot
d9db2faded chore: Publish crates 2022-03-13 02:59:56 +00:00
Donny/강동윤
f7b212bfc4
perf(es/minifier): Use Vec<u8> as a buffer for base54 (#3993)
Description:
We are only using ASCII characters so we can avoid utf8 logics by using `Vec<u8>` as a buffer and converting it into `String` at the end.
2022-03-13 02:57:47 +00:00
SWC Bot
abf6a1b294 chore: Publish crates 2022-03-12 16:16:12 +00:00
Austaras
3590ea2277
fix(es): Merge jsc.loose and jsc.assumptions (#3990) 2022-03-12 16:14:03 +00:00
SWC Bot
2a6106f0b7 chore: Publish crates 2022-03-12 15:38:49 +00:00
magic-akari
04db7e2a9b
perf(es/minifier): Refactor base54 (#3989) 2022-03-12 15:36:42 +00:00
Donny/강동윤
3054409214 chore: Publish crates 2022-03-12 20:47:59 +09:00
Donny/강동윤
bd0fcb9ea4 chore(es/preset-env): Track .json files to make cargo happy 2022-03-12 20:47:29 +09:00
Donny/강동윤
f5e8cc2d09 chore: Publish crates 2022-03-12 20:13:53 +09:00
SWC Bot
ad42c60e05 chore: Publish crates 2022-03-12 11:08:43 +00:00
Donny/강동윤
1beecceead
perf(es/minifier): Merge hashmap for scoping before checking (#3988)
Currently, we check for child scopes by doing a recursive call, like 2ad0d801a2/crates/swc_ecma_minifier/src/pass/mangle_names/analyzer/scope.rs (L112-L114)

But this is slow because it results in an enormous amount of calls.

We can optimize this by merging information of child scopes beforehand.
2022-03-12 20:06:59 +09:00
Donny/강동윤
073d847a33
test(es): Add tests for fixed issues (#3987) 2022-03-12 09:33:32 +00:00
Donny/강동윤
9e4f4e92f7 chore: Publish v1.2.154 2022-03-12 17:40:56 +09:00
SWC Bot
8f1d6302d1 chore: Publish crates 2022-03-12 07:52:26 +00:00
Donny/강동윤
83722df21a
chore(es/preset-env): Use js script for copying files (#3986)
Description:
 - We don't store `.json` from dependencies in our repo anymore.
2022-03-12 07:45:25 +00:00
SWC Bot
7e96a8a9d7 chore: Publish crates 2022-03-12 07:17:08 +00:00
Donny/강동윤
db60291164
perf(common): Use fxhash everywhere (#3985)
Description:
 - To avoid a breaking change, I created a cargo feature that can be used to change hasher.
 - This leads to about 8% perf improvements on m1 max macbook pro 64gb
2022-03-12 07:15:12 +00:00
SWC Bot
fb421b8cc3 chore: Publish crates 2022-03-12 06:47:29 +00:00
Donny/강동윤
67e615421f
perf(es/minifier): Use fxhash for integers (#3984)
Description:
 - `Id` is treated as integer, as `JsWord` and `SyntaxContext` are both integer.
2022-03-12 06:45:35 +00:00
SWC Bot
c6ddb5fcf5 chore: Publish crates 2022-03-12 06:17:50 +00:00
Donny/강동윤
107c91dd20
perf(es/minifier): Make mangler faster by merging hash sets into one (#3983) 2022-03-12 06:16:02 +00:00
SWC Bot
77eb149f87 chore: Publish crates 2022-03-12 05:33:55 +00:00
Donny/강동윤
48f2fd8e1b
fix(es): Change error message as it can be misleading (#3982) 2022-03-12 14:32:00 +09:00
SWC Bot
38f009d2cf chore: Publish crates 2022-03-12 03:04:21 +00:00
Donny/강동윤
f28134fe77
feat(es/lints): Mark catch params as binding patterns while checking duplicates (#3981) 2022-03-12 03:02:22 +00:00
OJ Kwon
485dc54d29
chore(ci): Skip unnecessary package for the benchmark (#3980) 2022-03-12 01:52:53 +00:00
SWC Bot
639d79d2bd chore: Publish crates 2022-03-12 01:28:25 +00:00
Alexander Akait
4a9a5ffa4b
feat(css/prefixer): Prefix more properties (#3976) 2022-03-12 01:26:41 +00:00
Donny/강동윤
ddfa490899 chore: Publish crates 2022-03-12 10:00:23 +09:00
SWC Bot
1ae67affe3 chore: Publish crates 2022-03-11 16:56:55 +00:00
Alexander Akait
516dbc65dc
feat(css/codegen): Fix source maps and ast defs (#3974) 2022-03-11 16:54:33 +00:00
SWC Bot
df7ad95e88 chore: Publish crates 2022-03-11 16:31:05 +00:00
Donny/강동윤
6a6c32203b
chore(es/parser): Add some inline attributes (#3969) 2022-03-11 16:29:05 +00:00
SWC Bot
37c16b0c70 chore: Publish crates 2022-03-11 16:04:13 +00:00
Austaras
502f934ce5
fix(es/preset-env): Move out finished proposals (#3970) 2022-03-11 16:02:05 +00:00
SWC Bot
366e4d3362 chore: Publish crates 2022-03-11 15:38:18 +00:00
Donny/강동윤
858372ffad
fix(es/preset-env): Publish builtin.json (#3973) 2022-03-11 15:36:02 +00:00
SWC Bot
2f874d959a chore: Publish crates 2022-03-11 14:45:08 +00:00
Donny/강동윤
7ebfcfa70f
fix(es/preset-env): Fix compilation issue (#3972) 2022-03-11 14:43:17 +00:00
SWC Bot
d1ac902196 chore: Publish crates 2022-03-11 14:02:55 +00:00
LongYinan
1206c84e19
feat(*): Update dependencies (#3964) 2022-03-11 23:00:55 +09:00
SWC Bot
4c29b26f3c chore: Publish crates 2022-03-11 12:51:44 +00:00
Austaras
487273fc5b
fix(preset-env): Use core-js-compat and @babel/compat-data directly (#3968) 2022-03-11 12:49:53 +00:00
Donny/강동윤
95ab49737c chore: Publish v1.2.153 2022-03-11 18:13:30 +09:00
SWC Bot
6e7fe34557 chore: Publish crates 2022-03-11 09:12:58 +00:00
Donny/강동윤
76e646804a
fix(es/parser): Parse if-else chain iteratively (#3961) 2022-03-11 09:10:54 +00:00
SWC Bot
48cdc13183 chore: Publish crates 2022-03-11 17:48:41 +09:00
SWC Bot
4006794d78 chore: Publish crates 2022-03-11 08:44:23 +00:00
Donny/강동윤
c6b5371c51
fix(es/lints): Don't visit types while collecting const (#3967) 2022-03-11 17:41:28 +09:00
SWC Bot
978a210c68 chore: Publish crates 2022-03-11 07:33:52 +00:00
David Campion
c5a0c9a0ab
feat(es): Add an option to preserve all comments (#3815) 2022-03-11 07:25:59 +00:00
SWC Bot
6257f0f990 chore: Publish crates 2022-03-11 05:48:42 +00:00
Donny/강동윤
fcbd3c5c58
fix(api/rust): Fix transform comment api (#3962) 2022-03-11 05:46:49 +00:00
SWC Bot
3014d7a876 chore: Publish crates 2022-03-11 05:23:53 +00:00
Alexander Akait
5a6ebd36ee
feat(css/codegen): Support source map (#3958) 2022-03-11 05:22:14 +00:00
SWC Bot
15be5f153b chore: Publish crates 2022-03-11 04:57:25 +00:00
magic-akari
579aeb7cfa
feat(es/lints): Refine error message (#3952) 2022-03-11 04:55:37 +00:00
SWC Bot
d62ef6498d chore: Publish crates 2022-03-11 12:52:17 +09:00
SWC Bot
908c10e1db chore: Publish crates 2022-03-10 17:01:52 +00:00
OJ Kwon
ca071fb705
fix(es): Adjust tracing span level (#3911) 2022-03-10 16:59:51 +00:00
SWC Bot
8bb74b6093 chore: Publish crates 2022-03-10 15:23:12 +00:00
underfin
91a302a672
fix(es/minifier): Preserve fuction parameters used for template literals in evaluate and reduce_vars (#3949) 2022-03-10 15:21:06 +00:00
SWC Bot
e55c2a9850 chore: Publish crates 2022-03-10 14:32:17 +00:00
Donny/강동윤
e8018c54d4
fix(es/codegen): Fix sourcemap issue caused by reserved BytePos values (#3948) 2022-03-10 14:30:03 +00:00
SWC Bot
199dfbdd8e chore: Publish crates 2022-03-10 13:54:58 +00:00
Austaras
de8a7116cd
fix(es/compat): Refer this in constructor when super_is_callable_constructor is set (#3944) 2022-03-10 13:52:54 +00:00
Donny/강동윤
1a55bc8ea4 chore: Publish v1.2.152 2022-03-10 16:51:35 +09:00
SWC Bot
666f55e01c chore: Publish crates 2022-03-10 07:48:19 +00:00
Austaras
112f428734
feat(es/compat): Add pure comments for class fields keys (#3939) 2022-03-10 07:13:58 +00:00
SWC Bot
9f72998821 chore: Publish crates 2022-03-10 06:51:46 +00:00
Pig Fang
aec1a54204
feat(preset-env): Update browserslist-rs (#3935) 2022-03-10 06:50:00 +00:00
SWC Bot
41573530c2 chore: Publish crates 2022-03-10 06:21:09 +00:00
underfin
cc564ff6c5
fix(es/minifier): Skip exported vars while collapsing vars (#3928) 2022-03-10 06:19:25 +00:00
SWC Bot
ce57482ac8 chore: Publish crates 2022-03-10 05:57:55 +00:00
Donny/강동윤
f1ec8620ac
perf(es/minifier): Make optimization of pure calls parallel (#3938) 2022-03-10 05:56:02 +00:00
SWC Bot
44b28b5688 chore: Publish crates 2022-03-10 05:33:46 +00:00
Donny/강동윤
46e9d3f62e
fix(es): Don't create .swc if not required (#3937) 2022-03-10 05:32:00 +00:00
SWC Bot
27018b9402 chore: Publish crates 2022-03-10 04:27:18 +00:00
Alexander Akait
62ab17999e
feat(css/prefixer): Implement more rules (#3933) 2022-03-10 04:23:34 +00:00
Donny/강동윤
45a4374ee1
fix(wasm): Fix handling of swc_common::GLOBALS (#3936) 2022-03-10 03:59:46 +00:00
SWC Bot
82b3678b47 chore: Publish crates 2022-03-10 03:17:39 +00:00
OJ Kwon
86ea23785d
perf(*): Update tracing to improve performance of disabled spans (#3932) 2022-03-10 03:15:49 +00:00
SWC Bot
99f381cfa2 chore: Publish crates 2022-03-09 15:44:57 +00:00
Donny/강동윤
9e4dea6663
feat(es/minifier): Improve dropping of unused vars (#3923) 2022-03-09 15:43:01 +00:00
SWC Bot
1fbe209c53 chore: Publish crates 2022-03-09 14:16:10 +00:00
magic-akari
dc457b4883
fix(es/module): Use correct return values for suffix update expressions (#3927) 2022-03-09 23:14:06 +09:00
SWC Bot
a99b9e6bff chore: Publish crates 2022-03-09 12:55:36 +00:00
Donny/강동윤
4b4aef3270
fix(es/parser): Fix the logic for token contexts (#3926) 2022-03-09 12:53:47 +00:00
SWC Bot
56b646cc1a chore: Publish crates 2022-03-09 12:04:50 +00:00
Austaras
bd838ac5a9
feat(es/minifier): Remove pure calls (#3925) 2022-03-09 11:55:31 +00:00
SWC Bot
8f4e10e44c chore: Publish crates 2022-03-09 06:53:48 +00:00
Austaras
12b8606c99
fix(es/compat/es2015): Fix span handling of arrow and classes (#3921) 2022-03-09 06:51:48 +00:00
SWC Bot
531812c28a chore: Publish crates 2022-03-09 06:32:12 +00:00
magic-akari
8559fc9623
fix(es/module): Fix exported vars with bigint values (#3909) 2022-03-09 06:30:28 +00:00
SWC Bot
79a9cb4c72 chore: Publish crates 2022-03-09 04:46:20 +00:00
Donny/강동윤
a8ac7e39b0
feat(es/parser): Relax MSRV requirement (#3922) 2022-03-09 04:44:22 +00:00
SWC Bot
c80d5c87d0 chore: Publish crates 2022-03-09 03:21:02 +00:00
Alexander Akait
c2b9e1c61a
feat(css/prefixer): Handle more properties (#3919) 2022-03-09 03:18:49 +00:00
SWC Bot
550627ccbc chore: Publish crates 2022-03-09 02:56:18 +00:00
Donny/강동윤
3d43a9b69d
feat(es/testing): Print comments in test_fixture (#3920) 2022-03-09 02:54:27 +00:00
SWC Bot
1196cc8155 chore: Publish crates 2022-03-08 14:37:12 +00:00
Austaras
7cfa930a62
feat(es/fixer): Remove extra parens around IIFE in statements (#3918) 2022-03-08 14:35:18 +00:00