@rolldown/binding-wasm32-wasi 1.0.0-beta.3-commit.72028a5 → 1.0.0-beta.31

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolldown/binding-wasm32-wasi",
3
- "version": "1.0.0-beta.3-commit.72028a5",
3
+ "version": "1.0.0-beta.31",
4
4
  "cpu": [
5
5
  "wasm32"
6
6
  ],
@@ -24,19 +24,19 @@
24
24
  "homepage": "https://rolldown.rs/",
25
25
  "license": "MIT",
26
26
  "engines": {
27
- "node": ">=14.21.3"
28
- },
29
- "publishConfig": {
30
- "registry": "https://registry.npmjs.org/",
31
- "access": "public"
27
+ "node": ">=14.0.0"
32
28
  },
33
29
  "repository": {
34
30
  "type": "git",
35
- "url": "https://github.com/rolldown/rolldown.git",
31
+ "url": "git+https://github.com/rolldown/rolldown.git",
36
32
  "directory": "packages/rolldown"
37
33
  },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/",
36
+ "access": "public"
37
+ },
38
38
  "browser": "rolldown-binding.wasi-browser.js",
39
39
  "dependencies": {
40
- "@napi-rs/wasm-runtime": "^0.2.4"
40
+ "@napi-rs/wasm-runtime": "^1.0.1"
41
41
  }
42
42
  }
@@ -1,11 +1,11 @@
1
1
  import {
2
- instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync,
2
+ createOnMessage as __wasmCreateOnMessageForFsProxy,
3
3
  getDefaultContext as __emnapiGetDefaultContext,
4
+ instantiateNapiModule as __emnapiInstantiateNapiModule,
4
5
  WASI as __WASI,
5
- createOnMessage as __wasmCreateOnMessageForFsProxy,
6
6
  } from '@napi-rs/wasm-runtime'
7
7
  import { memfs } from '@napi-rs/wasm-runtime/fs'
8
- import __wasmUrl from './rolldown-binding.wasm32-wasi.wasm?url'
8
+
9
9
 
10
10
  export const { fs: __fs, vol: __volume } = memfs()
11
11
 
@@ -17,8 +17,10 @@ const __wasi = new __WASI({
17
17
  },
18
18
  })
19
19
 
20
+ const __wasmUrl = new URL('./rolldown-binding.wasm32-wasi.wasm', import.meta.url).href
20
21
  const __emnapiContext = __emnapiGetDefaultContext()
21
22
 
