Commit Graph

420 Commits

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