-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
Description
Environment
- Operating System:
Darwin - Node Version:
v21.6.2 - Nitro Version:
2.9.1 - Package Manager:
pnpm@8.15.4
Reproduction
N/A
Describe the bug
If a wasm contains imports from relative path, the module name will have foreign unintended characters.
For context, photon-rs has some imports from relative path, and using it causes the following error:
(inject plugin) rollup-plugin-inject: failed to parse ~/Developer/play/nitro-wasm/routes/wasm/photon_rs_bg.wasm. Consider restricting the plugin to particular files via options.include
routes/wasm/photon_rs_bg.wasm (6:2) Error when using sourcemap for reporting an error: Can't resolve original location of error.
[nitro 6:22:17 PM] ERROR RollupError: Unexpected token .. Expected identifier, string literal, numeric literal or [ for the computed key (Note that you need plugins to import files that are not JavaScript)
4: import { base64ToUint8Array } from "unwasm:helpers";
5: const _imports = {
6: ./photon_rs_bg.js: {
^
7: __wbindgen_object_drop_ref: () => { throw new Error("./photon_rs_bg.js.__wbindgen_object_drop_ref is not provid...This issue is resolved when moduleName is json-stringified at L180 in
Lines 180 to 186 in 67a94a9
| code += `\n ${moduleName}: {`; | |
| for (const name of importNames) { | |
| code += pkgImport | |
| ? `\n ${name}: _imports_${moduleName}.${name},\n` | |
| : `\n ${name}: () => { throw new Error("\`${moduleName}.${name}\` is not provided!")},\n`; | |
| } | |
| code += " },\n"; |
Additional context
No response
Logs
No response
pi0 and Zn4rK