23
+
22
24
  const __sharedMemory = new WebAssembly.Memory({
23
25
  initial: 16384,
24
26
  maximum: 65536,
@@ -31,7 +33,7 @@ const {
31
33
  instance: __napiInstance,
32
34
  module: __wasiModule,
33
35
  napiModule: __napiModule,
34
- } = __emnapiInstantiateNapiModuleSync(__wasmFile, {
36
+ } = await __emnapiInstantiateNapiModule(__wasmFile, {
35
37
  context: __emnapiContext,
36
38
  asyncWorkPoolSize: 4,
37
39
  wasi: __wasi,
@@ -60,40 +62,52 @@ const {
60
62
  }
61
63
  },
62
64
  })
65
+ export default __napiModule.exports
66
+ export const Severity = __napiModule.exports.Severity
67
+ export const ParseResult = __napiModule.exports.ParseResult
68
+ export const ExportExportNameKind = __napiModule.exports.ExportExportNameKind
69
+ export const ExportImportNameKind = __napiModule.exports.ExportImportNameKind
70
+ export const ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
71
+ export const ImportNameKind = __napiModule.exports.ImportNameKind
72
+ export const parseAsync = __napiModule.exports.parseAsync
73
+ export const parseSync = __napiModule.exports.parseSync
74
+ export const rawTransferSupported = __napiModule.exports.rawTransferSupported
75
+ export const ResolverFactory = __napiModule.exports.ResolverFactory
76
+ export const EnforceExtension = __napiModule.exports.EnforceExtension
77
+ export const ModuleType = __napiModule.exports.ModuleType
78
+ export const sync = __napiModule.exports.sync
79
+ export const HelperMode = __napiModule.exports.HelperMode
80
+ export const isolatedDeclaration = __napiModule.exports.isolatedDeclaration
81
+ export const moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
82
+ export const transform = __napiModule.exports.transform
63
83
  export const BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
84
+ export const BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
85
+ export const BindingBundler = __napiModule.exports.BindingBundler
86
+ export const BindingBundlerImpl = __napiModule.exports.BindingBundlerImpl
64
87
  export const BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
65
- export const BindingError = __napiModule.exports.BindingError
88
+ export const BindingChunkingContext = __napiModule.exports.BindingChunkingContext
89
+ export const BindingHmrOutput = __napiModule.exports.BindingHmrOutput
66
90
  export const BindingModuleInfo = __napiModule.exports.BindingModuleInfo
67
91
  export const BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
68
92
  export const BindingOutputAsset = __napiModule.exports.BindingOutputAsset
69
93
  export const BindingOutputChunk = __napiModule.exports.BindingOutputChunk
70
94
  export const BindingOutputs = __napiModule.exports.BindingOutputs
71
95
  export const BindingPluginContext = __napiModule.exports.BindingPluginContext
96
+ export const BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
97
+ export const BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
72
98
  export const BindingRenderedModule = __napiModule.exports.BindingRenderedModule
73
99
  export const BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
74
100
  export const BindingWatcher = __napiModule.exports.BindingWatcher
75
101
  export const BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
76
102
  export const BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
77
- export const Bundler = __napiModule.exports.Bundler
78
103
  export const ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
79
- export const ParseResult = __napiModule.exports.ParseResult
80
- export const RenderedChunk = __napiModule.exports.RenderedChunk
104
+ export const BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
81
105
  export const BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
82
- export const BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
106
+ export const BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
107
+ export const BindingJsx = __napiModule.exports.BindingJsx
83
108
  export const BindingLogLevel = __napiModule.exports.BindingLogLevel
84
109
  export const BindingPluginOrder = __napiModule.exports.BindingPluginOrder
85
- export const ExportExportNameKind = __napiModule.exports.ExportExportNameKind
86
- export const ExportImportNameKind = __napiModule.exports.ExportImportNameKind
87
- export const ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
88
- export const getBufferOffset = __napiModule.exports.getBufferOffset
89
- export const HelperMode = __napiModule.exports.HelperMode
90
- export const ImportNameKind = __napiModule.exports.ImportNameKind
91
- export const isolatedDeclaration = __napiModule.exports.isolatedDeclaration
92
- export const moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
93
- export const parseAsync = __napiModule.exports.parseAsync
94
- export const parseSync = __napiModule.exports.parseSync
95
- export const parseSyncRaw = __napiModule.exports.parseSyncRaw
96
- export const rawTransferSupported = __napiModule.exports.rawTransferSupported
110
+ export const FilterTokenKind = __napiModule.exports.FilterTokenKind
97
111
  export const registerPlugins = __napiModule.exports.registerPlugins
98
- export const Severity = __napiModule.exports.Severity
99
- export const transform = __napiModule.exports.transform
112
+ export const shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
113
+ export const startAsyncRuntime = __napiModule.exports.startAsyncRuntime
@@ -9,9 +9,9 @@ const { WASI: __nodeWASI } = require('node:wasi')
9
9
  const { Worker } = require('node:worker_threads')
10
10
 
11
11
  const {
12
- instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
13
- getDefaultContext: __emnapiGetDefaultContext,
14
12
  createOnMessage: __wasmCreateOnMessageForFsProxy,
13
+ getDefaultContext: __emnapiGetDefaultContext,
14
+ instantiateNapiModuleSync: __emnapiInstantiateNapiModuleSync,
15
15
  } = require('@napi-rs/wasm-runtime')
16
16
 
17
17
  const __rootDir = __nodePath.parse(process.cwd()).root
@@ -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) {
@@ -84,41 +107,52 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
84
107
  }
85
108
  },
86
109
  })
