@napi-rs/cli 3.0.0-alpha.6 → 3.0.0-alpha.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/artifacts.js +28 -7
- package/dist/api/artifacts.js.map +1 -1
- package/dist/api/build.js +220 -39
- package/dist/api/build.js.map +1 -1
- package/dist/api/create-npm-dirs.js +45 -8
- package/dist/api/create-npm-dirs.js.map +1 -1
- package/dist/api/new.js +57 -20
- package/dist/api/new.js.map +1 -1
- package/dist/api/pre-publish.js +9 -7
- package/dist/api/pre-publish.js.map +1 -1
- package/dist/api/rename.js +9 -1
- package/dist/api/rename.js.map +1 -1
- package/dist/api/templates/ci-template.d.ts +3 -1
- package/dist/api/templates/ci-template.js +124 -124
- package/dist/api/templates/ci-template.js.map +1 -1
- package/dist/api/templates/ci.yml.d.ts +3 -1
- package/dist/api/templates/ci.yml.js +21 -5
- package/dist/api/templates/ci.yml.js.map +1 -1
- package/dist/api/templates/js-binding.js +104 -214
- package/dist/api/templates/js-binding.js.map +1 -1
- package/dist/api/templates/lib.rs.js +1 -4
- package/dist/api/templates/lib.rs.js.map +1 -1
- package/dist/api/templates/load-wasi-template.d.ts +2 -0
- package/dist/api/templates/load-wasi-template.js +166 -0
- package/dist/api/templates/load-wasi-template.js.map +1 -0
- package/dist/api/templates/package.json.d.ts +9 -2
- package/dist/api/templates/package.json.js +26 -4
- package/dist/api/templates/package.json.js.map +1 -1
- package/dist/api/templates/wasi-worker-template.d.ts +2 -0
- package/dist/api/templates/wasi-worker-template.js +122 -0
- package/dist/api/templates/wasi-worker-template.js.map +1 -0
- package/dist/api/universalize.js +5 -5
- package/dist/api/universalize.js.map +1 -1
- package/dist/api/version.js +2 -2
- package/dist/api/version.js.map +1 -1
- package/dist/commands/artifacts.js +2 -2
- package/dist/commands/artifacts.js.map +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/new.js +30 -8
- package/dist/commands/new.js.map +1 -1
- package/dist/def/artifacts.d.ts +21 -1
- package/dist/def/artifacts.js +10 -2
- package/dist/def/artifacts.js.map +1 -1
- package/dist/def/build.d.ts +22 -4
- package/dist/def/build.js +16 -4
- package/dist/def/build.js.map +1 -1
- package/dist/def/create-npm-dirs.d.ts +10 -0
- package/dist/def/create-npm-dirs.js +4 -0
- package/dist/def/create-npm-dirs.js.map +1 -1
- package/dist/def/new.d.ts +25 -7
- package/dist/def/new.js +11 -1
- package/dist/def/new.js.map +1 -1
- package/dist/def/pre-publish.d.ts +12 -2
- package/dist/def/pre-publish.js +7 -3
- package/dist/def/pre-publish.js.map +1 -1
- package/dist/def/rename.d.ts +16 -6
- package/dist/def/rename.js +5 -1
- package/dist/def/rename.js.map +1 -1
- package/dist/def/universalize.d.ts +10 -0
- package/dist/def/universalize.js +4 -0
- package/dist/def/universalize.js.map +1 -1
- package/dist/def/version.d.ts +10 -0
- package/dist/def/version.js +4 -0
- package/dist/def/version.js.map +1 -1
- package/dist/index.cjs +8143 -14638
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/__tests__/config.spec.d.ts +1 -0
- package/dist/utils/__tests__/config.spec.js +63 -0
- package/dist/utils/__tests__/config.spec.js.map +1 -0
- package/dist/utils/__tests__/typegen.spec.js +8 -4
- package/dist/utils/__tests__/typegen.spec.js.map +1 -1
- package/dist/utils/cargo.js +1 -1
- package/dist/utils/cargo.js.map +1 -1
- package/dist/utils/config.d.ts +49 -5
- package/dist/utils/config.js +38 -6
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/metadata.js +2 -2
- package/dist/utils/metadata.js.map +1 -1
- package/dist/utils/misc.d.ts +1 -2
- package/dist/utils/misc.js +3 -3
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/target.d.ts +7 -5
- package/dist/utils/target.js +17 -3
- package/dist/utils/target.js.map +1 -1
- package/dist/utils/typegen.d.ts +1 -1
- package/dist/utils/typegen.js +29 -9
- package/dist/utils/typegen.js.map +1 -1
- package/dist/utils/version.d.ts +2 -1
- package/dist/utils/version.js +10 -8
- package/dist/utils/version.js.map +1 -1
- package/package.json +25 -24
- package/src/api/artifacts.ts +81 -9
- package/src/api/build.ts +379 -58
- package/src/api/create-npm-dirs.ts +56 -8
- package/src/api/new.ts +89 -31
- package/src/api/pre-publish.ts +13 -7
- package/src/api/rename.ts +10 -1
- package/src/api/templates/ci-template.ts +134 -124
- package/src/api/templates/ci.yml.ts +27 -6
- package/src/api/templates/js-binding.ts +105 -214
- package/src/api/templates/lib.rs.ts +1 -4
- package/src/api/templates/load-wasi-template.ts +180 -0
- package/src/api/templates/package.json.ts +47 -5
- package/src/api/templates/wasi-worker-template.ts +122 -0
- package/src/api/universalize.ts +13 -8
- package/src/api/version.ts +5 -2
- package/src/commands/artifacts.ts +2 -2
- package/src/commands/build.ts +1 -1
- package/src/commands/new.ts +31 -8
- package/src/def/artifacts.ts +22 -3
- package/src/def/build.ts +36 -8
- package/src/def/create-npm-dirs.ts +9 -0
- package/src/def/new.ts +28 -3
- package/src/def/pre-publish.ts +12 -3
- package/src/def/rename.ts +11 -2
- package/src/def/universalize.ts +9 -0
- package/src/def/version.ts +9 -0
- package/src/index.ts +2 -0
- package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
- package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
- package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.md +28 -0
- package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +713 -158
- package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
- package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
- package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
- package/src/utils/__tests__/config.spec.ts +81 -0
- package/src/utils/__tests__/typegen.spec.ts +18 -3
- package/src/utils/cargo.ts +1 -1
- package/src/utils/config.ts +114 -12
- package/src/utils/index.ts +0 -1
- package/src/utils/metadata.ts +2 -2
- package/src/utils/misc.ts +11 -3
- package/src/utils/target.ts +22 -4
- package/src/utils/typegen.ts +37 -8
- package/src/utils/version.ts +10 -8
- package/dist/api/load-wasi-template.d.ts +0 -1
- package/dist/api/load-wasi-template.js +0 -63
- package/dist/api/load-wasi-template.js.map +0 -1
- package/dist/api/wasi-worker-template.d.ts +0 -1
- package/dist/api/wasi-worker-template.js +0 -53
- package/dist/api/wasi-worker-template.js.map +0 -1
- package/dist/utils/ci.d.ts +0 -11
- package/dist/utils/ci.js +0 -96
- package/dist/utils/ci.js.map +0 -1
- package/src/api/load-wasi-template.ts +0 -65
- package/src/api/wasi-worker-template.ts +0 -52
- package/src/utils/ci.ts +0 -111
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const WASI_WORKER_TEMPLATE = "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { parentPort, Worker } from \"node:worker_threads\";\n\nimport { instantiateNapiModuleSync, MessageHandler } from \"@emnapi/core\";\nimport { WASI } from \"@tybys/wasm-util\";\n\nconst require = createRequire(import.meta.url);\n\nif (parentPort) {\n parentPort.on(\"message\", (data) => {\n globalThis.onmessage({ data });\n });\n}\n\nObject.assign(globalThis, {\n self: globalThis,\n require,\n Worker,\n importScripts: function (f) {\n ;(0, eval)(fs.readFileSync(f, \"utf8\") + \"//# sourceURL=\" + f);\n },\n postMessage: function (msg) {\n if (parentPort) {\n parentPort.postMessage(msg);\n }\n },\n});\n\nconst handler = new MessageHandler({\n onLoad({ wasmModule, wasmMemory }) {\n const wasi = new WASI({ fs });\n\n return instantiateNapiModuleSync(wasmModule, {\n childThread: true,\n wasi,\n overwriteImports(importObject) {\n importObject.env = {\n ...importObject.env,\n ...importObject.napi,\n ...importObject.emnapi,\n memory: wasmMemory\n };\n },\n });\n },\n});\n\nglobalThis.onmessage = function (e) {\n handler.handle(e);\n};\n";
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { parentPort, Worker } from "node:worker_threads";
|
|
4
|
-
|
|
5
|
-
import { instantiateNapiModuleSync, MessageHandler } from "@emnapi/core";
|
|
6
|
-
import { WASI } from "@tybys/wasm-util";
|
|
7
|
-
|
|
8
|
-
const require = createRequire(import.meta.url);
|
|
9
|
-
|
|
10
|
-
if (parentPort) {
|
|
11
|
-
parentPort.on("message", (data) => {
|
|
12
|
-
globalThis.onmessage({ data });
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
Object.assign(globalThis, {
|
|
17
|
-
self: globalThis,
|
|
18
|
-
require,
|
|
19
|
-
Worker,
|
|
20
|
-
importScripts: function (f) {
|
|
21
|
-
;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
|
|
22
|
-
},
|
|
23
|
-
postMessage: function (msg) {
|
|
24
|
-
if (parentPort) {
|
|
25
|
-
parentPort.postMessage(msg);
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
const handler = new MessageHandler({
|
|
31
|
-
onLoad({ wasmModule, wasmMemory }) {
|
|
32
|
-
const wasi = new WASI({ fs });
|
|
33
|
-
|
|
34
|
-
return instantiateNapiModuleSync(wasmModule, {
|
|
35
|
-
childThread: true,
|
|
36
|
-
wasi,
|
|
37
|
-
overwriteImports(importObject) {
|
|
38
|
-
importObject.env = {
|
|
39
|
-
...importObject.env,
|
|
40
|
-
...importObject.napi,
|
|
41
|
-
...importObject.emnapi,
|
|
42
|
-
memory: wasmMemory
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
globalThis.onmessage = function (e) {
|
|
50
|
-
handler.handle(e);
|
|
51
|
-
};
|
|
52
|
-
`;
|
|
53
|
-
//# sourceMappingURL=wasi-worker-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../src/api/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDnC,CAAA"}
|
package/dist/utils/ci.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TargetTriple } from './target.js';
|
|
2
|
-
export declare const CIConfig: Partial<Record<TargetTriple, {
|
|
3
|
-
host: string;
|
|
4
|
-
build_image?: string;
|
|
5
|
-
build_setup?: string[];
|
|
6
|
-
test?: boolean;
|
|
7
|
-
test_image?: string;
|
|
8
|
-
test_setup?: string[];
|
|
9
|
-
yarn_cpu?: string;
|
|
10
|
-
yarn_libc?: string;
|
|
11
|
-
}>>;
|
package/dist/utils/ci.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
export const CIConfig = {
|
|
2
|
-
'x86_64-apple-darwin': {
|
|
3
|
-
host: 'macos-latest',
|
|
4
|
-
},
|
|
5
|
-
'x86_64-pc-windows-msvc': {
|
|
6
|
-
host: 'windows-latest',
|
|
7
|
-
},
|
|
8
|
-
'i686-pc-windows-msvc': {
|
|
9
|
-
host: 'windows-latest',
|
|
10
|
-
test: false,
|
|
11
|
-
},
|
|
12
|
-
'x86_64-unknown-linux-gnu': {
|
|
13
|
-
host: 'ubuntu-latest',
|
|
14
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian',
|
|
15
|
-
},
|
|
16
|
-
'x86_64-unknown-linux-musl': {
|
|
17
|
-
host: 'ubuntu-latest',
|
|
18
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
19
|
-
test_image: 'node:${{ matrix.node }}-alpine',
|
|
20
|
-
yarn_libc: 'musl',
|
|
21
|
-
},
|
|
22
|
-
'aarch64-apple-darwin': {
|
|
23
|
-
host: 'macos-latest',
|
|
24
|
-
build_setup: [
|
|
25
|
-
'sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*',
|
|
26
|
-
'export CC=$(xcrun -f clang)',
|
|
27
|
-
'export CXX=$(xcrun -f clang++)',
|
|
28
|
-
'export SDK_ROOT=$(xcrun --sdk macosx --show-sdk-path)',
|
|
29
|
-
'export CFLAGS="-isysroot $SDK_ROOT -isystem $SDK_ROOT"',
|
|
30
|
-
],
|
|
31
|
-
test: false,
|
|
32
|
-
},
|
|
33
|
-
'aarch64-unknown-linux-gnu': {
|
|
34
|
-
host: 'ubuntu-latest',
|
|
35
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64',
|
|
36
|
-
build_setup: [
|
|
37
|
-
'sudo apt-get update',
|
|
38
|
-
'sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y',
|
|
39
|
-
'export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu',
|
|
40
|
-
],
|
|
41
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}',
|
|
42
|
-
yarn_cpu: 'arm64',
|
|
43
|
-
},
|
|
44
|
-
'aarch64-unknown-linux-musl': {
|
|
45
|
-
host: 'ubuntu-latest',
|
|
46
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
47
|
-
build_setup: ['rustup target add aarch64-unknown-linux-musl'],
|
|
48
|
-
test_image: 'multiarch/alpine:aarch64-latest-stable',
|
|
49
|
-
test_setup: ['apk add nodejs npm yarn'],
|
|
50
|
-
yarn_cpu: 'arm64',
|
|
51
|
-
yarn_libc: 'musl',
|
|
52
|
-
},
|
|
53
|
-
'aarch64-pc-windows-msvc': {
|
|
54
|
-
host: 'windows-latest',
|
|
55
|
-
test: false,
|
|
56
|
-
},
|
|
57
|
-
'armv7-unknown-linux-gnueabihf': {
|
|
58
|
-
host: 'ubuntu-latest',
|
|
59
|
-
build_setup: [
|
|
60
|
-
'sudo apt-get update',
|
|
61
|
-
'sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y',
|
|
62
|
-
],
|
|
63
|
-
yarn_cpu: 'arm',
|
|
64
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}',
|
|
65
|
-
},
|
|
66
|
-
'aarch64-linux-android': {
|
|
67
|
-
host: 'ubuntu-latest',
|
|
68
|
-
build_setup: [
|
|
69
|
-
'export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
70
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
71
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"',
|
|
72
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
73
|
-
],
|
|
74
|
-
test: false,
|
|
75
|
-
},
|
|
76
|
-
'armv7-linux-androideabi': {
|
|
77
|
-
host: 'ubuntu-latest',
|
|
78
|
-
build_setup: [
|
|
79
|
-
'export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
80
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
81
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"',
|
|
82
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
83
|
-
],
|
|
84
|
-
test: false,
|
|
85
|
-
},
|
|
86
|
-
'riscv64gc-unknown-linux-gnu': {
|
|
87
|
-
host: 'ubuntu-latest',
|
|
88
|
-
build_setup: [
|
|
89
|
-
'sudo apt-get update',
|
|
90
|
-
'sudo apt-get install g++-riscv64-linux-gnu gcc-riscv64-linux-gnu -y',
|
|
91
|
-
],
|
|
92
|
-
// No official nodejs docker image for riscv64
|
|
93
|
-
test: false,
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
//# sourceMappingURL=ci.js.map
|
package/dist/utils/ci.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ci.js","sourceRoot":"","sources":["../../src/utils/ci.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAcjB;IACF,qBAAqB,EAAE;QACrB,IAAI,EAAE,cAAc;KACrB;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,gBAAgB;KACvB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;KAC9D;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,gCAAgC;QAC5C,SAAS,EAAE,MAAM;KAClB;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;YACX,wDAAwD;YACxD,6BAA6B;YAC7B,gCAAgC;YAChC,uDAAuD;YACvD,wDAAwD;SACzD;QACD,IAAI,EAAE,KAAK;KACZ;IACD,2BAA2B,EAAE;QAC3B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;YACrE,oDAAoD;SACrD;QACD,UAAU,EAAE,2DAA2D;QACvE,QAAQ,EAAE,OAAO;KAClB;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE,CAAC,8CAA8C,CAAC;QAC7D,UAAU,EAAE,wCAAwC;QACpD,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACvC,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,MAAM;KAClB;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,+BAA+B,EAAE;QAC/B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,yEAAyE;SAC1E;QACD,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,yDAAyD;KACtE;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,gJAAgJ;YAChJ,yGAAyG;YACzG,4GAA4G;YAC5G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,yBAAyB,EAAE;QACzB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qJAAqJ;YACrJ,4GAA4G;YAC5G,+GAA+G;YAC/G,qFAAqF;SACtF;QACD,IAAI,EAAE,KAAK;KACZ;IACD,6BAA6B,EAAE;QAC7B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;YACX,qBAAqB;YACrB,qEAAqE;SACtE;QACD,8CAA8C;QAC9C,IAAI,EAAE,KAAK;KACZ;CACF,CAAA"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export const createWasiBinding = (
|
|
2
|
-
localName: string,
|
|
3
|
-
wasiRegisterFunctions: string[],
|
|
4
|
-
) => `/* eslint-disable */
|
|
5
|
-
/* prettier-ignore */
|
|
6
|
-
|
|
7
|
-
/* auto-generated by NAPI-RS */
|
|
8
|
-
|
|
9
|
-
import * as __nodeFsPromises from 'node:fs/promises'
|
|
10
|
-
import * as __nodePath from 'node:path'
|
|
11
|
-
import { WASI as __nodeWASI } from 'node:wasi'
|
|
12
|
-
import { Worker } from 'node:worker_threads'
|
|
13
|
-
import * as __nodeURL from 'node:url'
|
|
14
|
-
|
|
15
|
-
import { instantiateNapiModule as __emnapiInstantiateNapiModule } from '@emnapi/core'
|
|
16
|
-
import { getDefaultContext as __emnapiGetDefaultContext } from '@emnapi/runtime'
|
|
17
|
-
|
|
18
|
-
const __wasi = new __nodeWASI({
|
|
19
|
-
env: process.env,
|
|
20
|
-
preopens: {
|
|
21
|
-
'/': __nodePath.join(__nodeURL.fileURLToPath(import.meta.url), '..'),
|
|
22
|
-
}
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
const __dirname = __nodePath.join(__nodeURL.fileURLToPath(import.meta.url), '..')
|
|
26
|
-
|
|
27
|
-
const __emnapiContext = __emnapiGetDefaultContext()
|
|
28
|
-
|
|
29
|
-
const __sharedMemory = new WebAssembly.Memory({
|
|
30
|
-
initial: 1024,
|
|
31
|
-
maximum: 10240,
|
|
32
|
-
shared: true,
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule } = await __emnapiInstantiateNapiModule(__nodeFsPromises.readFile(__nodePath.join(__dirname, '${localName}.wasi-wasm32.wasm')), {
|
|
36
|
-
context: __emnapiContext,
|
|
37
|
-
asyncWorkPoolSize: 4,
|
|
38
|
-
wasi: __wasi,
|
|
39
|
-
onCreateWorker() {
|
|
40
|
-
return new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
|
|
41
|
-
env: process.env,
|
|
42
|
-
execArgv: ['--experimental-wasi-unstable-preview1'],
|
|
43
|
-
})
|
|
44
|
-
},
|
|
45
|
-
overwriteImports(importObject) {
|
|
46
|
-
importObject.env = {
|
|
47
|
-
...importObject.env,
|
|
48
|
-
...importObject.napi,
|
|
49
|
-
...importObject.emnapi,
|
|
50
|
-
memory: __sharedMemory,
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
beforeInit({ instance }) {
|
|
54
|
-
__napi_rs_initialize_modules(instance)
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
function __napi_rs_initialize_modules(__napiInstance) {
|
|
59
|
-
${wasiRegisterFunctions
|
|
60
|
-
.map((name) => ` __napiInstance.exports['${name}']()`)
|
|
61
|
-
.join('\n')}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const binding = __napiModule.exports
|
|
65
|
-
`
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { parentPort, Worker } from "node:worker_threads";
|
|
4
|
-
|
|
5
|
-
import { instantiateNapiModuleSync, MessageHandler } from "@emnapi/core";
|
|
6
|
-
import { WASI } from "@tybys/wasm-util";
|
|
7
|
-
|
|
8
|
-
const require = createRequire(import.meta.url);
|
|
9
|
-
|
|
10
|
-
if (parentPort) {
|
|
11
|
-
parentPort.on("message", (data) => {
|
|
12
|
-
globalThis.onmessage({ data });
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
Object.assign(globalThis, {
|
|
17
|
-
self: globalThis,
|
|
18
|
-
require,
|
|
19
|
-
Worker,
|
|
20
|
-
importScripts: function (f) {
|
|
21
|
-
;(0, eval)(fs.readFileSync(f, "utf8") + "//# sourceURL=" + f);
|
|
22
|
-
},
|
|
23
|
-
postMessage: function (msg) {
|
|
24
|
-
if (parentPort) {
|
|
25
|
-
parentPort.postMessage(msg);
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
const handler = new MessageHandler({
|
|
31
|
-
onLoad({ wasmModule, wasmMemory }) {
|
|
32
|
-
const wasi = new WASI({ fs });
|
|
33
|
-
|
|
34
|
-
return instantiateNapiModuleSync(wasmModule, {
|
|
35
|
-
childThread: true,
|
|
36
|
-
wasi,
|
|
37
|
-
overwriteImports(importObject) {
|
|
38
|
-
importObject.env = {
|
|
39
|
-
...importObject.env,
|
|
40
|
-
...importObject.napi,
|
|
41
|
-
...importObject.emnapi,
|
|
42
|
-
memory: wasmMemory
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
globalThis.onmessage = function (e) {
|
|
50
|
-
handler.handle(e);
|
|
51
|
-
};
|
|
52
|
-
`
|
package/src/utils/ci.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { TargetTriple } from './target.js'
|
|
2
|
-
|
|
3
|
-
export const CIConfig: Partial<
|
|
4
|
-
Record<
|
|
5
|
-
TargetTriple,
|
|
6
|
-
{
|
|
7
|
-
host: string
|
|
8
|
-
build_image?: string
|
|
9
|
-
build_setup?: string[]
|
|
10
|
-
test?: boolean
|
|
11
|
-
test_image?: string
|
|
12
|
-
test_setup?: string[]
|
|
13
|
-
yarn_cpu?: string
|
|
14
|
-
yarn_libc?: string
|
|
15
|
-
}
|
|
16
|
-
>
|
|
17
|
-
> = {
|
|
18
|
-
'x86_64-apple-darwin': {
|
|
19
|
-
host: 'macos-latest',
|
|
20
|
-
},
|
|
21
|
-
'x86_64-pc-windows-msvc': {
|
|
22
|
-
host: 'windows-latest',
|
|
23
|
-
},
|
|
24
|
-
'i686-pc-windows-msvc': {
|
|
25
|
-
host: 'windows-latest',
|
|
26
|
-
test: false,
|
|
27
|
-
},
|
|
28
|
-
'x86_64-unknown-linux-gnu': {
|
|
29
|
-
host: 'ubuntu-latest',
|
|
30
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian',
|
|
31
|
-
},
|
|
32
|
-
'x86_64-unknown-linux-musl': {
|
|
33
|
-
host: 'ubuntu-latest',
|
|
34
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
35
|
-
test_image: 'node:${{ matrix.node }}-alpine',
|
|
36
|
-
yarn_libc: 'musl',
|
|
37
|
-
},
|
|
38
|
-
'aarch64-apple-darwin': {
|
|
39
|
-
host: 'macos-latest',
|
|
40
|
-
build_setup: [
|
|
41
|
-
'sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*',
|
|
42
|
-
'export CC=$(xcrun -f clang)',
|
|
43
|
-
'export CXX=$(xcrun -f clang++)',
|
|
44
|
-
'export SDK_ROOT=$(xcrun --sdk macosx --show-sdk-path)',
|
|
45
|
-
'export CFLAGS="-isysroot $SDK_ROOT -isystem $SDK_ROOT"',
|
|
46
|
-
],
|
|
47
|
-
test: false,
|
|
48
|
-
},
|
|
49
|
-
'aarch64-unknown-linux-gnu': {
|
|
50
|
-
host: 'ubuntu-latest',
|
|
51
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian-aarch64',
|
|
52
|
-
build_setup: [
|
|
53
|
-
'sudo apt-get update',
|
|
54
|
-
'sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu -y',
|
|
55
|
-
'export CARGO_BUILD_TARGET=x86_64-unknown-linux-gnu',
|
|
56
|
-
],
|
|
57
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:aarch64-${{ matrix.node }}',
|
|
58
|
-
yarn_cpu: 'arm64',
|
|
59
|
-
},
|
|
60
|
-
'aarch64-unknown-linux-musl': {
|
|
61
|
-
host: 'ubuntu-latest',
|
|
62
|
-
build_image: 'ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-alpine',
|
|
63
|
-
build_setup: ['rustup target add aarch64-unknown-linux-musl'],
|
|
64
|
-
test_image: 'multiarch/alpine:aarch64-latest-stable',
|
|
65
|
-
test_setup: ['apk add nodejs npm yarn'],
|
|
66
|
-
yarn_cpu: 'arm64',
|
|
67
|
-
yarn_libc: 'musl',
|
|
68
|
-
},
|
|
69
|
-
'aarch64-pc-windows-msvc': {
|
|
70
|
-
host: 'windows-latest',
|
|
71
|
-
test: false,
|
|
72
|
-
},
|
|
73
|
-
'armv7-unknown-linux-gnueabihf': {
|
|
74
|
-
host: 'ubuntu-latest',
|
|
75
|
-
build_setup: [
|
|
76
|
-
'sudo apt-get update',
|
|
77
|
-
'sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf -y',
|
|
78
|
-
],
|
|
79
|
-
yarn_cpu: 'arm',
|
|
80
|
-
test_image: 'ghcr.io/napi-rs/napi-rs/nodejs:armhf-${{ matrix.node }}',
|
|
81
|
-
},
|
|
82
|
-
'aarch64-linux-android': {
|
|
83
|
-
host: 'ubuntu-latest',
|
|
84
|
-
build_setup: [
|
|
85
|
-
'export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
86
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang"',
|
|
87
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android24-clang++"',
|
|
88
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
89
|
-
],
|
|
90
|
-
test: false,
|
|
91
|
-
},
|
|
92
|
-
'armv7-linux-androideabi': {
|
|
93
|
-
host: 'ubuntu-latest',
|
|
94
|
-
build_setup: [
|
|
95
|
-
'export CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
96
|
-
'export CC="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang"',
|
|
97
|
-
'export CXX="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi24-clang++"',
|
|
98
|
-
'export PATH="${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH}"',
|
|
99
|
-
],
|
|
100
|
-
test: false,
|
|
101
|
-
},
|
|
102
|
-
'riscv64gc-unknown-linux-gnu': {
|
|
103
|
-
host: 'ubuntu-latest',
|
|
104
|
-
build_setup: [
|
|
105
|
-
'sudo apt-get update',
|
|
106
|
-
'sudo apt-get install g++-riscv64-linux-gnu gcc-riscv64-linux-gnu -y',
|
|
107
|
-
],
|
|
108
|
-
// No official nodejs docker image for riscv64
|
|
109
|
-
test: false,
|
|
110
|
-
},
|
|
111
|
-
}
|