Commit Graph

1452 Commits

Author SHA1 Message Date
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