Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/api
diff options
context:
space:
mode:
authorGuy Bedford <guybedford@gmail.com>2021-08-28 20:16:49 +0300
committerGuy Bedford <guybedford@gmail.com>2021-08-31 18:07:35 +0300
commit162f07b7af24692de32d47b26e7cc5e52fc4e0c2 (patch)
treee9aa7a33f9572954a77d6d02811ff3ec15898699 /doc/api
parentf172c5ad5b5ef126134f45c2626151a675dc4bf3 (diff)
doc: update WASI example to use import.meta.url
PR-URL: https://github.com/nodejs/node/pull/39925 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/wasi.md19
1 files changed, 15 insertions, 4 deletions
diff --git a/doc/api/wasi.md b/doc/api/wasi.md
index 58c310edd82..e0cd77a5a42 100644
--- a/doc/api/wasi.md
+++ b/doc/api/wasi.md
@@ -11,7 +11,7 @@ specification. WASI gives sandboxed WebAssembly applications access to the
underlying operating system via a collection of POSIX-like functions.
```mjs
-import fs from 'fs';
+import { readFile } from 'fs/promises';
import { WASI } from 'wasi';
import { argv, env } from 'process';
@@ -22,9 +22,14 @@ const wasi = new WASI({
'/sandbox': '/some/real/path/that/wasm/can/access'
}
});
+
+// Some WASI binaries require:
+// const importObject = { wasi_unstable: wasi.wasiImport };
const importObject = { wasi_snapshot_preview1: wasi.wasiImport };
-const wasm = await WebAssembly.compile(fs.readFileSync('./demo.wasm'));
+const wasm = await WebAssembly.compile(
+ await readFile(new URL('./demo.wasm', import.meta.url))
+);
const instance = await WebAssembly.instantiate(wasm, importObject);
wasi.start(instance);
@@ -32,9 +37,10 @@ wasi.start(instance);
```cjs
'use strict';
-const fs = require('fs');
+const { readFile } = require('fs/promises');
const { WASI } = require('wasi');
const { argv, env } = require('process');
+const { join } = require('path');
const wasi = new WASI({
args: argv,
@@ -43,10 +49,15 @@ const wasi = new WASI({
'/sandbox': '/some/real/path/that/wasm/can/access'
}
});
+
+// Some WASI binaries require:
+// const importObject = { wasi_unstable: wasi.wasiImport };
const importObject = { wasi_snapshot_preview1: wasi.wasiImport };
(async () => {
- const wasm = await WebAssembly.compile(fs.readFileSync('./demo.wasm'));
+ const wasm = await WebAssembly.compile(
+ await readFile(join(__dirname, 'demo.wasm'))
+ );
const instance = await WebAssembly.instantiate(wasm, importObject);
wasi.start(instance);