87
-
110
+ module.exports = __napiModule.exports
111
+ module.exports.Severity = __napiModule.exports.Severity
112
+ module.exports.ParseResult = __napiModule.exports.ParseResult
113
+ module.exports.ExportExportNameKind = __napiModule.exports.ExportExportNameKind
114
+ module.exports.ExportImportNameKind = __napiModule.exports.ExportImportNameKind
115
+ module.exports.ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
116
+ module.exports.ImportNameKind = __napiModule.exports.ImportNameKind
117
+ module.exports.parseAsync = __napiModule.exports.parseAsync
118
+ module.exports.parseSync = __napiModule.exports.parseSync
119
+ module.exports.rawTransferSupported = __napiModule.exports.rawTransferSupported
120
+ module.exports.ResolverFactory = __napiModule.exports.ResolverFactory
121
+ module.exports.EnforceExtension = __napiModule.exports.EnforceExtension
122
+ module.exports.ModuleType = __napiModule.exports.ModuleType
123
+ module.exports.sync = __napiModule.exports.sync
124
+ module.exports.HelperMode = __napiModule.exports.HelperMode
125
+ module.exports.isolatedDeclaration = __napiModule.exports.isolatedDeclaration
126
+ module.exports.moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
127
+ module.exports.transform = __napiModule.exports.transform
88
128
  module.exports.BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
129
+ module.exports.BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
130
+ module.exports.BindingBundler = __napiModule.exports.BindingBundler
131
+ module.exports.BindingBundlerImpl = __napiModule.exports.BindingBundlerImpl
89
132
  module.exports.BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
90
- module.exports.BindingError = __napiModule.exports.BindingError
133
+ module.exports.BindingChunkingContext = __napiModule.exports.BindingChunkingContext
134
+ module.exports.BindingHmrOutput = __napiModule.exports.BindingHmrOutput
91
135
  module.exports.BindingModuleInfo = __napiModule.exports.BindingModuleInfo
92
136
  module.exports.BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
93
137
  module.exports.BindingOutputAsset = __napiModule.exports.BindingOutputAsset
94
138
  module.exports.BindingOutputChunk = __napiModule.exports.BindingOutputChunk
95
139
  module.exports.BindingOutputs = __napiModule.exports.BindingOutputs
96
140
  module.exports.BindingPluginContext = __napiModule.exports.BindingPluginContext
141
+ module.exports.BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
142
+ module.exports.BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
97
143
  module.exports.BindingRenderedModule = __napiModule.exports.BindingRenderedModule
98
144
  module.exports.BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
99
145
  module.exports.BindingWatcher = __napiModule.exports.BindingWatcher
100
146
  module.exports.BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
101
147
  module.exports.BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
102
- module.exports.Bundler = __napiModule.exports.Bundler
103
148
  module.exports.ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
104
- module.exports.ParseResult = __napiModule.exports.ParseResult
105
- module.exports.RenderedChunk = __napiModule.exports.RenderedChunk
149
+ module.exports.BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
106
150
  module.exports.BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
107
- module.exports.BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
151
+ module.exports.BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
152
+ module.exports.BindingJsx = __napiModule.exports.BindingJsx
108
153
  module.exports.BindingLogLevel = __napiModule.exports.BindingLogLevel
109
154
  module.exports.BindingPluginOrder = __napiModule.exports.BindingPluginOrder
110
- module.exports.ExportExportNameKind = __napiModule.exports.ExportExportNameKind
111
- module.exports.ExportImportNameKind = __napiModule.exports.ExportImportNameKind
112
- module.exports.ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
113
- module.exports.getBufferOffset = __napiModule.exports.getBufferOffset
114
- module.exports.HelperMode = __napiModule.exports.HelperMode
115
- module.exports.ImportNameKind = __napiModule.exports.ImportNameKind
116
- module.exports.isolatedDeclaration = __napiModule.exports.isolatedDeclaration
117
- module.exports.moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
118
- module.exports.parseAsync = __napiModule.exports.parseAsync
119
- module.exports.parseSync = __napiModule.exports.parseSync
120
- module.exports.parseSyncRaw = __napiModule.exports.parseSyncRaw
121
- module.exports.rawTransferSupported = __napiModule.exports.rawTransferSupported
155
+ module.exports.FilterTokenKind = __napiModule.exports.FilterTokenKind
122
156
  module.exports.registerPlugins = __napiModule.exports.registerPlugins
123
- module.exports.Severity = __napiModule.exports.Severity
124
- module.exports.transform = __napiModule.exports.transform
157
+ module.exports.shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
158
+ module.exports.startAsyncRuntime = __napiModule.exports.startAsyncRuntime
Binary file
package/LICENSE DELETED
@@ -1,25 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2024-present VoidZero Inc. & Contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
23
- end of terms and conditions
24
-
25
- The licenses of externally maintained libraries from which parts of the Software is derived are listed [here](https://github.com/rolldown/rolldown/blob/main/THIRD-PARTY-LICENSE).