@napi-rs/cli 3.0.0-alpha.52 → 3.0.0-alpha.53

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.
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/api/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/api/artifacts.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ jobs:
126
126
  - uses: goto-bus-stop/setup-zig@v2
127
127
  if: \${{ contains(matrix.settings.target, 'musl') }}
128
128
  with:
129
- version: 0.11.0
129
+ version: 0.12.0
130
130
 
131
131
  - name: Setup toolchain
132
132
  run: \${{ matrix.settings.setup }}
@@ -15,10 +15,14 @@ const __wasi = new __WASI({
15
15
  const __wasi = new __WASI({
16
16
  version: 'preview1',
17
17
  })`;
18
+ const workerFsHandler = fs
19
+ ? `\n worker.addEventListener('message', __wasmCreateOnMessageForFsProxy(__fs))\n`
20
+ : '';
18
21
  return `import {
19
22
  instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync,
20
23
  getDefaultContext as __emnapiGetDefaultContext,
21
24
  WASI as __WASI,
25
+ createOnMessage as __wasmCreateOnMessageForFsProxy,
22
26
  } from '@napi-rs/wasm-runtime'
23
27
  ${fsImport}
24
28
  import __wasmUrl from './${wasiFilename}.wasm?url'
@@ -43,9 +47,11 @@ const {
43
47
  asyncWorkPoolSize: 4,
44
48
  wasi: __wasi,
45
49
  onCreateWorker() {
46
- return new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
50
+ const worker = new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
47
51
  type: 'module',
48
52
  })
53
+ ${workerFsHandler}
54
+ return worker
49
55
  },
50
56
  overwriteImports(importObject) {
51
57
  importObject.env = {
@@ -73,7 +79,7 @@ export const createWasiBinding = (wasmFileName, packageName, wasiRegisterFunctio
73
79
 
74
80
  /* auto-generated by NAPI-RS */
75
81
 
76
- const __nodeFs= require('node:fs')
82
+ const __nodeFs = require('node:fs')
77
83
  const __nodePath = require('node:path')
78
84
  const { WASI: __nodeWASI } = require('node:wasi')
79
85
  const { Worker } = require('node:worker_threads')
@@ -81,6 +87,7 @@ const { Worker } = require('node:worker_threads')
81
87
  const {
82
88
  instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
83
89
  getDefaultContext: __emnapiGetDefaultContext,
90
+ createOnMessage: __wasmCreateOnMessageForFsProxy,
84
91
  } = require('@napi-rs/wasm-runtime')
85
92
 
86
93
  const __rootDir = __nodePath.parse(process.cwd()).root
@@ -127,10 +134,14 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
127
134
  })(),
128
135
  wasi: __wasi,
129
136
  onCreateWorker() {
130
- return new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
137
+ const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
131
138
  env: process.env,
132
139
  execArgv: ['--experimental-wasi-unstable-preview1'],
133
140
  })
141
+ worker.onmessage = ({ data }) => {
142
+ __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
143
+ }
144
+ return worker
134
145
  },
