@oxc-parser/binding-wasm32-wasi 0.77.2 → 0.78.0

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.
@@ -5,7 +5,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
5
5
  throw Error('Dynamic require of "' + x + '" is not supported');
6
6
  });
7
7
 
8
- // ../../node_modules/.pnpm/@napi-rs+wasm-runtime@0.2.12/node_modules/@napi-rs/wasm-runtime/dist/runtime.js
8
+ // ../../node_modules/.pnpm/@napi-rs+wasm-runtime@1.0.0/node_modules/@napi-rs/wasm-runtime/dist/runtime.js
9
9
  var _WebAssembly$2 = typeof WebAssembly !== "undefined" ? WebAssembly : typeof WXWebAssembly !== "undefined" ? WXWebAssembly : void 0;
10
10
  var ENVIRONMENT_IS_NODE = false;
11
11
  function getPostMessage(options) {
@@ -12610,20 +12610,18 @@ var fsProxyExports = requireFsProxy();
12610
12610
  var createFsProxy = fsProxyExports.createFsProxy;
12611
12611
  var createOnMessage = fsProxyExports.createOnMessage;
12612
12612
 
12613
- // new-url-asset:./parser.wasm32-wasi.wasm
12614
- var parser_wasm32_wasi_default = new URL("./parser.wasm32-wasi.wasm", import.meta.url).href;
12615
-
12616
12613
  // parser.wasi-browser.js
12617
12614
  var __wasi = new WASI({
12618
12615
  version: "preview1"
12619
12616
  });
12617
+ var __wasmUrl = new URL("./parser.wasm32-wasi.wasm", import.meta.url).href;
12620
12618
  var __emnapiContext = getDefaultContext();
12621
12619
  var __sharedMemory = new WebAssembly.Memory({
12622
12620
  initial: 4e3,
12623
12621
  maximum: 65536,
12624
12622
  shared: true
12625
12623
  });
12626
- var __wasmFile = await fetch(parser_wasm32_wasi_default).then((res) => res.arrayBuffer());
12624
+ var __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer());
12627
12625
  var {
12628
12626
  instance: __napiInstance,
12629
12627
  module: __wasiModule,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxc-parser/binding-wasm32-wasi",
3
- "version": "0.77.2",
3
+ "version": "0.78.0",
4
4
  "cpu": [
5
5
  "wasm32"
6
6
  ],
@@ -24,18 +24,18 @@
24
24
  "engines": {
25
25
  "node": ">=14.0.0"
26
26
  },
27
- "publishConfig": {
28
- "registry": "https://registry.npmjs.org/",
29
- "access": "public"
30
- },
31
27
  "repository": {
32
28
  "type": "git",
33
29
  "url": "https://github.com/oxc-project/oxc.git",
34
30
  "directory": "napi/parser"
35
31
  },
36
32
  "bugs": "https://github.com/oxc-project/oxc/issues",
33
+ "publishConfig": {
34
+ "registry": "https://registry.npmjs.org/",
35
+ "access": "public"
36
+ },
37
37
  "browser": "parser.wasi-browser.js",
38
38
  "dependencies": {
39
- "@napi-rs/wasm-runtime": "^1.0.0"
39
+ "@napi-rs/wasm-runtime": "^1.0.1"
40
40
  }
41
41
  }
@@ -5,14 +5,16 @@ import {
5
5
  WASI as __WASI,
6
6
  } from '@napi-rs/wasm-runtime'
7
7
 
8
- import __wasmUrl from './parser.wasm32-wasi.wasm?url'
8
+
9
9
 
10
10
  const __wasi = new __WASI({
11
11
  version: 'preview1',
12
12
  })
13
13
 
14
+ const __wasmUrl = new URL('./parser.wasm32-wasi.wasm', import.meta.url).href
14
15
  const __emnapiContext = __emnapiGetDefaultContext()
15
16
 
17
+
16
18
  const __sharedMemory = new WebAssembly.Memory({
17
19
  initial: 4000,
18
20
  maximum: 65536,
package/parser.wasi.cjs CHANGED
@@ -65,6 +65,29 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
65
65
  worker.onmessage = ({ data }) => {
66
66
  __wasmCreateOnMessageForFsProxy(__nodeFs)(data)
67
67
  }
68
+
69
+ // The main thread of Node.js waits for all the active handles before exiting.
70
+ // But Rust threads are never waited without `thread::join`.
71
+ // So here we hack the code of Node.js to prevent the workers from being referenced (active).
72
+ // According to https://github.com/nodejs/node/blob/19e0d472728c79d418b74bddff588bea70a403d0/lib/internal/worker.js#L415,
73
+ // a worker is consist of two handles: kPublicPort and kHandle.
74
+ {
75
+ const kPublicPort = Object.getOwnPropertySymbols(worker).find(s =>
76
+ s.toString().includes("kPublicPort")
77
+ );
78
+ if (kPublicPort) {
79
+ worker[kPublicPort].ref = () => {};
80
+ }
81
+
82
+ const kHandle = Object.getOwnPropertySymbols(worker).find(s =>
83
+ s.toString().includes("kHandle")
84
+ );
85
+ if (kHandle) {
86
+ worker[kHandle].ref = () => {};
87
+ }
88
+
89
+ worker.unref();
90
+ }
68
91
  return worker
69
92
  },
70
93
  overwriteImports(importObject) {
Binary file