[K/Wasm] Fix incompatibilities with webpack.
* Webpack doesn't support "node:" prefix out of the box, so we can just ignore it. * Use a proper way to get a path to the script's dir. #KT-53790 Fixed
This commit is contained in:
@@ -134,13 +134,14 @@ fun generateJsWasmLoader(wasmFilePath: String, externalJs: String): String =
|
|||||||
let wasmInstance;
|
let wasmInstance;
|
||||||
let require; // Placed here to give access to it from externals (js_code)
|
let require; // Placed here to give access to it from externals (js_code)
|
||||||
if (isNodeJs) {
|
if (isNodeJs) {
|
||||||
const module = await import('node:module');
|
const module = await import(/* webpackIgnore: true */'node:module');
|
||||||
require = module.createRequire(import.meta.url);
|
require = module.default.createRequire(import.meta.url);
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const url = require('url');
|
const url = require('url');
|
||||||
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
const filepath = url.fileURLToPath(import.meta.url);
|
||||||
const wasmBuffer = fs.readFileSync(path.resolve(__dirname, './$wasmFilePath'));
|
const dirpath = path.dirname(filepath);
|
||||||
|
const wasmBuffer = fs.readFileSync(path.resolve(dirpath, '$wasmFilePath'));
|
||||||
const wasmModule = new WebAssembly.Module(wasmBuffer);
|
const wasmModule = new WebAssembly.Module(wasmBuffer);
|
||||||
wasmInstance = new WebAssembly.Instance(wasmModule, { js_code });
|
wasmInstance = new WebAssembly.Instance(wasmModule, { js_code });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user