@rolldown/binding-wasm32-wasi 1.0.0-beta.6-commit.13c7123 → 1.0.0-beta.60

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.6-commit.13c7123",
3
+ "version": "1.0.0-beta.60",
4
4
  "cpu": [
5
5
  "wasm32"
6
6
  ],
@@ -14,29 +14,29 @@
14
14
  ],
15
15
  "description": "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.",
16
16
  "keywords": [
17
- "webpack",
18
- "parcel",
17
+ "bundler",
19
18
  "esbuild",
19
+ "parcel",
20
+ "rolldown",
20
21
  "rollup",
21
- "bundler",
22
- "rolldown"
22
+ "webpack"
23
23
  ],
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.1.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,42 +62,63 @@ const {
60
62
  }
61
63
  },
62
64
  })
65
+ export default __napiModule.exports
66
+ export const minify = __napiModule.exports.minify
67
+ export const minifySync = __napiModule.exports.minifySync
68
+ export const Severity = __napiModule.exports.Severity
69
+ export const ParseResult = __napiModule.exports.ParseResult
70
+ export const ExportExportNameKind = __napiModule.exports.ExportExportNameKind
71
+ export const ExportImportNameKind = __napiModule.exports.ExportImportNameKind
72
+ export const ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
73
+ export const ImportNameKind = __napiModule.exports.ImportNameKind
74
+ export const parse = __napiModule.exports.parse
75
+ export const parseSync = __napiModule.exports.parseSync
76
+ export const rawTransferSupported = __napiModule.exports.rawTransferSupported
77
+ export const ResolverFactory = __napiModule.exports.ResolverFactory
78
+ export const EnforceExtension = __napiModule.exports.EnforceExtension
79
+ export const ModuleType = __napiModule.exports.ModuleType
80
+ export const sync = __napiModule.exports.sync
81
+ export const HelperMode = __napiModule.exports.HelperMode
82
+ export const isolatedDeclaration = __napiModule.exports.isolatedDeclaration
83
+ export const isolatedDeclarationSync = __napiModule.exports.isolatedDeclarationSync
84
+ export const moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
85
+ export const moduleRunnerTransformSync = __napiModule.exports.moduleRunnerTransformSync
86
+ export const transform = __napiModule.exports.transform
87
+ export const transformSync = __napiModule.exports.transformSync
63
88
  export const BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
89
+ export const BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
90
+ export const BindingBundler = __napiModule.exports.BindingBundler
64
91
  export const BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
65
- export const BindingError = __napiModule.exports.BindingError
92
+ export const BindingChunkingContext = __napiModule.exports.BindingChunkingContext
93
+ export const BindingDevEngine = __napiModule.exports.BindingDevEngine
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
- export const BindingOutputs = __napiModule.exports.BindingOutputs
71
99
  export const BindingPluginContext = __napiModule.exports.BindingPluginContext
72
100
  export const BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
101
+ export const BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
73
102
  export const BindingRenderedModule = __napiModule.exports.BindingRenderedModule
74
103
  export const BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
75
104
  export const BindingWatcher = __napiModule.exports.BindingWatcher
105
+ export const BindingWatcherBundler = __napiModule.exports.BindingWatcherBundler
76
106
  export const BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
77
107
  export const BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
78
- export const Bundler = __napiModule.exports.Bundler
79
108
  export const ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
80
- export const ParseResult = __napiModule.exports.ParseResult
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
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 BindingRebuildStrategy = __napiModule.exports.BindingRebuildStrategy
119
+ export const createTokioRuntime = __napiModule.exports.createTokioRuntime
120
+ export const FilterTokenKind = __napiModule.exports.FilterTokenKind
121
+ export const initTraceSubscriber = __napiModule.exports.initTraceSubscriber
97
122
  export const registerPlugins = __napiModule.exports.registerPlugins
98
- export const Severity = __napiModule.exports.Severity
99
123
  export const shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
100
124
  export const startAsyncRuntime = __napiModule.exports.startAsyncRuntime
