Commit Graph

75 Commits

Author SHA1 Message Date
Donny/강동윤
d1097ccb59
feat(css/parser): Store lexed comments (#8091)
**Description:**

For now, we leave every comment as a leading comment. As logic for determining leading vs trailing is quite complex, I'll do it with another PR.
2023-10-10 11:42:20 +00:00
Donny/강동윤
54410047fa
build(deps): Update syn to v2 (#7557) 2023-06-21 15:38:46 +00:00
Donny/강동윤
46fb4619ba
feat(testing): Add CARGO_TARGET_DIR and use it from other crates (#7552) 2023-06-21 03:16:33 +00:00
Donny/강동윤
aa82e5fff3
test(plugin/runner): Share target directory (#7544)
**Description:**

This will reduce CI time greatly.
2023-06-19 05:49:45 +00:00
OJ Kwon
73929fc43c
feat(plugin/runner): Support shared wasix runtime (#7504) 2023-06-08 02:19:07 +00:00
OJ Kwon
ac5ab607c9
refactor(plugin/runner): Revise cache, module loading (#7408)
**Description:**

One of the oversight around design of `TransformExecutor` is
encapsulating plugin module logic. It has access to the cache and do its
own loading & storing. This means consumer of plugin runner have tricky
challenge to control its caching system. First, there is no way to
escape how swc_plugin_runner controls cache and cannot synchronize into
their own, also depends on the usecases cannot control the features they
want to opt in: for example, there's no way one interface uses in-memory
cache, and another uses filesystem since it is compile time configured
singleton.

PR revisits overall design of TransformExecutor: now it accepts a tratir
`PluginModuleBytes`, which abstracts any kind of bytes we are dealing
with, such as raw file slice or serialized `wasmer::Module`. Cache
instantiation and managing is now bubbled up to the application level
(`swc` in here), so if someone wants non-singleton caching or integrate
into their own caching system it can be customized.

Lastly, deprecated `memory_cache` feature and only exposes
`filesystem_cache`. Cache implementation uses in-memory is always
available, and can opt in filesystem cache where it's supported.


**BREAKING CHANGE:**

This is clearly breaking changes for the consumers of swc_core. for the
@swc/core, this PR takes care of necessary changes. I'll work on
next-swc changes later once we have new @swc/core version with this
changes.
2023-05-18 07:05:39 +00:00
OJ Kwon
bba1fad35c
feat(plugin): Add versioned wrapper struct (#7382) 2023-05-15 03:17:31 +00:00
OJ Kwon
4e278befcf
build(cargo): Update wasmer to v3.3 (#7352) 2023-05-05 07:26:38 +00:00
OJ Kwon
efad714983
feat(plugin): Enable validation (#7250) 2023-04-12 12:30:38 +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
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
Donny/강동윤
12546c853a
build(cargo): Revert rustc upgrade (#7162)
**Description:**

The `rkyv` bug is not fixed.
2023-03-29 17:48:45 +09: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
Donny/강동윤
45cdfed6c8
chore(ci): FIx CI (#6861) 2023-01-27 04:44:58 +00:00
Donny/강동윤
99d48e305e
fix(plugin): Make span_to_source use dedicated function (#6853)
**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/6852.
 - Closes https://github.com/swc-project/swc/issues/6404.
2023-01-26 02:09:36 +00:00
Donny/강동윤
d8adc58011
chore(ci): Fix benchmark action (#6582) 2022-12-06 12:24:55 +00:00
Donny/강동윤
fa8f7b00fc
feat(css/plugin): Support Wasm plugin (#6568) 2022-12-02 12:45:17 +00:00
Donny/강동윤
8cdc28cdfa
feat(css/plugin): Prepare Wasm plugins (#6567) 2022-12-02 10:14:46 +00:00
OJ Kwon
7a1c2a1e2c
refactor(es/plugins): Simplify read_result_* (#6426) 2022-11-13 23:17:41 +00:00
Donny/강동윤
10fb645552
chore(ci): Merge CI scripts (#5999)
**Description:**

This PR merges CI scripts, and make integration tests use patched crates.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5540.
2022-09-30 16:57:15 +09:00
Donny/강동윤
8b31b65059
fix(es/codegen): Improve performance of debug build (#6003) 2022-09-30 16:12:56 +09:00
OJ Kwon
3204ac3e0c
build(cargo): Use workspace deps for internal pkg (#6001) 2022-09-30 15:48:23 +09:00
OJ Kwon
af64217f19
build(cargo): Introduce workspace deps (#5997) 2022-09-30 13:43:32 +09:00
Donny/강동윤
3c3529cb84
build(rustc): Update rustc (#5943)
**Description:**

This PR updates rustc, and fix some performance bugs of `swc_common`.
2022-09-24 03:33:47 +00:00
Donny/강동윤
20d071bdc7
test(es/plugin): Add a noop plugin (#5892)
**Description:**

The plugin is used for benchmark and verification of rkyv.
2022-09-18 09:54:06 +00:00
Donny/강동윤
2bbc9bd73b
refactor(es/plugin): Fix lints (#5801) 2022-09-10 12:50:54 +09:00
OJ Kwon
6f19f8902f
refactor(swc_core): enable bytechecked flag (#5792)
**Description:**

Another update to enable bytecheck rkyv feature flag.

Our dep tree is quite tangled with implicit enable (plugin -> rkyv). PR tries to detach some of it while trying to preserve existing behavior as much as it can.
2022-09-09 08:05:51 +00:00
OJ Kwon
975cbfe0d9
refactor(swc_core): Use namespace ecma (#5713) 2022-09-02 10:24:27 +09:00
Donny/강동윤
83fec33359
feat(es/generator): Use new generator implementation (#5627) 2022-08-25 16:10:47 +00:00
Donny/강동윤
927ae7e8d3
fix(es/compat): Revert generator reimplementation (#5624) 2022-08-25 17:58:37 +09:00
Donny/강동윤
2aa009018f
feat(es/generator): Replace generator implementation with one from tsc (#5173) 2022-08-25 04:50:00 +00:00
OJ Kwon
a3e855f720
feat(es/plugin): Provide swc_core diagnostic from plugin (#5591) 2022-08-22 23:48:50 +00:00
OJ Kwon
4a9b1dde1a
fix(es/plugin/runner): Revert wasmer@3 (#5521) 2022-08-17 05:18:56 +00:00
OJ Kwon
92f006c9a0
feat(es/plugin): Update wasmer to 3 (#5456) 2022-08-16 16:12:37 +09:00
OJ Kwon
ef1f259a93
fix(swc_core): Revert crate version metadata patch (#5501) 2022-08-15 14:06:34 +00:00
OJ Kwon
808e68b4b1
feat(swc_core): Provide build-time metadata diagnostics (#5494) 2022-08-15 09:41:14 +00:00
OJ Kwon
83417b6f75
refactor(bindings): Use published swc_core as interface (#5482) 2022-08-14 04:39:27 +00:00
OJ Kwon
9d04f24c26
feat(node): Use published version of swc_core for node binding (#5481) 2022-08-14 01:15:56 +00:00
OJ Kwon
d36e48efbf
build(plugin): Downgrade rkyv (#5459) 2022-08-12 14:04:05 +00:00
OJ Kwon
072eb13bf1
build(es): Bump up packages (#5451) 2022-08-11 23:58:00 +00:00
OJ Kwon
e25b37d579
build(atoms): Bump swc_atoms (#5442) 2022-08-11 18:52:44 +09:00
OJ Kwon
001607f341
feat(plugin): Add some tracing for plugin host (#5438) 2022-08-11 02:01:58 +00:00
OJ Kwon
6a36a8d982
fix(plugin): Disable remaining bytecheck (#5437) 2022-08-11 01:23:00 +00:00
OJ Kwon
8ca736f8ee
feat(swc_core): Expose quote! macros (#5400) 2022-08-05 07:37:42 +00:00
OJ Kwon
038a543be9
feat(swc_core): Expand features to support node bindings (#5387) 2022-08-05 14:11:40 +09:00
OJ Kwon
8b9dd6f026
feat(swc_core): Expand features and use it from wasm and cli (#5369) 2022-08-03 03:38:05 +00:00
OJ Kwon
27b464d90a
feat(swc_core): Introduce package (#5364) 2022-08-02 07:25:59 +00:00
OJ Kwon
5a164bd137
feat(plugin): Make metadata api lazy (#5310) 2022-07-27 13:16:44 +09:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
OJ Kwon
43eeeb35a5
feat(es/plugin): Pass experimental metadata from host (#5261) 2022-07-21 05:34:48 +00:00