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

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.40",
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,62 @@ 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 BindingDevEngine = __napiModule.exports.BindingDevEngine
92
+ export const BindingHmrOutput = __napiModule.exports.BindingHmrOutput
93
+ export const BindingMagicString = __napiModule.exports.BindingMagicString
66
94
  export const BindingModuleInfo = __napiModule.exports.BindingModuleInfo
67
95
  export const BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
68
96
  export const BindingOutputAsset = __napiModule.exports.BindingOutputAsset
69
97
  export const BindingOutputChunk = __napiModule.exports.BindingOutputChunk
70
98
  export const BindingOutputs = __napiModule.exports.BindingOutputs
71
99
  export const BindingPluginContext = __napiModule.exports.BindingPluginContext
100
+ export const BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
101
+ export const BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
72
102
  export const BindingRenderedModule = __napiModule.exports.BindingRenderedModule
73
103
  export const BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
74
104
  export const BindingWatcher = __napiModule.exports.BindingWatcher
75
105
  export const BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
76
106
  export const BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
77
- export const Bundler = __napiModule.exports.Bundler
78
107
  export const ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
79
- export const ParseResult = __napiModule.exports.ParseResult
80
- export const RenderedChunk = __napiModule.exports.RenderedChunk
108
+ export const ScheduledBuild = __napiModule.exports.ScheduledBuild
109
+ export const TraceSubscriberGuard = __napiModule.exports.TraceSubscriberGuard
110
+ export const BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
81
111
  export const BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
82
- export const BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
112
+ export const BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
113
+ export const BindingJsx = __napiModule.exports.BindingJsx
83
114
  export const BindingLogLevel = __napiModule.exports.BindingLogLevel
84
115
  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
116
+ export const BindingPropertyReadSideEffects = __napiModule.exports.BindingPropertyReadSideEffects
117
+ export const BindingPropertyWriteSideEffects = __napiModule.exports.BindingPropertyWriteSideEffects
118
+ export const FilterTokenKind = __napiModule.exports.FilterTokenKind
119
+ export const initTraceSubscriber = __napiModule.exports.initTraceSubscriber
97
120
  export const registerPlugins = __napiModule.exports.registerPlugins
98
- export const Severity = __napiModule.exports.Severity
99
- export const transform = __napiModule.exports.transform
121
+ export const shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
122
+ export const startAsyncRuntime = __napiModule.exports.startAsyncRuntime
123
+ 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,62 @@ 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.BindingDevEngine = __napiModule.exports.BindingDevEngine
137
+ module.exports.BindingHmrOutput = __napiModule.exports.BindingHmrOutput
138
+ module.exports.BindingMagicString = __napiModule.exports.BindingMagicString
91
139
  module.exports.BindingModuleInfo = __napiModule.exports.BindingModuleInfo
92
140
  module.exports.BindingNormalizedOptions = __napiModule.exports.BindingNormalizedOptions
93
141
  module.exports.BindingOutputAsset = __napiModule.exports.BindingOutputAsset
94
142
  module.exports.BindingOutputChunk = __napiModule.exports.BindingOutputChunk
95
143
  module.exports.BindingOutputs = __napiModule.exports.BindingOutputs
96
144
  module.exports.BindingPluginContext = __napiModule.exports.BindingPluginContext
145
+ module.exports.BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
146
+ module.exports.BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
97
147
  module.exports.BindingRenderedModule = __napiModule.exports.BindingRenderedModule
98
148
  module.exports.BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
99
149
  module.exports.BindingWatcher = __napiModule.exports.BindingWatcher
100
150
  module.exports.BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
101
151
  module.exports.BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
102
- module.exports.Bundler = __napiModule.exports.Bundler
103
152
  module.exports.ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
104
- module.exports.ParseResult = __napiModule.exports.ParseResult
105
- module.exports.RenderedChunk = __napiModule.exports.RenderedChunk
153
+ module.exports.ScheduledBuild = __napiModule.exports.ScheduledBuild
154
+ module.exports.TraceSubscriberGuard = __napiModule.exports.TraceSubscriberGuard
155
+ module.exports.BindingAttachDebugInfo = __napiModule.exports.BindingAttachDebugInfo
106
156
  module.exports.BindingBuiltinPluginName = __napiModule.exports.BindingBuiltinPluginName
107
- module.exports.BindingHookSideEffects = __napiModule.exports.BindingHookSideEffects
157
+ module.exports.BindingChunkModuleOrderBy = __napiModule.exports.BindingChunkModuleOrderBy
158
+ module.exports.BindingJsx = __napiModule.exports.BindingJsx
108
159
  module.exports.BindingLogLevel = __napiModule.exports.BindingLogLevel
109
160
  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
161
+ module.exports.BindingPropertyReadSideEffects = __napiModule.exports.BindingPropertyReadSideEffects
162
+ module.exports.BindingPropertyWriteSideEffects = __napiModule.exports.BindingPropertyWriteSideEffects
163
+ module.exports.FilterTokenKind = __napiModule.exports.FilterTokenKind
164
+ module.exports.initTraceSubscriber = __napiModule.exports.initTraceSubscriber
122
165
  module.exports.registerPlugins = __napiModule.exports.registerPlugins
123
- module.exports.Severity = __napiModule.exports.Severity
124
- module.exports.transform = __napiModule.exports.transform
166
+ module.exports.shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
167
+ module.exports.startAsyncRuntime = __napiModule.exports.startAsyncRuntime
168
+ 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).