101
- export const transform = __napiModule.exports.transform
@@ -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
@@ -39,7 +39,7 @@ if (__nodeFs.existsSync(__wasmDebugFilePath)) {
39
39
  __wasmFilePath = __wasmDebugFilePath
40
40
  } else if (!__nodeFs.existsSync(__wasmFilePath)) {
41
41
  try {
42
- __wasmFilePath = __nodePath.resolve('@rolldown/binding-wasm32-wasi')
42
+ __wasmFilePath = require.resolve('@rolldown/binding-wasm32-wasi/rolldown-binding.wasm32-wasi.wasm')
43
43
  } catch {
44
44
  throw new Error('Cannot find rolldown-binding.wasm32-wasi.wasm file, and @rolldown/binding-wasm32-wasi package is not installed.')
45
45
  }
@@ -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,43 +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.minifySync = __napiModule.exports.minifySync
113
+ module.exports.Severity = __napiModule.exports.Severity
114
+ module.exports.ParseResult = __napiModule.exports.ParseResult
115
+ module.exports.ExportExportNameKind = __napiModule.exports.ExportExportNameKind
116
+ module.exports.ExportImportNameKind = __napiModule.exports.ExportImportNameKind
117
+ module.exports.ExportLocalNameKind = __napiModule.exports.ExportLocalNameKind
118
+ module.exports.ImportNameKind = __napiModule.exports.ImportNameKind
119
+ module.exports.parse = __napiModule.exports.parse
120
+ module.exports.parseSync = __napiModule.exports.parseSync
121
+ module.exports.rawTransferSupported = __napiModule.exports.rawTransferSupported
122
+ module.exports.ResolverFactory = __napiModule.exports.ResolverFactory
123
+ module.exports.EnforceExtension = __napiModule.exports.EnforceExtension
124
+ module.exports.ModuleType = __napiModule.exports.ModuleType
125
+ module.exports.sync = __napiModule.exports.sync
126
+ module.exports.HelperMode = __napiModule.exports.HelperMode
127
+ module.exports.isolatedDeclaration = __napiModule.exports.isolatedDeclaration
128
+ module.exports.isolatedDeclarationSync = __napiModule.exports.isolatedDeclarationSync
129
+ module.exports.moduleRunnerTransform = __napiModule.exports.moduleRunnerTransform
130
+ module.exports.moduleRunnerTransformSync = __napiModule.exports.moduleRunnerTransformSync
131
+ module.exports.transform = __napiModule.exports.transform
132
+ module.exports.transformSync = __napiModule.exports.transformSync
88
133
  module.exports.BindingBundleEndEventData = __napiModule.exports.BindingBundleEndEventData
134
+ module.exports.BindingBundleErrorEventData = __napiModule.exports.BindingBundleErrorEventData
135
+ module.exports.BindingBundler = __napiModule.exports.BindingBundler
89
136
  module.exports.BindingCallableBuiltinPlugin = __napiModule.exports.BindingCallableBuiltinPlugin
90
- module.exports.BindingError = __napiModule.exports.BindingError
137
+ module.exports.BindingChunkingContext = __napiModule.exports.BindingChunkingContext
138
+ module.exports.BindingDevEngine = __napiModule.exports.BindingDevEngine
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
- module.exports.BindingOutputs = __napiModule.exports.BindingOutputs
96
144
  module.exports.BindingPluginContext = __napiModule.exports.BindingPluginContext
97
145
  module.exports.BindingRenderedChunk = __napiModule.exports.BindingRenderedChunk
146
+ module.exports.BindingRenderedChunkMeta = __napiModule.exports.BindingRenderedChunkMeta
98
147
  module.exports.BindingRenderedModule = __napiModule.exports.BindingRenderedModule
99
148
  module.exports.BindingTransformPluginContext = __napiModule.exports.BindingTransformPluginContext
100
149
  module.exports.BindingWatcher = __napiModule.exports.BindingWatcher
150
+ module.exports.BindingWatcherBundler = __napiModule.exports.BindingWatcherBundler
101
151
  module.exports.BindingWatcherChangeData = __napiModule.exports.BindingWatcherChangeData
102
152
  module.exports.BindingWatcherEvent = __napiModule.exports.BindingWatcherEvent
103
- module.exports.Bundler = __napiModule.exports.Bundler
104
153
  module.exports.ParallelJsPluginRegistry = __napiModule.exports.ParallelJsPluginRegistry
105
- module.exports.ParseResult = __napiModule.exports.ParseResult
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
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.BindingRebuildStrategy = __napiModule.exports.BindingRebuildStrategy
164
+ module.exports.createTokioRuntime = __napiModule.exports.createTokioRuntime
165
+ module.exports.FilterTokenKind = __napiModule.exports.FilterTokenKind
166
+ module.exports.initTraceSubscriber = __napiModule.exports.initTraceSubscriber
122
167
  module.exports.registerPlugins = __napiModule.exports.registerPlugins
123
- module.exports.Severity = __napiModule.exports.Severity
124
168
  module.exports.shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime
125
169
  module.exports.startAsyncRuntime = __napiModule.exports.startAsyncRuntime
126
- module.exports.transform = __napiModule.exports.transform
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).