@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.
Files changed (155) hide show
  1. package/dist/api/artifacts.js +28 -7
  2. package/dist/api/artifacts.js.map +1 -1
  3. package/dist/api/build.js +220 -39
  4. package/dist/api/build.js.map +1 -1
  5. package/dist/api/create-npm-dirs.js +45 -8
  6. package/dist/api/create-npm-dirs.js.map +1 -1
  7. package/dist/api/new.js +57 -20
  8. package/dist/api/new.js.map +1 -1
  9. package/dist/api/pre-publish.js +9 -7
  10. package/dist/api/pre-publish.js.map +1 -1
  11. package/dist/api/rename.js +9 -1
  12. package/dist/api/rename.js.map +1 -1
  13. package/dist/api/templates/ci-template.d.ts +3 -1
  14. package/dist/api/templates/ci-template.js +124 -124
  15. package/dist/api/templates/ci-template.js.map +1 -1
  16. package/dist/api/templates/ci.yml.d.ts +3 -1
  17. package/dist/api/templates/ci.yml.js +21 -5
  18. package/dist/api/templates/ci.yml.js.map +1 -1
  19. package/dist/api/templates/js-binding.js +104 -214
  20. package/dist/api/templates/js-binding.js.map +1 -1
  21. package/dist/api/templates/lib.rs.js +1 -4
  22. package/dist/api/templates/lib.rs.js.map +1 -1
  23. package/dist/api/templates/load-wasi-template.d.ts +2 -0
  24. package/dist/api/templates/load-wasi-template.js +166 -0
  25. package/dist/api/templates/load-wasi-template.js.map +1 -0
  26. package/dist/api/templates/package.json.d.ts +9 -2
  27. package/dist/api/templates/package.json.js +26 -4
  28. package/dist/api/templates/package.json.js.map +1 -1
  29. package/dist/api/templates/wasi-worker-template.d.ts +2 -0
  30. package/dist/api/templates/wasi-worker-template.js +122 -0
  31. package/dist/api/templates/wasi-worker-template.js.map +1 -0
  32. package/dist/api/universalize.js +5 -5
  33. package/dist/api/universalize.js.map +1 -1
  34. package/dist/api/version.js +2 -2
  35. package/dist/api/version.js.map +1 -1
  36. package/dist/commands/artifacts.js +2 -2
  37. package/dist/commands/artifacts.js.map +1 -1
  38. package/dist/commands/build.js +1 -1
  39. package/dist/commands/build.js.map +1 -1
  40. package/dist/commands/new.js +30 -8
  41. package/dist/commands/new.js.map +1 -1
  42. package/dist/def/artifacts.d.ts +21 -1
  43. package/dist/def/artifacts.js +10 -2
  44. package/dist/def/artifacts.js.map +1 -1
  45. package/dist/def/build.d.ts +22 -4
  46. package/dist/def/build.js +16 -4
  47. package/dist/def/build.js.map +1 -1
  48. package/dist/def/create-npm-dirs.d.ts +10 -0
  49. package/dist/def/create-npm-dirs.js +4 -0
  50. package/dist/def/create-npm-dirs.js.map +1 -1
  51. package/dist/def/new.d.ts +25 -7
  52. package/dist/def/new.js +11 -1
  53. package/dist/def/new.js.map +1 -1
  54. package/dist/def/pre-publish.d.ts +12 -2
  55. package/dist/def/pre-publish.js +7 -3
  56. package/dist/def/pre-publish.js.map +1 -1
  57. package/dist/def/rename.d.ts +16 -6
  58. package/dist/def/rename.js +5 -1
  59. package/dist/def/rename.js.map +1 -1
  60. package/dist/def/universalize.d.ts +10 -0
  61. package/dist/def/universalize.js +4 -0
  62. package/dist/def/universalize.js.map +1 -1
  63. package/dist/def/version.d.ts +10 -0
  64. package/dist/def/version.js +4 -0
  65. package/dist/def/version.js.map +1 -1
  66. package/dist/index.cjs +8143 -14638
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.js +1 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/utils/__tests__/config.spec.d.ts +1 -0
  71. package/dist/utils/__tests__/config.spec.js +63 -0
  72. package/dist/utils/__tests__/config.spec.js.map +1 -0
  73. package/dist/utils/__tests__/typegen.spec.js +8 -4
  74. package/dist/utils/__tests__/typegen.spec.js.map +1 -1
  75. package/dist/utils/cargo.js +1 -1
  76. package/dist/utils/cargo.js.map +1 -1
  77. package/dist/utils/config.d.ts +49 -5
  78. package/dist/utils/config.js +38 -6
  79. package/dist/utils/config.js.map +1 -1
  80. package/dist/utils/index.d.ts +0 -1
  81. package/dist/utils/index.js +0 -1
  82. package/dist/utils/index.js.map +1 -1
  83. package/dist/utils/metadata.js +2 -2
  84. package/dist/utils/metadata.js.map +1 -1
  85. package/dist/utils/misc.d.ts +1 -2
  86. package/dist/utils/misc.js +3 -3
  87. package/dist/utils/misc.js.map +1 -1
  88. package/dist/utils/target.d.ts +7 -5
  89. package/dist/utils/target.js +17 -3
  90. package/dist/utils/target.js.map +1 -1
  91. package/dist/utils/typegen.d.ts +1 -1
  92. package/dist/utils/typegen.js +29 -9
  93. package/dist/utils/typegen.js.map +1 -1
  94. package/dist/utils/version.d.ts +2 -1
  95. package/dist/utils/version.js +10 -8
  96. package/dist/utils/version.js.map +1 -1
  97. package/package.json +25 -24
  98. package/src/api/artifacts.ts +81 -9
  99. package/src/api/build.ts +379 -58
  100. package/src/api/create-npm-dirs.ts +56 -8
  101. package/src/api/new.ts +89 -31
  102. package/src/api/pre-publish.ts +13 -7
  103. package/src/api/rename.ts +10 -1
  104. package/src/api/templates/ci-template.ts +134 -124
  105. package/src/api/templates/ci.yml.ts +27 -6
  106. package/src/api/templates/js-binding.ts +105 -214
  107. package/src/api/templates/lib.rs.ts +1 -4
  108. package/src/api/templates/load-wasi-template.ts +180 -0
  109. package/src/api/templates/package.json.ts +47 -5
  110. package/src/api/templates/wasi-worker-template.ts +122 -0
  111. package/src/api/universalize.ts +13 -8
  112. package/src/api/version.ts +5 -2
  113. package/src/commands/artifacts.ts +2 -2
  114. package/src/commands/build.ts +1 -1
  115. package/src/commands/new.ts +31 -8
  116. package/src/def/artifacts.ts +22 -3
  117. package/src/def/build.ts +36 -8
  118. package/src/def/create-npm-dirs.ts +9 -0
  119. package/src/def/new.ts +28 -3
  120. package/src/def/pre-publish.ts +12 -3
  121. package/src/def/rename.ts +11 -2
  122. package/src/def/universalize.ts +9 -0
  123. package/src/def/version.ts +9 -0
  124. package/src/index.ts +2 -0
  125. package/src/utils/__tests__/__fixtures__/napi_type_def +130 -130
  126. package/src/utils/__tests__/__snapshots__/config.spec.ts.md +97 -0
  127. package/src/utils/__tests__/__snapshots__/config.spec.ts.snap +0 -0
  128. package/src/utils/__tests__/__snapshots__/target.spec.ts.md +28 -0
  129. package/src/utils/__tests__/__snapshots__/target.spec.ts.snap +0 -0
  130. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +713 -158
  131. package/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap +0 -0
  132. package/src/utils/__tests__/__snapshots__/version.spec.ts.md +8 -7
  133. package/src/utils/__tests__/__snapshots__/version.spec.ts.snap +0 -0
  134. package/src/utils/__tests__/config.spec.ts +81 -0
  135. package/src/utils/__tests__/typegen.spec.ts +18 -3
  136. package/src/utils/cargo.ts +1 -1
  137. package/src/utils/config.ts +114 -12
  138. package/src/utils/index.ts +0 -1
  139. package/src/utils/metadata.ts +2 -2
  140. package/src/utils/misc.ts +11 -3
  141. package/src/utils/target.ts +22 -4
  142. package/src/utils/typegen.ts +37 -8
  143. package/src/utils/version.ts +10 -8
  144. package/dist/api/load-wasi-template.d.ts +0 -1
  145. package/dist/api/load-wasi-template.js +0 -63
  146. package/dist/api/load-wasi-template.js.map +0 -1
  147. package/dist/api/wasi-worker-template.d.ts +0 -1
  148. package/dist/api/wasi-worker-template.js +0 -53
  149. package/dist/api/wasi-worker-template.js.map +0 -1
  150. package/dist/utils/ci.d.ts +0 -11
  151. package/dist/utils/ci.js +0 -96
  152. package/dist/utils/ci.js.map +0 -1
  153. package/src/api/load-wasi-template.ts +0 -65
  154. package/src/api/wasi-worker-template.ts +0 -52
  155. 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"}
@@ -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
@@ -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
- }