Commit Graph

84 Commits

Author SHA1 Message Date
Donny/강동윤
a08bb46ebd
feat(bindings/ts): Add transform/strip-only mode (#9138)
**Description:**

This PR adds `strip-only`/`transform` mode to `@swc/wasm-typescript`.

 - Both mode errors on decorator usages.
 - In `strip-only` mode, `enum` and TypeScript parameter properties are treated as an invalid syntax.
 - In `transform` mode, those are transpiled.
2024-07-04 17:51:01 +09:00
Donny/강동윤
6b3c0da755
feat(binding): Create Wasm package for stripping only TypeScript (#9124)
**Description:**

This PR adds a Wasm binding which is only capable of stripping TypeScript types.


**Related issue:**

 - https://github.com/marco-ippolito/node/pull/2
2024-07-03 00:50:59 +00:00
Pig Fang
18d6277e4c
feat(preset-env): Upgrade browserslist-rs (#9023)
**Description:**

Compilation time of browserslist-rs has beed reduced by 32%. See:
https://github.com/browserslist/browserslist-rs/pull/23

But, it's still slower that oxc-browserslist:


![image](https://github.com/swc-project/swc/assets/17216317/44602603-e33f-442e-9ee0-242061089397)

while browserslist-rs costs about 3.9s.




**Related issue:**

Close #9014

---------

Co-authored-by: 강동윤 (Donny) <kdy1997.dev@gmail.com>
2024-07-01 05:20:49 +00:00
Donny/강동윤
e755bce438
chore: Implement Verify release with ecosystem (#9064)
**Description:**

This is a follow-up PR for https://github.com/swc-project/swc/pull/9062. This PR integrates swc-ecosystem-ci to publish pipeline. For faster debugging, I disabled the build process.
2024-06-17 08:58:52 +09:00
Donny/강동윤
886bf0e9c2
chore: Implement Determine nightly version (#9061)
**Description:**

This is a follow-up PR of https://github.com/swc-project/swc/pull/9060. I'll integrate `swc-ecosystem-ci` into publish pipeline to prevent regressions.
2024-06-16 19:29:18 +09:00
강동윤 (Donny)
48fd8ecb46 chore: Publish 1.5.21-nightly-20240529.4 with swc_core v0.92.6 2024-05-29 23:08:24 +09:00
강동윤 (Donny)
2406b8873d chore: Fix yarn workspace 2024-05-28 23:59:47 +09:00
강동윤 (Donny)
c0979db821 chore: Fix publish pipeline by using a shared workspace 2024-05-28 23:49:32 +09:00
Donny/강동윤
f960d52364
refactor(bindings): Make @swc/core a subpackage (#8625)
**Description:**

This is for consistency and future extensions.
2024-05-18 09:23:06 +09:00
강동윤 (Donny)
1c38badecc chore: Update @swc/types 2024-05-15 08:53:02 +09:00
LongYinan
e3acd1476c
refactor(es): Prepare wasm32-wasi-preview1-threads target support (#8724) 2024-03-11 13:27:29 +09:00
Donny/강동윤
cd7511a659
chore(ci): Update Wasm plugin for e2e testing (#8623) 2024-02-08 05:58:09 +00:00
Donny/강동윤
95fe3dbe93
test: Update @swc/plguin-jest used for plugin e2e testing (#8601) 2024-02-05 19:32:43 +09:00
Donny/강동윤
6c50ff1bec
refactor(bindings): Remove bindings for experimental packages (#8600)
**Description:**

These packages do not have the same versioning strategy as the main package.
2024-02-05 17:52:22 +09:00
강동윤 (Donny)
fb8d6cde0e Update @swc/plugin-jest 2024-01-21 15:59:06 +09:00
LongYinan
8d47b9ab40
chore(ci): Fix prepublish script by upgrading NAPI-RS cli (#8430) 2023-12-17 11:20:59 +09:00
Donny/강동윤
c39ba68207
chore(ci): Fix publish action (#8420) 2023-12-13 10:41:40 +00:00
LongYinan
4b8184ca99
chore(ci): Add linux arm build back (#8406) 2023-12-11 04:45:04 +00:00
Donny/강동윤
99ad5022d1
chore: Publish v1.3.98 with swc_core v0.86.73 (#8321) 2023-11-21 10:21:44 +09:00
Donny/강동윤
3dc4e1e02d
feat(es/preset-env): Update compat data (#8194)
**Related issue:**

 - Closes #8193.
2023-10-30 08:46:24 +00:00
Donny/강동윤
0acbb5f78d
refactor(bindingins): Create @swc/counter (#7991) 2023-09-22 23:48:27 +00:00
강동윤 (Donny)
67e30819bd chore: Publish crates 2023-09-15 15:07:28 +09:00
Donny/강동윤
71d01ec127
feat(es): Add an option to disable builtin transforms (#7873) 2023-08-26 01:12:36 +00:00
Donny/강동윤
f713f1b2f6
refactor(es/types): Extract @swc/types as a small, reusable package (#7834)
**Related issue:**

 - Closes #7828
2023-08-18 06:24:49 +00:00
Donny/강동윤
fe1ca26218
fix(es): Resolve jsc.baseUrl for .swcrc specified by --config-file (#7801)
**Related issue:**

 - Closes #7800
2023-08-14 16:33:17 +00:00
Donny/강동윤
7e9e84e230
feat(es/preset-env): Update compat data (#7630) 2023-07-07 02:57:48 +00: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
Donny/강동윤
e15adaf6ea
chore(es/preset-env): Update data (#7459) 2023-05-28 13:27:38 +00:00
OJ Kwon
bba1fad35c
feat(plugin): Add versioned wrapper struct (#7382) 2023-05-15 03:17:31 +00:00
Donny/강동윤
695ce060e9
test(es/plugin): Enable E2E test again (#7236) 2023-04-10 07:01:56 +00:00
Niklas Mischkulnig
e86d59882a
fix(bindings/node): Make peer dependency of helpers optional (#7216)
**Description:**

Mark the `@swc/helpers` dependency of `@swc/core` as optional.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/7212.
2023-04-06 14:28:08 +09:00
Donny/강동윤
9ae13a1d9e
chore: Publish v1.3.46 with fixed peerDependency (#7206) 2023-04-04 19:27:43 +09:00
magic-akari
3ca954b9f9
fix(es/helpers): Use snake_case for helpers (#7147)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/7144.
 - Closes https://github.com/swc-project/swc/issues/7118.
2023-03-31 15:15:21 +09:00
Donny/강동윤
a785f18740
test(es/plugin): Enable E2E plugin test (#7178) 2023-03-31 04:01:17 +00:00
Donny/강동윤
7e6e7b107e
chore(ci): Fix publish action (#6757)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-01-06 08:43:32 +09:00
OJ Kwon
30dd65bb83
feat(bindings): Remove swcx from @swc/core (#6720) 2022-12-30 06:31:57 +00:00
LongYinan
e7849dbc6a
build(bindings): Crash in GraalVM (#6689) 2022-12-20 07:03:41 +00:00
Donny/강동윤
85875897f1
chore(ci): Fix CI (#6558) 2022-12-01 04:21:19 +00:00
Donny/강동윤
ae6322064d
feat(es/preset-env): Update data (#6538) 2022-11-30 04:27:59 +00:00
OJ Kwon
8ca3cc7875
chore(ci): Ensure to honor node package manager (#6437) 2022-11-15 00:52:44 +00:00
Donny/강동윤
13b4d317a5 chore(ci): Fix publish action 2022-11-03 12:04:13 +09:00
Vincent Ricard
205a317c4d
feat(css/minifier): Compute calc expressions (#5966) 2022-10-12 10:03:14 +00:00
Donny/강동윤
fee747de59 chore(ci): Fix publish action by reverting #5969 2022-10-06 16:36:01 +09:00
OJ Kwon
ca38a7027e
test(es/plugin): Reenable compat test (#5969) 2022-09-28 10:54:51 +09:00
Donny/강동윤
88e59ffcda
perf(css/minifier): Setup benchmark (#5800)
**Description:**

I created a simple benchmark for the css minifier. It's full benchmark, which also profiles parser and codegen
2022-09-10 13:39:55 +09:00
Donny/강동윤
32a73fbf22
fix(es/minifier): Fix calculation of character frequency (#5772) 2022-09-07 04:46:21 +00:00
OJ Kwon
81ab8a29e3
test(es/plugin): Add E2E test for the published plugins (#5771) 2022-09-07 02:05:42 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser (#5763) 2022-09-06 21:37:58 +09:00
Donny/강동윤
b378c06081
perf(es/minifier): Make name mangler faster (#5336) 2022-07-29 08:05:23 +00:00
OJ Kwon
add1b75f61
test(es): Update test cases (#5334) 2022-07-29 11:02:10 +09:00