mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-06-24 18:21:33 +00:00
Implement the local JS snippets RFC
This commit is an implementation of [RFC 6] which enables crates to inline local JS snippets into the final output artifact of `wasm-bindgen`. This is accompanied with a few minor breaking changes which are intended to be relatively minor in practice: * The `module` attribute disallows paths starting with `./` and `../`. It requires paths starting with `/` to actually exist on the filesystem. * The `--browser` flag no longer emits bundler-compatible code, but rather emits an ES module that can be natively loaded into a browser. Otherwise be sure to check out [the RFC][RFC 6] for more details, and otherwise this should implement at least the MVP version of the RFC! Notably at this time JS snippets with `--nodejs` or `--no-modules` are not supported and will unconditionally generate an error. [RFC 6]: https://github.com/rustwasm/rfcs/pull/6 Closes #1311
This commit is contained in:
15
crates/macro/ui-tests/import-local.rs
Normal file
15
crates/macro/ui-tests/import-local.rs
Normal file
@ -0,0 +1,15 @@
|
||||
extern crate wasm_bindgen;
|
||||
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
#[wasm_bindgen(module = "./foo.js")]
|
||||
extern {
|
||||
fn wut();
|
||||
}
|
||||
|
||||
#[wasm_bindgen(module = "../foo.js")]
|
||||
extern {
|
||||
fn wut();
|
||||
}
|
||||
|
||||
fn main() {}
|
14
crates/macro/ui-tests/import-local.stderr
Normal file
14
crates/macro/ui-tests/import-local.stderr
Normal file
@ -0,0 +1,14 @@
|
||||
error: relative module paths aren't supported yet
|
||||
--> $DIR/import-local.rs:5:25
|
||||
|
|
||||
5 | #[wasm_bindgen(module = "./foo.js")]
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: relative module paths aren't supported yet
|
||||
--> $DIR/import-local.rs:10:25
|
||||
|
|
||||
10 | #[wasm_bindgen(module = "../foo.js")]
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
Reference in New Issue
Block a user