Commit Graph

39 Commits

Author SHA1 Message Date
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
OJ Kwon
92f006c9a0
feat(es/plugin): Update wasmer to 3 (#5456) 2022-08-16 16:12:37 +09: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
OJ Kwon
bd1c2cc7e6
feat(es/plugin): Add experimental metadata field (#5254) 2022-07-20 07:51:47 +00:00
OJ Kwon
92c0153cb5
feat(plugin): Pass unresolved_mark to plugins (#5212) 2022-07-15 01:11:17 +00:00
OJ Kwon
f167198470
feat(plugin/macros): Export new interface for getting plugin schema version (#5166) 2022-07-11 01:44:00 +00:00
OJ Kwon
82fbe15a57
feat(plugin): Wrap serialized struct with a version (#5128) 2022-07-07 07:46:49 +00:00
OJ Kwon
2ba8b39fa0
refactor(common): Bikeshed plugin apis (#5120) 2022-07-06 04:42:00 +00:00
OJ Kwon
846a31919e
refactor(plugin): Align deps (#4568) 2022-05-08 03:19:43 +00:00
OJ Kwon
10f903dd39
feat(plugin): Make plugin source map api use SourceMapper (#4541) 2022-05-06 07:11:00 +00:00
OJ Kwon
c0432e46df
feat(plugin): Expose Pos (#4516) 2022-05-04 04:59:30 +00:00
OJ Kwon
f06c862a9f feat(plugin): Support lookup_char_pos of SourceMap (#4364) 2022-04-19 14:26:28 +09:00
OJ Kwon
cf7ca5076a
refactor(plugin/api): Expand the proxy crate (#4290) 2022-04-09 07:47:43 +00:00
OJ Kwon
281db2cc4f
feat(plugin): Make more types serializable (#4289) 2022-04-09 16:12:14 +09:00
OJ Kwon
fad652f879
chore(plugin): Align version of swc_common to include dummy comment api (#4270) 2022-04-07 07:21:37 +00:00
OJ Kwon
8706c17c4f
refactor(plugin): Consolidate exported namespaces (#4263) 2022-04-07 04:07:10 +00:00
Victor Sumner
7bc04a6791
feat(plugin/api): Expose swc_ecma_utils (#4256) 2022-04-06 04:43:32 +00:00
OJ Kwon
6ea66cf001
feat(plugin): Implement plugin api for comments (#4229) 2022-04-03 15:22:36 +09:00
OJ Kwon
536a190dc9
feat(plugin): Implement PoC of comments api (#4206) 2022-03-31 08:45:08 +00:00
Donny/강동윤
5de31416be
feat(es/plugin): Make quote optional (#4160) 2022-03-25 11:16:06 +00:00
OJ Kwon
bc60a6e90c
feat(plugin): Expose swc_ecma_quote (#3790) 2022-03-01 12:46:16 +09:00
OJ Kwon
88e07b21d1
refactor(plugin): Remove direct dependency to once_cell (#3582) 2022-02-16 14:43:25 +09:00
Donny/강동윤
fbe91963bf
fix(plugin): Allow testing (#3542) 2022-02-12 15:53:41 +09:00
OJ Kwon
6ed089e1cf
feat(cli): Add a command for scaffolding a new plugin (#3536) 2022-02-12 13:48:40 +09:00
Donny/강동윤
9b76783281
refactor(common): Cleanup & rustfmt (#3495)
swc_common:
 - Merge identical source codes.

swc_css_parser:
 - Deny `clippy::all`.
 - Fix lints.
2022-02-09 06:33:32 +00:00
OJ Kwon
494b4c8203
feat(swc/plugin): Implement proxy for Mark::fresh (#3492) 2022-02-09 13:56:39 +09:00
OJ Kwon
d473a65976
feat(plugin): Support global HANDLER in the plugin context (#3478) 2022-02-08 14:06:10 +09:00
OJ Kwon
a8debc17f6
feat(plugin): Pass host context to plugins for diagnostics emission (#3359) 2022-01-25 08:13:39 +00:00
OJ Kwon
438649818f
refactor(plugin): Remove multivalue polyfill (#3346) 2022-01-24 15:13:30 +09:00
OJ Kwon
c6ffdc8717
feat(plugin): Add PluginError (#3300) 2022-01-18 12:26:04 +09:00
OJ Kwon
432d5d3fb7
feat(plugin/macro): Add safe API for plugins based on a proc-macro (#3240) 2022-01-12 09:32:52 +00:00
OJ Kwon
a2f2b5ac89
feat(plugin): Don't serialize/deserialize needlessly (#3227)
swc_common:
 - Add `Serialized`.

swc_plugin_runner:
 - Accept `Serialized` instead of `Program`.
 - Pass `Serialized` from previous plugin instead of deserializing it.
2022-01-11 10:11:04 +00:00
OJ Kwon
7e7421ea52
feat(plugin): Perform actual transforms in plugins (#3220) 2022-01-10 21:34:16 +09:00
OJ Kwon
92de2c7884
feat(plugin): Pass serialized ast to a wasm file (#3199)
swc_common:
 - Use correct cargo feature for plugin apis.

swc_plugin:
 - Add hidden functions required for memory operations from host.

swc_plugin_runner:
 - Pass serialized AST to a wasm file.
2022-01-07 15:13:46 +09:00
OJ Kwon
32d3342283
refactor(plugin): Remove codes related to the plugin system based on abi_stable (#3188) 2022-01-04 10:26:17 +00:00
Donny/강동윤
91ef3cc16e
feat(plugin): Enable plugin support under experimental flag (#2894)
swc_plugin_runner:
 - Add plugin resolver.
 - Implement cache for resolver.
 - Add some integration tests.

swc:
 - Add a cargo feature named `plugin`.
 - Add an experimental option for plugins.

node:
 - Enable `plugin`.
 - Add some integration tests.
2021-11-28 17:02:14 +09:00
Donny/강동윤
ffcb357010
feat(plugin): Rename Plugin to JsPlugin (#2893)
swc_js_plugin_api:
 - Rename to js plugin.
 - Use rplugin and plugin ast instead of json.
2021-11-27 22:21:25 +09:00
Donny/강동윤
687305f280
refactor: Flatten crates (#2697) 2021-11-09 20:42:49 +09:00