Commit Graph

366 Commits

Author SHA1 Message Date
Donny/강동윤
bcd5a1d666
feat(es/compat): Implement transform for explicit resource management (#7376)
**Related issue:**

 - Closes #7316.
 - Closes #7369.
2023-06-29 14:13:43 +00:00
SWC Bot
4efefb0f4e chore: Publish crates 2023-06-23 02:28:10 +00:00
Kieran Siek
95ac74e6e4
refactor(common): Remove add_bitflags and update bitflags (#7571) 2023-06-23 11:26:22 +09:00
SWC Bot
8c1436aaf5 chore: Publish crates 2023-06-22 13:40:52 +00:00
Donny/강동윤
d57d0d3ad3
build(cargo): Update deps (#7566) 2023-06-22 13:37:35 +00:00
SWC Bot
33355cf707 chore: Publish crates 2023-06-22 07:43:38 +00:00
SWC Bot
f9c5265bde chore: Publish crates 2023-06-21 15:44:11 +00:00
Donny/강동윤
54410047fa
build(deps): Update syn to v2 (#7557) 2023-06-21 15:38:46 +00:00
SWC Bot
44aac8fe27 chore: Publish crates 2023-06-19 05:51:51 +00:00
Donny/강동윤
d1430c00b4 chore: Publish crates 2023-06-19 12:36:16 +09:00
Justin Ridgewell
990e48e0e8
fix(es/compat): Fix optional chaining (#7530)
**Description:**

This fixes a few bugs with optional chaining:

-
[`a?.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL1tC05kq0h9AAouc%2F7DgAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D)
-
[`a?.b.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL0kvW0LTmSrSHsQBsP8xLPAAAAA%3D%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D)
-
[`a.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAxWKsQ3AIAwEe6b4Ehq7J0IMkQGQYxMlkkUq9g80d1ccM87nm264eg7MiE2aomwvSiJNKAVjuqNiDuv3O7ohY4%2Bk4r7WdAQhrRRX%2FIwaKV1TAAAA&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D)
-
[`a.b.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAyWLsQ3AIAwEe6b4Ehq7J0IMkQEQ2ESJZJGK%2FYNCdVfcMeO832mK1qNjhi%2B1tCJI2xYrtUASkBLGNEPGHNqvZ3RFxM5Jqtk%2FhMOtgSSTX%2FoBjF6UKV8AAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D)
-
[`a?.b[c?.d]`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdX0IhPVLBVSNRUsLVVyCvNyVGwVyjLz0xRMFCwUohP1EuK1ohPBipIxq4gWS8l1por0R6oLtkezAYAJs%2FWxmEAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D)
- [`delete
foo?.bar`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSMvPV7C1VcgrzclRsFcoKSpNVbBSSEnNSS1JBcnpJSUWcSG49iA%2BAGcLTstEAAAA&config=H4sIAAAAAAAAA1WPSw7CMAxE9zlF5DULYIEEd%2BAQVnCrVPkpTiWqqncnTZMAO3vG42evQkqYWMFDrrnMTcDIFHufFV5cwndWgJRFVlGHBKfmTrxbAxqmIm2HAwnjSKmk%2BHq%2B3GsCjPdMWU5xpipZ7fSw%2FCKVtyESc9vcaRbdaOgfKCoUrH%2FNxayvpCXQccANvkMN1heD5mdL7leJ7QOQNa2NFgEAAA%3D%3D)
- [`function foo(a, b = a?.b)
{}`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSCvNSy7JzM9TSMvP10jUUUhSsFXQ0NBUsLVTqFYoSyxSiE%2B0VnjUsEyhVlNDU1OhupYLm45Ee70kkCQAp8DQOl8AAAA%3D&config=H4sIAAAAAAAAA22Rz07DMAzG73uKyOdJAw5I7Ii4cBjvYKXuyJQ%2Fle3AqmnvTltIm63cHH%2B%2F%2BPtkXzbGwEks7M1lKIeHMkZpE4e5NbU9HdH2b2QToyYeROVM2wVoinQgxQYV1wgTWr0Za8xuZzhHdYH2BjBrCqjOwnYUEhvrUcTZ6gP84bDia0g%2FOX2%2Ftx8YSDq0tAozMFnoNTuvLsp%2FckNf5FMXKI6ZW%2FRS6ddSzgX4lOTeBzpkIb5dpfRR8TzmJxtQLLtOoVrTSc5rw2W%2F92GXBIp8JJ0Gy9PD48s0dJIhpCZ7qq7cd%2FQLPsMMOTkUrBhAcNG1fcmzuf4AkV7gUzECAAA%3D)

It also optimizes the AST for runtime evaluation. Before, we constructed
a leftwards conditional tree (`(_a_b = (_a = a) == null ? void 0 : _a.b)
== null ? void 0 : _a_b.c`) instead of a rightward tree (`(_a = a) ==
null ? void 0 : (_a_b = _a.b) == null ? void 0 : _a_b.c`), which
required multiple `== null` checks after the first nullish is found.

**Related issue:**

 - Closes #7531.
2023-06-19 12:00:11 +09:00
SWC Bot
08574e690b chore: Publish crates 2023-06-12 08:04:50 +00:00
Donny/강동윤
3958f1792c
refactor(es/ast): Remove unused fields (#7518)
**Related issue:**

 - Closes #7347.
 - Closes #7487.
2023-06-12 08:02:34 +00:00
SWC Bot
96895b1f3f chore: Publish crates 2023-06-12 06:49:35 +00:00
Donny/강동윤
aa83584634
refactor(es/ast): Reimplement optional chaining (#7441)
**Related issue:**

 - Closes #7003.
 - Closes #7156.
2023-06-12 06:47:40 +00:00
SWC Bot
a63905aa2c chore: Publish crates 2023-05-30 05:18:06 +00:00
SWC Bot
6c3ff01a53 chore: Publish crates 2023-05-24 07:48:00 +00:00
SWC Bot
da0c612d85 chore: Publish crates 2023-05-16 05:18:57 +00:00
Donny/강동윤
3a0565f377
chore(plugin): Update rkyv to v0.7.42 (#7397) 2023-05-16 14:17:12 +09:00
SWC Bot
5e3d156aca chore: Publish crates 2023-05-15 03:20:03 +00:00
SWC Bot
e88ae37a0c chore: Publish crates 2023-05-12 00:47:49 +00:00
SWC Bot
65785bdf21 chore: Publish crates 2023-05-10 04:19:21 +00:00
Donny/강동윤
041b491466
feat(es/parser): Implement explicit resource management (#7322)
**Description:**

 - Add `UsingDecl`.
 - Add `UsingDecl` to `Decl`.
 - Rename `VarDeclOrPat` to `ForHead`.
 - Add `UsingDecl` to `ForHead`.
 - Implement parser for using declarations.

**Related issue:**

 - #7316.
2023-05-10 04:16:44 +00:00
SWC Bot
7fc9b00443 chore: Publish crates 2023-05-08 03:40:27 +00:00
Donny/강동윤
9c052db796
feat(es/compat): Support export class from stage 3 decorator pass (#7363)
**Related issue:**

 - Closes #7358.
2023-05-08 03:38:43 +00:00
SWC Bot
aef5ac4812 chore: Publish crates 2023-05-06 03:56:38 +00:00
OJ Kwon
d2c1f45f5a
feat(plugin): Enable bytecheck (#7280)
**Description:**

Second attempt to enable bytecheck. This PR does not have versioned struct yet, just enabling bytecheck wherever possible. Also, it is for the ast only yet, so transform metadata and others might need this later.

PR seems to be passing all the ci, but as we've experienced before, there might be some unexpected outcomes with the release. Maybe better to hold this until clear https://github.com/swc-project/swc/issues/7238, then land as a separate release.
2023-05-06 03:54:25 +00:00
SWC Bot
923ed13b6a chore: Publish crates 2023-04-24 09:25:42 +00:00
SWC Bot
42c4b07f34 chore: Publish crates 2023-04-15 03:29:04 +00:00
IWANABETHATGUY
c4cce12758
build(cargo): Update bitflags to v2 (#7270) 2023-04-15 03:26:56 +00:00
SWC Bot
e6cffb7581 chore: Publish crates 2023-04-13 08:41:47 +00:00
OJ Kwon
ff3decc7db
build(plugin): Update rkyv (#7257) 2023-04-13 08:39:23 +00:00
SWC Bot
8fc527343b chore: Publish crates 2023-04-13 05:52:04 +00:00
OJ Kwon
6bd58cbcfd
refactor(plugin): Remove bytecheck flag (#7256) 2023-04-13 05:49:58 +00:00
SWC Bot
8e5cb60183 chore: Publish crates 2023-04-12 12:33:03 +00:00
OJ Kwon
efad714983
feat(plugin): Enable validation (#7250) 2023-04-12 12:30:38 +00:00
SWC Bot
2204b7809b chore: Publish crates 2023-04-10 03:42:39 +00:00
OJ Kwon
56bdacc72d
feat(plugin/runner): Update wasmer to v3 (#7197)
**Description:**

This PR reattempts https://github.com/swc-project/swc/pull/5456.

Most of the changes are for the breaking changes of wasmer@3, as well as enabling rkyv's strict mode (https://github.com/swc-project/swc/pull/6922). This could not be seperated since wasmer@3 enables strict mode by default without a way to turn it off.

There are a couple of changes worth noting:

- Disabling in-memory module lookup: https://github.com/swc-project/swc/pull/7197/files#diff-3bda5def6ce2b7553c3b3a5ad241c0bdb7021e67b7de1e594df4cd5a54d403b3R154-R159
- Disabling plugin_runner in bindings_wasm: https://github.com/swc-project/swc/pull/7197/files#diff-dc3ded556a1fd709a129acd588e5eda651b842c6acc3f5340d40088a1f927facR310-R312
- Skipping plugin compat test: https://github.com/swc-project/swc/pull/7197/files#diff-531197dfcefba05faca53f0cf442ecc2dc6b59d5ead01979f5ffb912aa36249aR64-R66
2023-04-10 03:40:25 +00:00
SWC Bot
c6b28f91cc chore: Publish crates 2023-04-05 05:17:51 +00:00
SWC Bot
b94fbed4c9 chore: Publish crates 2023-03-31 06:17:53 +00:00
SWC Bot
b1fb6b655f chore: Publish crates 2023-03-30 08:08:20 +00:00
Donny/강동윤
0259a7465f
build(cargo): Update rustc to nightly-2023-03-20 (#7170)
**Description:**

This PR also updates `rkyv` to `=0.7.40`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6807.
2023-03-30 08:06:02 +00:00
SWC Bot
44062d6fa5 chore: Publish crates 2023-03-29 08:50:54 +00:00
Donny/강동윤
12546c853a
build(cargo): Revert rustc upgrade (#7162)
**Description:**

The `rkyv` bug is not fixed.
2023-03-29 17:48:45 +09:00
SWC Bot
d74103739a chore: Publish crates 2023-03-29 06:26:30 +00:00
Donny/강동윤
e445502072
build(cargo): Update rustc to nightly-2023-03-28 (#7154)
**Description:**

This PR also updates `rkyv` to `=0.7.40`.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6807.
2023-03-29 06:24:19 +00:00
SWC Bot
47f15f9f28 chore: Publish crates 2023-03-27 06:04:11 +00:00
SWC Bot
8fe52a12b3 chore: Publish crates 2023-03-27 04:31:35 +00:00
Donny/강동윤
30bc086052
refactor(ast): Make serde optional (#7138)
**Description:**

Turbopack does not use `serde` of swc AST types.
2023-03-27 13:28:42 +09:00
Donny/강동윤
28261985b0
chore(cargo): Refactor Cargo.toml to reduce merge conflict (#7139) 2023-03-24 13:46:42 +09:00
SWC Bot
b178ff5661 chore: Publish crates 2023-03-23 09:19:33 +00:00
SWC Bot
42f71431bf chore: Publish crates 2023-03-23 05:19:01 +00:00
Donny/강동윤
dfe1a3f496
refactor(es): Remove needless build scripts to reduce compile time (#7129) 2023-03-23 05:15:59 +00:00
SWC Bot
e77bc0a62f chore: Publish crates 2023-03-23 04:39:01 +00:00
Donny/강동윤
08fa94fc73
refactor(es/codegen): Extract code from generic functions to reduce compile time (#7127) 2023-03-23 04:37:02 +00:00
SWC Bot
212af9b0a7 chore: Publish crates 2023-03-21 08:48:30 +00:00
Donny/강동윤
6a570a334c
fix(es/ast): Fix EqIgnoreSpan impl of Number (#7112)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/7111.
2023-03-21 08:46:22 +00:00
SWC Bot
3da6d18d47 chore: Publish crates 2023-03-13 03:27:50 +00:00
SWC Bot
136c498c80 chore: Publish crates 2023-03-12 04:52:09 +00:00
Donny/강동윤
085c6f35f1
fix(es/ast): Fix memory layout (#7062)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/7061.
2023-03-12 04:50:28 +00:00
SWC Bot
4015714633 chore: Publish crates 2023-03-12 03:57:57 +00:00
magic-akari
bb6dde7943
fix(es/compat): Handle useDefineForClassFields: false (#7055)
**BREAKING CHANGE:**

IMPORTANT NOTE: Users of decorators are recommended to configure `"useDefineForClassFields": false` to ensure that your code is properly transpiled.


**Related issue:**
 - Closes https://github.com/swc-project/swc/issues/6985.
2023-03-12 12:56:10 +09:00
SWC Bot
0b0e61beb6 chore: Publish crates 2023-03-11 03:44:48 +00:00
SWC Bot
02e9e49733 chore: Publish crates 2023-03-10 03:54:16 +00:00
SWC Bot
03488a3fb6 chore: Publish crates 2023-03-09 13:36:17 +00:00
Donny/강동윤
a9fe1d2d22
perf(es/ast): Shrink size of Expr (#7041)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/7019.
2023-03-09 13:34:11 +00:00
SWC Bot
56aac6783b chore: Publish crates 2023-03-08 02:51:08 +00:00
SWC Bot
79549c0f20 chore: Publish crates 2023-03-07 14:50:22 +00:00
SWC Bot
bbb3615af7 chore: Publish crates 2023-02-28 06:42:16 +00:00
Donny/강동윤
37533a23fd
feat(es/parser): Support auto accessors (#6981) 2023-02-28 06:39:25 +00:00
SWC Bot
94138c801c chore: Publish crates 2023-02-28 06:04:29 +00:00
magic-akari
beb38d34a2
feat(es/typescript): Support export type * from "mod" (#6867) 2023-02-28 06:01:37 +00:00
SWC Bot
6496796c59 chore: Publish crates 2023-02-22 06:52:59 +00:00
SWC Bot
786f8180ad chore: Publish crates 2023-02-20 05:31:02 +00:00
SWC Bot
b9212cfee0 chore: Publish crates 2023-02-10 02:51:53 +00:00
SWC Bot
cade201a1f chore: Publish crates 2023-02-10 02:30:18 +00:00
SWC Bot
0bb4dc2c3d chore: Publish crates 2023-01-29 14:56:26 +00:00
SWC Bot
8fc1b651b1 chore: Publish crates 2023-01-26 02:11:53 +00:00
SWC Bot
a5707ae7c1 chore: Publish crates 2023-01-15 06:45:26 +00:00
Donny/강동윤
ff78b8f7e0
feat(es/ast): Add EsNext to EsVersion (#6816) 2023-01-15 15:43:10 +09:00
SWC Bot
478b1fe458 chore: Publish crates 2023-01-10 05:10:48 +00:00
magic-akari
019cf37199
feat(es/typescript): Support const modifier on type parameters (#6672)
**Related issue:**

 - https://github.com/microsoft/TypeScript/pull/51865.
2023-01-10 05:08:29 +00:00
SWC Bot
a225efe363 chore: Publish crates 2023-01-08 04:59:27 +00:00
SWC Bot
1161360d54 chore: Publish crates 2023-01-06 03:49:20 +00:00
SWC Bot
61245739ea chore: Publish crates 2022-12-21 03:03:05 +00:00
SWC Bot
913230d02a chore: Publish crates 2022-12-20 06:11:34 +00:00
SWC Bot
30692bc26c chore: Publish crates 2022-12-13 15:48:32 +00:00
SWC Bot
292c3388b5 chore: Publish crates 2022-12-13 07:31:37 +00:00
SWC Bot
581d9ce769 chore: Publish crates 2022-12-13 03:38:21 +00:00
SWC Bot
4d4406d5b3 chore: Publish crates 2022-12-12 02:40:19 +00:00
SWC Bot
2379fc1fd9 chore: Publish crates 2022-12-04 05:55:52 +00:00
SWC Bot
cffa11122b chore: Publish crates 2022-12-03 00:26:38 +00:00
SWC Bot
ab2e19b601 chore: Publish crates 2022-12-02 08:01:39 +00:00
SWC Bot
171733e8bb chore: Publish crates 2022-11-30 07:50:13 +00:00
SWC Bot
96a1f93e91 chore: Publish crates 2022-11-28 07:54:59 +00:00
SWC Bot
59954370cb chore: Publish crates 2022-11-20 00:30:30 +00:00
SWC Bot
2088dd4a84 chore: Publish crates 2022-11-11 22:50:50 +00:00
SWC Bot
9f685796c3 chore: Publish crates 2022-11-07 03:59:24 +00:00
Daiki Nishikawa
f6faeb3bad
fix(es/parser): Fix parsing of TS satisfies expressions (#6354) 2022-11-07 03:56:15 +00:00
SWC Bot
a4546a4d22 chore: Publish crates 2022-10-28 01:27:37 +00:00