mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 14:48:40 +00:00
bd61913973
* wasm: patch wasm_exec.js and wasm_exec_node.js from Go 1.18+ Port this commit https://github.com/golang/go/commit/680caf15355057ca84857a2a291b6f5c44e73329 removing polyfills from `wasm_exec.js`, now the environment is expected to provide all the required polyfills. `wasm_exec.js` now only provides stub fallbacks for globalThis.fs and globalThis.process. All NodeJS specific code is now in a separate file `wasm_exec_node.js` with its required polyfills. * feat: bump minimum node version to 22 Drops official support for NodeJS 18 for WASM by removing the provided polyfills in the `wasm_exec.js`. Now the environment is expected to provide the polyfill if it is running on older NodeJS versions The new minimum required version for WASM is NodeJS 22+. * chore: removed wrong comment `wasm_exec_node.js` no longer contains the polyfill for NodeJS 18
24 lines
504 B
JavaScript
24 lines
504 B
JavaScript
const fs = require('fs')
|
|
|
|
require('../targets/wasm_exec.js');
|
|
|
|
var callback;
|
|
|
|
global.setCallback = (cb) => {
|
|
callback = cb;
|
|
};
|
|
|
|
global.callCallback = () => {
|
|
console.log('calling callback!');
|
|
let result = callback(1, 2, 3, 4);
|
|
console.log('result from callback:', result);
|
|
};
|
|
|
|
let go = new Go();
|
|
WebAssembly.instantiate(fs.readFileSync(process.argv[2]), go.importObject).then((result) => {
|
|
go.run(result.instance);
|
|
}).catch((err) => {
|
|
console.error(err);
|
|
process.exit(1);
|
|
});
|