@rolldown/binding-wasm32-wasi 1.0.0-beta.4-commit.308f68b → 1.0.0-beta.41

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.4-commit.308f68b",
3
+ "version": "1.0.0-beta.41",
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.5"
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,63 @@ const {
60
62
  }
61
63
  },
62
64
  })
65
+ export default __napiModule.exports
66
+ export const minify = __napiModule.exports.minify
67
+ export const Severity = __napiModule.exports.Severity
68
+ export const ParseResult = __napiModule.exports.ParseResult
69
+ export const ExportExportNameKind = __napiModule.exports.ExportExportNameKind
70
+ export const ExportImportNameKind = __napiModule.exports.ExportImportNameKind
71
+ export const ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
72
+ export const ImportNameKind = __napiModule.exports.ImportNameKind
73
+ export const parseAsync = __napiModule.exports.parseAsync
74
+ export const parseSync = __napiModule.exports.parseSync
75
+ export const rawTransferSupported = __napiModule.exports.rawTransferSupported
76
+ export const ResolverFactory = __napiModule.exports.ResolverFactory
77
+ export const EnforceExtension = __napiModule.exports.EnforceExtension
78
+ export const ModuleType = __napiModule.exports.ModuleType
79
+ export const sync = __napiModule.exports.sync
80
+ export const HelperMode = __napiModule.exports.HelperMode
81
+ export const isolatedDeclaration = __napiModule.exports.isolatedDeclaration
82
+ export const moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
83
+ export const transform = __napiModule.exports.transform
84
+ export const transformAsync = __napiModule.exports.transformAsync
63
85
  export const BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
86
+ export const BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
87
+ export const BindingBundler = __napiModule.exports.BindingBundler
88
+ export const BindingBundlerImpl = __napiModule.exports.BindingBundlerImpl
64
89
  export const BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
65
- export const BindingError = __napiModule.exports.BindingError
90
+ export const BindingChunkingContext = __napiModule.exports.BindingChunkingContext
91
+ export const BindingClientHmrUpdate = __napiModule.exports.BindingClientHmrUpdate
92
+ export const BindingDevEngine = __napiModule.exports.BindingDevEngine
93
+ export const BindingHmrOutput = __napiModule.exports.BindingHmrOutput
94
+ export const BindingMagicString = __napiModule.exports.BindingMagicString
66
95
  export const BindingModuleInfo = __napiModule.exports.BindingModuleInfo
67
96
  export const BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
68
97
  export const BindingOutputAsset = __napiModule.exports.BindingOutputAsset
69
98
  export const BindingOutputChunk = __napiModule.exports.BindingOutputChunk
70
99
  export const BindingOutputs = __napiModule.exports.BindingOutputs
71
100
  export const BindingPluginContext = __napiModule.exports.BindingPluginContext
101
+ export const BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
102
+ export const BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
72
103
  export const BindingRenderedModule = __napiModule.exports.BindingRenderedModule
73
104
  export const BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
74
105
  export const BindingWatcher = __napiModule.exports.BindingWatcher
75
106
  export const BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
76
107
  export const BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
77
- export const Bundler = __napiModule.exports.Bundler
78
108
  export const ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
79
- export const ParseResult = __napiModule.exports.ParseResult
80
- export const RenderedChunk = __napiModule.exports.RenderedChunk
109
+ export const ScheduledBuild = __napiModule.exports.ScheduledBuild
110
+ export const TraceSubscriberGuard = __napiModule.exports.TraceSubscriberGuard
111
+ export const BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
81
112
  export const BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
82
- export const BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
113
+ export const BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
114
+ export const BindingJsx = __napiModule.exports.BindingJsx
83
115
  export const BindingLogLevel = __napiModule.exports.BindingLogLevel
84
116
  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
117
+ export const BindingPropertyReadSideEffects = __napiModule.exports.BindingPropertyReadSideEffects
118
+ export const BindingPropertyWriteSideEffects = __napiModule.exports.BindingPropertyWriteSideEffects
119
+ export const FilterTokenKind = __napiModule.exports.FilterTokenKind
120
+ export const initTraceSubscriber = __napiModule.exports.initTraceSubscriber
97
121
  export const registerPlugins = __napiModule.exports.registerPlugins
98
- export const Severity = __napiModule.exports.Severity
99
- export const transform = __napiModule.exports.transform
122
+ export const shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
123
+ export const startAsyncRuntime = __napiModule.exports.startAsyncRuntime
124
+ export const JsWatcher = __napiModule.exports.JsWatcher
@@ -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,63 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
84
107
  }
85
108
  },
86
109
  })