135
146
  overwriteImports(importObject) {
136
147
  importObject.env = {
@@ -1 +1 @@
1
- {"version":3,"file":"load-wasi-template.js","sourceRoot":"","sources":["../../../src/api/templates/load-wasi-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,YAAoB,EACpB,qBAA+B,EAC/B,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,GAAG,KAAK,EACV,EAAE;IACF,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,MAAM,YAAY,GAAG,EAAE;QACrB,CAAC,CAAC;;;;;;;;;GASH;QACC,CAAC,CAAC;;;GAGH,CAAA;IAED,OAAO;;;;;EAKP,QAAQ;2BACiB,YAAY;EACrC,YAAY;;;;;aAKD,aAAa;aACb,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCxB,qBAAqB;SACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,IAAI,QAAQ,CAAC;SACxD,IAAI,CAAC,IAAI,CAAC;;CAEZ,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,YAAoB,EACpB,WAAmB,EACnB,qBAA+B,EAC/B,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4BQ,aAAa;aACb,aAAa;;;;mDAIyB,YAAY;0DACL,YAAY;;;;;;2CAM3B,WAAW;;mCAEnB,YAAY,mBAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC3E,qBAAqB;KACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,IAAI,QAAQ,CAAC;KACxD,IAAI,CAAC,IAAI,CAAC;;CAEZ,CAAA"}
1
+ {"version":3,"file":"load-wasi-template.js","sourceRoot":"","sources":["../../../src/api/templates/load-wasi-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,YAAoB,EACpB,qBAA+B,EAC/B,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,GAAG,KAAK,EACV,EAAE;IACF,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,MAAM,YAAY,GAAG,EAAE;QACrB,CAAC,CAAC;;;;;;;;;GASH;QACC,CAAC,CAAC;;;GAGH,CAAA;IAED,MAAM,eAAe,GAAG,EAAE;QACxB,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;;;;;;EAMP,QAAQ;2BACiB,YAAY;EACrC,YAAY;;;;;aAKD,aAAa;aACb,aAAa;;;;;;;;;;;;;;;;;;MAkBpB,eAAe;;;;;;;;;;;;;;;;;;EAkBnB,qBAAqB;SACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,IAAI,QAAQ,CAAC;SACxD,IAAI,CAAC,IAAI,CAAC;;CAEZ,CAAA;AACD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,YAAoB,EACpB,WAAmB,EACnB,qBAA+B,EAC/B,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,KAAK,EACrB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BQ,aAAa;aACb,aAAa;;;;mDAIyB,YAAY;0DACL,YAAY;;;;;;2CAM3B,WAAW;;mCAEnB,YAAY,mBAAmB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC3E,qBAAqB;KACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,IAAI,QAAQ,CAAC;KACxD,IAAI,CAAC,IAAI,CAAC;;CAEZ,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const WASI_WORKER_TEMPLATE = "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { WASI } from \"node:wasi\";\nimport { parentPort, Worker } from \"node:worker_threads\";\n\nconst require = createRequire(import.meta.url);\n\nconst { instantiateNapiModuleSync, MessageHandler, getDefaultContext } = require(\"@napi-rs/wasm-runtime\");\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 emnapiContext = getDefaultContext()\n\nconst handler = new MessageHandler({\n onLoad({ wasmModule, wasmMemory }) {\n const wasi = new WASI({\n version: 'preview1',\n env: process.env,\n preopens: {\n '/': '/',\n },\n });\n\n return instantiateNapiModuleSync(wasmModule, {\n childThread: true,\n wasi,\n context: emnapiContext,\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
+ export declare const WASI_WORKER_TEMPLATE = "import fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport { parse } from \"node:path\";\nimport { WASI } from \"node:wasi\";\nimport { parentPort, Worker } from \"node:worker_threads\";\n\nconst require = createRequire(import.meta.url);\n\nconst { instantiateNapiModuleSync, MessageHandler, getDefaultContext } = require(\"@napi-rs/wasm-runtime\");\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 emnapiContext = getDefaultContext();\n\nconst __rootDir = parse(process.cwd()).root;\n\nconst handler = new MessageHandler({\n onLoad({ wasmModule, wasmMemory }) {\n const wasi = new WASI({\n version: 'preview1',\n env: process.env,\n preopens: {\n [__rootDir]: __rootDir,\n },\n });\n\n return instantiateNapiModuleSync(wasmModule, {\n childThread: true,\n wasi,\n context: emnapiContext,\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";
2
2
  export declare const createWasiBrowserWorkerBinding: (fs: boolean) => string;
@@ -1,5 +1,6 @@
1
1
  export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
2
2
  import { createRequire } from "node:module";
3
+ import { parse } from "node:path";
3
4
  import { WASI } from "node:wasi";
4
5
  import { parentPort, Worker } from "node:worker_threads";
5
6
 
@@ -27,7 +28,9 @@ Object.assign(globalThis, {
27
28
  },
28
29
  });
29
30
 
30
- const emnapiContext = getDefaultContext()
31
+ const emnapiContext = getDefaultContext();
32
+
33
+ const __rootDir = parse(process.cwd()).root;
31
34
 
32
35
  const handler = new MessageHandler({
33
36
  onLoad({ wasmModule, wasmMemory }) {
@@ -35,7 +38,7 @@ const handler = new MessageHandler({
35
38
  version: 'preview1',
36
39
  env: process.env,
37
40
  preopens: {
38
- '/': '/',
41
+ [__rootDir]: __rootDir,
39
42
  },
40
43
  });
41
44
 
@@ -61,21 +64,20 @@ globalThis.onmessage = function (e) {
61
64
  `;
62
65
  export const createWasiBrowserWorkerBinding = (fs) => {
63
66
  const fsImport = fs
64
- ? `import { Volume, createFsFromVolume } from '@napi-rs/wasm-runtime/fs'
67
+ ? `import { memfsExported as __memfsExported } from '@napi-rs/wasm-runtime/fs'
65
68
 
66
- const fs = createFsFromVolume(
67
- Volume.fromJSON({
68
- '/': null,
69
- }),
70
- )`
69
+ const fs = createFsProxy(__memfsExported)`
71
70
  : '\nconst fs = null';
72
- return `import { instantiateNapiModuleSync, MessageHandler, WASI } from '@napi-rs/wasm-runtime'
71
+ return `import { instantiateNapiModuleSync, MessageHandler, WASI, createFsProxy } from '@napi-rs/wasm-runtime'
73
72
  ${fsImport}
74
73
 
75
74
  const handler = new MessageHandler({
76
75
  onLoad({ wasmModule, wasmMemory }) {
77
76
  const wasi = new WASI({
78
77
  fs,
78
+ preopens: {
79
+ '/': '/',
80
+ },
79
81
  print: function () {
80
82
  // eslint-disable-next-line no-console
81
83
  console.log.apply(console, arguments)
@@ -1 +1 @@
1
- {"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../../src/api/templates/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DnC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAAW,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC;;;;;;EAMJ;QACE,CAAC,CAAC,mBAAmB,CAAA;IACvB,OAAO;EACP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCT,CAAA;AACD,CAAC,CAAA"}
1
+ {"version":3,"file":"wasi-worker-template.js","sourceRoot":"","sources":["../../../src/api/templates/wasi-worker-template.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DnC,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAAW,EAAE,EAAE;IAC5D,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC;;0CAEoC;QACtC,CAAC,CAAC,mBAAmB,CAAA;IACvB,OAAO;EACP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCT,CAAA;AACD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/api/universalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universalize.js","sourceRoot":"","sources":["../../src/api/universalize.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -16327,7 +16327,7 @@ jobs:
16327
16327
  - uses: goto-bus-stop/setup-zig@v2
16328
16328
  if: \${{ contains(matrix.settings.target, 'musl') }}
16329
16329
  with:
16330
- version: 0.11.0
16330
+ version: 0.12.0
16331
16331
 
16332
16332
  - name: Setup toolchain
16333
16333
  run: \${{ matrix.settings.setup }}
@@ -17136,10 +17136,14 @@ const __wasi = new __WASI({
17136
17136
  const __wasi = new __WASI({
17137
17137
  version: 'preview1',
17138
17138
  })`;
17139
+ const workerFsHandler = fs2 ? `
17140
+ worker.addEventListener('message', __wasmCreateOnMessageForFsProxy(__fs))
17141
+ ` : "";
17139
17142
  return `import {
17140
17143
  instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync,
17141
17144
  getDefaultContext as __emnapiGetDefaultContext,
17142
17145
  WASI as __WASI,
17146
+ createOnMessage as __wasmCreateOnMessageForFsProxy,
17143
17147
  } from '@napi-rs/wasm-runtime'
17144
17148
  ${fsImport}
17145
17149
  import __wasmUrl from './${wasiFilename}.wasm?url'
@@ -17164,9 +17168,11 @@ const {
17164
17168
  asyncWorkPoolSize: 4,
17165
17169
  wasi: __wasi,
17166
17170
  onCreateWorker() {
17167
- return new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
17171
+ const worker = new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
17168
17172
  type: 'module',
17169
17173
  })
17174
+ ${workerFsHandler}
17175
+ return worker
17170
17176
  },
17171
17177
  overwriteImports(importObject) {
17172
17178
  importObject.env = {
@@ -17192,7 +17198,7 @@ var createWasiBinding = (wasmFileName, packageName, wasiRegisterFunctions, initi
17192
17198
 
17193
17199
  /* auto-generated by NAPI-RS */
17194
17200
 
17195
- const __nodeFs= require('node:fs')
17201
+ const __nodeFs = require('node:fs')
17196
17202
  const __nodePath = require('node:path')
17197
17203
  const { WASI: __nodeWASI } = require('node:wasi')
17198
17204
  const { Worker } = require('node:worker_threads')
@@ -17200,6 +17206,7 @@ const { Worker } = require('node:worker_threads')
17200
17206
  const {
17201
17207
  instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
17202
17208
  getDefaultContext: __emnapiGetDefaultContext,
17209
+ createOnMessage: __wasmCreateOnMessageForFsProxy,
17203
17210
  } = require('@napi-rs/wasm-runtime')
17204
17211
 
17205
17212
  const __rootDir = __nodePath.parse(process.cwd()).root
@@ -17246,10 +17253,14 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
17246
17253
  })(),
17247
17254
  wasi: __wasi,
17248
17255
  onCreateWorker() {
17249
- return new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
17256
+ const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
17250
17257
  env: process.env,
17251
17258
  execArgv: ['--experimental-wasi-unstable-preview1'],
17252
17259
  })
17260
+ worker.onmessage = ({ data }) => {
17261
+ __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
17262
+ }
17263
+ return worker
17253
17264
  },
17254
17265
  overwriteImports(importObject) {
17255
17266
  importObject.env = {
@@ -17273,6 +17284,7 @@ ${wasiRegisterFunctions.map((name) => ` __napiInstance.exports['${name}']?.()`)
17273
17284
  // dist/api/templates/wasi-worker-template.js
17274
17285
  var WASI_WORKER_TEMPLATE = `import fs from "node:fs";
17275
17286
  import { createRequire } from "node:module";
17287
+ import { parse } from "node:path";
17276
17288
  import { WASI } from "node:wasi";
17277
17289
  import { parentPort, Worker } from "node:worker_threads";
17278
17290
 
@@ -17300,7 +17312,9 @@ Object.assign(globalThis, {
17300
17312
  },
17301
17313
  });
17302
17314
 
17303
- const emnapiContext = getDefaultContext()
17315
+ const emnapiContext = getDefaultContext();
17316
+
17317
+ const __rootDir = parse(process.cwd()).root;
17304
17318
 
17305
17319
  const handler = new MessageHandler({
17306
17320
  onLoad({ wasmModule, wasmMemory }) {
@@ -17308,7 +17322,7 @@ const handler = new MessageHandler({
17308
17322
  version: 'preview1',
17309
17323
  env: process.env,
17310
17324
  preopens: {
17311
- '/': '/',
17325
+ [__rootDir]: __rootDir,
17312
17326
  },
17313
17327
  });
17314
17328
 
@@ -17333,20 +17347,19 @@ globalThis.onmessage = function (e) {
17333
17347
  };
17334
17348
  `;
17335
17349
  var createWasiBrowserWorkerBinding = (fs2) => {
17336
- const fsImport = fs2 ? `import { Volume, createFsFromVolume } from '@napi-rs/wasm-runtime/fs'
17337
-
17338
- const fs = createFsFromVolume(
17339
- Volume.fromJSON({
17340
- '/': null,
17341
- }),
17342
- )` : "\nconst fs = null";
17343
- return `import { instantiateNapiModuleSync, MessageHandler, WASI } from '@napi-rs/wasm-runtime'
17350
+ const fsImport = fs2 ? `import { memfsExported as __memfsExported } from '@napi-rs/wasm-runtime/fs'
17351
+
17352
+ const fs = createFsProxy(__memfsExported)` : "\nconst fs = null";
17353
+ return `import { instantiateNapiModuleSync, MessageHandler, WASI, createFsProxy } from '@napi-rs/wasm-runtime'
17344
17354
  ${fsImport}
17345
17355
 
17346
17356
  const handler = new MessageHandler({
17347
17357
  onLoad({ wasmModule, wasmMemory }) {
17348
17358
  const wasi = new WASI({
17349
17359
  fs,
17360
+ preopens: {
17361
+ '/': '/',
17362
+ },
17350
17363
  print: function () {
17351
17364
  // eslint-disable-next-line no-console
17352
17365
  console.log.apply(console, arguments)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@napi-rs/cli",
3
- "version": "3.0.0-alpha.52",
3
+ "version": "3.0.0-alpha.53",
4
4
  "description": "Cli tools for napi-rs",
5
5
  "author": "LongYinan <lynweklm@gmail.com>",
6
6
  "homepage": "https://github.com/napi-rs/napi-rs",
@@ -129,5 +129,5 @@
129
129
  "**/__tests__/**/*.spec.ts"
130
130
  ]
131
131
  },
132
- "gitHead": "9b6361afc3d2ba895e4e39a0b99ff0e16d836290"
132
+ "gitHead": "131046b7cbd47c99a31f2f0a944e4f7b67dc4f53"
133
133
  }
@@ -31,8 +31,8 @@ export async function collectArtifacts(userOptions: ArtifactsOptions) {
31
31
  const universalSourceBins = new Set(
32
32
  targets
33
33
  .filter((platform) => platform.arch === 'universal')
34
- .flatMap(
35
- (p) => UniArchsByPlatform[p.platform]?.map((a) => `${p.platform}-${a}`),
34
+ .flatMap((p) =>
35
+ UniArchsByPlatform[p.platform]?.map((a) => `${p.platform}-${a}`),
36
36
  )
37
37
  .filter(Boolean) as string[],
38
38
  )
@@ -136,7 +136,7 @@ jobs:
136
136
  - uses: goto-bus-stop/setup-zig@v2
137
137
  if: \${{ contains(matrix.settings.target, 'musl') }}
138
138
  with:
139
- version: 0.11.0
139
+ version: 0.12.0
140
140
 
141
141
  - name: Setup toolchain
142
142
  run: \${{ matrix.settings.setup }}
@@ -22,10 +22,15 @@ const __wasi = new __WASI({
22
22
  version: 'preview1',
23
23
  })`
24
24
 
25
+ const workerFsHandler = fs
26
+ ? `\n worker.addEventListener('message', __wasmCreateOnMessageForFsProxy(__fs))\n`
27
+ : ''
28
+
25
29
  return `import {
26
30
  instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync,
27
31
  getDefaultContext as __emnapiGetDefaultContext,
28
32
  WASI as __WASI,
33
+ createOnMessage as __wasmCreateOnMessageForFsProxy,
29
34
  } from '@napi-rs/wasm-runtime'
30
35
  ${fsImport}
31
36
  import __wasmUrl from './${wasiFilename}.wasm?url'
@@ -50,9 +55,11 @@ const {
50
55
  asyncWorkPoolSize: 4,
51
56
  wasi: __wasi,
52
57
  onCreateWorker() {
53
- return new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
58
+ const worker = new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
54
59
  type: 'module',
55
60
  })
61
+ ${workerFsHandler}
62
+ return worker
56
63
  },
57
64
  overwriteImports(importObject) {
58
65
  importObject.env = {
@@ -87,7 +94,7 @@ export const createWasiBinding = (
87
94
 
88
95
  /* auto-generated by NAPI-RS */
89
96
 
90
- const __nodeFs= require('node:fs')
97
+ const __nodeFs = require('node:fs')
91
98
  const __nodePath = require('node:path')
92
99
  const { WASI: __nodeWASI } = require('node:wasi')
93
100
  const { Worker } = require('node:worker_threads')
@@ -95,6 +102,7 @@ const { Worker } = require('node:worker_threads')
95
102
  const {
96
103
  instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
97
104
  getDefaultContext: __emnapiGetDefaultContext,
105
+ createOnMessage: __wasmCreateOnMessageForFsProxy,
98
106
  } = require('@napi-rs/wasm-runtime')
99
107
 
100
108
  const __rootDir = __nodePath.parse(process.cwd()).root
@@ -141,10 +149,14 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
141
149
  })(),
142
150
  wasi: __wasi,
143
151
  onCreateWorker() {
144
- return new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
152
+ const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
145
153
  env: process.env,
146
154
  execArgv: ['--experimental-wasi-unstable-preview1'],
147
155
  })
156
+ worker.onmessage = ({ data }) => {
157
+ __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
158
+ }
159
+ return worker
148
160
  },
149
161
  overwriteImports(importObject) {
150
162
  importObject.env = {
@@ -1,5 +1,6 @@
1
1
  export const WASI_WORKER_TEMPLATE = `import fs from "node:fs";
2
2
  import { createRequire } from "node:module";
3
+ import { parse } from "node:path";
3
4
  import { WASI } from "node:wasi";
4
5
  import { parentPort, Worker } from "node:worker_threads";
5
6
 
@@ -27,7 +28,9 @@ Object.assign(globalThis, {
27
28
  },
28
29
  });
29
30
 
30
- const emnapiContext = getDefaultContext()
31
+ const emnapiContext = getDefaultContext();
32
+
33
+ const __rootDir = parse(process.cwd()).root;
31
34
 
32
35
  const handler = new MessageHandler({
33
36
  onLoad({ wasmModule, wasmMemory }) {
@@ -35,7 +38,7 @@ const handler = new MessageHandler({
35
38
  version: 'preview1',
36
39
  env: process.env,
37
40
  preopens: {
38
- '/': '/',
41
+ [__rootDir]: __rootDir,
39
42
  },
40
43
  });
41
44
 
@@ -62,21 +65,20 @@ globalThis.onmessage = function (e) {
62
65
 
63
66
  export const createWasiBrowserWorkerBinding = (fs: boolean) => {
64
67
  const fsImport = fs
65
- ? `import { Volume, createFsFromVolume } from '@napi-rs/wasm-runtime/fs'
68
+ ? `import { memfsExported as __memfsExported } from '@napi-rs/wasm-runtime/fs'
66
69
 
67
- const fs = createFsFromVolume(
68
- Volume.fromJSON({
69
- '/': null,
70
- }),
71
- )`
70
+ const fs = createFsProxy(__memfsExported)`
72
71
  : '\nconst fs = null'
73
- return `import { instantiateNapiModuleSync, MessageHandler, WASI } from '@napi-rs/wasm-runtime'
72
+ return `import { instantiateNapiModuleSync, MessageHandler, WASI, createFsProxy } from '@napi-rs/wasm-runtime'
74
73
  ${fsImport}
75
74
 
76
75
  const handler = new MessageHandler({
77
76
  onLoad({ wasmModule, wasmMemory }) {
78
77
  const wasi = new WASI({
79
78
  fs,
79
+ preopens: {
80
+ '/': '/',
81
+ },
80
82
  print: function () {
81
83
  // eslint-disable-next-line no-console
82
84
  console.log.apply(console, arguments)
@@ -42,8 +42,12 @@ export async function universalizeBinaries(userOptions: UniversalizeOptions) {
42
42
  )
43
43
  }
44
44
 
45
- const srcFiles = UniArchsByPlatform[process.platform]?.map(
46
- (arch) => resolve(options.cwd, options.outputDir, `${config.binaryName}.${process.platform}-${arch}.node`),
45
+ const srcFiles = UniArchsByPlatform[process.platform]?.map((arch) =>
46
+ resolve(
47
+ options.cwd,
48
+ options.outputDir,
49
+ `${config.binaryName}.${process.platform}-${arch}.node`,
50
+ ),
47
51
  )
48
52
 
49
53
  if (!srcFiles || !universalizers[process.platform]) {
@@ -55,9 +59,7 @@ export async function universalizeBinaries(userOptions: UniversalizeOptions) {
55
59
  debug(`Looking up source binaries to combine: `)
56
60
  debug(' %O', srcFiles)
57
61
 
58
- const srcFileLookup = await Promise.all(
59
- srcFiles.map((f) => fileExists(f)),
60
- )
62
+ const srcFileLookup = await Promise.all(srcFiles.map((f) => fileExists(f)))
61
63
 
62
64
  const notFoundFiles = srcFiles.filter((_, i) => !srcFileLookup[i])
63
65