87
-
110
+ module.exports = __napiModule.exports
111
+ module.exports.minify = __napiModule.exports.minify
112
+ module.exports.Severity = __napiModule.exports.Severity
113
+ module.exports.ParseResult = __napiModule.exports.ParseResult
114
+ module.exports.ExportExportNameKind = __napiModule.exports.ExportExportNameKind
115
+ module.exports.ExportImportNameKind = __napiModule.exports.ExportImportNameKind
116
+ module.exports.ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
117
+ module.exports.ImportNameKind = __napiModule.exports.ImportNameKind
118
+ module.exports.parseAsync = __napiModule.exports.parseAsync
119
+ module.exports.parseSync = __napiModule.exports.parseSync
120
+ module.exports.rawTransferSupported = __napiModule.exports.rawTransferSupported
121
+ module.exports.ResolverFactory = __napiModule.exports.ResolverFactory
122
+ module.exports.EnforceExtension = __napiModule.exports.EnforceExtension
123
+ module.exports.ModuleType = __napiModule.exports.ModuleType
124
+ module.exports.sync = __napiModule.exports.sync
125
+ module.exports.HelperMode = __napiModule.exports.HelperMode
126
+ module.exports.isolatedDeclaration = __napiModule.exports.isolatedDeclaration
127
+ module.exports.moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
128
+ module.exports.transform = __napiModule.exports.transform
129
+ module.exports.transformAsync = __napiModule.exports.transformAsync
88
130
  module.exports.BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
131
+ module.exports.BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
132
+ module.exports.BindingBundler = __napiModule.exports.BindingBundler
133
+ module.exports.BindingBundlerImpl = __napiModule.exports.BindingBundlerImpl
89
134
  module.exports.BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
90
- module.exports.BindingError = __napiModule.exports.BindingError
135
+ module.exports.BindingChunkingContext = __napiModule.exports.BindingChunkingContext
136
+ module.exports.BindingClientHmrUpdate = __napiModule.exports.BindingClientHmrUpdate
137
+ module.exports.BindingDevEngine = __napiModule.exports.BindingDevEngine
138
+ module.exports.BindingHmrOutput = __napiModule.exports.BindingHmrOutput
139
+ module.exports.BindingMagicString = __napiModule.exports.BindingMagicString
91
140
  module.exports.BindingModuleInfo = __napiModule.exports.BindingModuleInfo
92
141
  module.exports.BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
93
142
  module.exports.BindingOutputAsset = __napiModule.exports.BindingOutputAsset
94
143
  module.exports.BindingOutputChunk = __napiModule.exports.BindingOutputChunk
95
144
  module.exports.BindingOutputs = __napiModule.exports.BindingOutputs
96
145
  module.exports.BindingPluginContext = __napiModule.exports.BindingPluginContext
146
+ module.exports.BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
147
+ module.exports.BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
97
148
  module.exports.BindingRenderedModule = __napiModule.exports.BindingRenderedModule
98
149
  module.exports.BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
99
150
  module.exports.BindingWatcher = __napiModule.exports.BindingWatcher
100
151
  module.exports.BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
101
152
  module.exports.BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
102
- module.exports.Bundler = __napiModule.exports.Bundler
103
153
  module.exports.ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
104
- module.exports.ParseResult = __napiModule.exports.ParseResult
105
- module.exports.RenderedChunk = __napiModule.exports.RenderedChunk
154
+ module.exports.ScheduledBuild = __napiModule.exports.ScheduledBuild
155
+ module.exports.TraceSubscriberGuard = __napiModule.exports.TraceSubscriberGuard
156
+ module.exports.BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
106
157
  module.exports.BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
107
- module.exports.BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
158
+ module.exports.BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
159
+ module.exports.BindingJsx = __napiModule.exports.BindingJsx
108
160
  module.exports.BindingLogLevel = __napiModule.exports.BindingLogLevel
109
161
  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
162
+ module.exports.BindingPropertyReadSideEffects = __napiModule.exports.BindingPropertyReadSideEffects
163
+ module.exports.BindingPropertyWriteSideEffects = __napiModule.exports.BindingPropertyWriteSideEffects
164
+ module.exports.FilterTokenKind = __napiModule.exports.FilterTokenKind
165
+ module.exports.initTraceSubscriber = __napiModule.exports.initTraceSubscriber
122
166
  module.exports.registerPlugins = __napiModule.exports.registerPlugins
123
- module.exports.Severity = __napiModule.exports.Severity
124
- module.exports.transform = __napiModule.exports.transform
167
+ module.exports.shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
168
+ module.exports.startAsyncRuntime = __napiModule.exports.startAsyncRuntime
169
+ module.exports.JsWatcher = __napiModule.exports.JsWatcher
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).