diff --git a/crates/node_binding/binding.d.ts b/crates/node_binding/binding.d.ts index b29523b06389..b5784044cca1 100644 --- a/crates/node_binding/binding.d.ts +++ b/crates/node_binding/binding.d.ts @@ -2694,14 +2694,6 @@ export interface RegisterJsTaps { registerRsdoctorPluginAssetsTaps: (stages: Array) => Array<{ function: ((arg: JsRsdoctorAssetPatch) => Promise); stage: number; }> } -/** - * Shutdown the tokio runtime manually. - * - * This is required for the wasm target with `tokio_unstable` cfg. - * In the wasm runtime, the `park` threads will hang there until the tokio::Runtime is shutdown. - */ -export declare function shutdownAsyncRuntime(): void - export interface SourceMapDevToolPluginOptions { append?: (false | null) | string | Function columns?: boolean @@ -2725,14 +2717,6 @@ export interface SourcePosition { column?: number } -/** - * Start the async runtime manually. - * - * This is required when the async runtime is shutdown manually. - * Usually it's used in test. - */ -export declare function startAsyncRuntime(): void - export declare function syncTraceEvent(events: Array): void export interface SyntheticDependencyLocation { diff --git a/crates/node_binding/rspack.wasi-browser.js b/crates/node_binding/rspack.wasi-browser.js index ee7296df2330..3ac77d336c16 100644 --- a/crates/node_binding/rspack.wasi-browser.js +++ b/crates/node_binding/rspack.wasi-browser.js @@ -60,51 +60,4 @@ const { } }, }) -export default __napiModule.exports -export const Assets = __napiModule.exports.Assets -export const AsyncDependenciesBlock = __napiModule.exports.AsyncDependenciesBlock -export const BuildInfo = __napiModule.exports.BuildInfo -export const Chunks = __napiModule.exports.Chunks -export const CodeGenerationResult = __napiModule.exports.CodeGenerationResult -export const CodeGenerationResults = __napiModule.exports.CodeGenerationResults -export const ConcatenatedModule = __napiModule.exports.ConcatenatedModule -export const ContextModule = __napiModule.exports.ContextModule -export const Dependency = __napiModule.exports.Dependency -export const Diagnostics = __napiModule.exports.Diagnostics -export const EntryDataDto = __napiModule.exports.EntryDataDto -export const EntryDataDTO = __napiModule.exports.EntryDataDTO -export const EntryDependency = __napiModule.exports.EntryDependency -export const EntryOptionsDto = __napiModule.exports.EntryOptionsDto -export const EntryOptionsDTO = __napiModule.exports.EntryOptionsDTO -export const ExternalModule = __napiModule.exports.ExternalModule -export const JsChunk = __napiModule.exports.JsChunk -export const JsChunkGraph = __napiModule.exports.JsChunkGraph -export const JsChunkGroup = __napiModule.exports.JsChunkGroup -export const JsCompilation = __napiModule.exports.JsCompilation -export const JsCompiler = __napiModule.exports.JsCompiler -export const JsContextModuleFactoryAfterResolveData = __napiModule.exports.JsContextModuleFactoryAfterResolveData -export const JsContextModuleFactoryBeforeResolveData = __napiModule.exports.JsContextModuleFactoryBeforeResolveData -export const JsDependencies = __napiModule.exports.JsDependencies -export const JsEntries = __napiModule.exports.JsEntries -export const JsExportsInfo = __napiModule.exports.JsExportsInfo -export const JsModuleGraph = __napiModule.exports.JsModuleGraph -export const JsResolver = __napiModule.exports.JsResolver -export const JsResolverFactory = __napiModule.exports.JsResolverFactory -export const JsStats = __napiModule.exports.JsStats -export const Module = __napiModule.exports.Module -export const ModuleGraphConnection = __napiModule.exports.ModuleGraphConnection -export const NormalModule = __napiModule.exports.NormalModule -export const RawExternalItemFnCtx = __napiModule.exports.RawExternalItemFnCtx -export const Sources = __napiModule.exports.Sources -export const BuiltinPluginName = __napiModule.exports.BuiltinPluginName -export const cleanupGlobalTrace = __napiModule.exports.cleanupGlobalTrace -export const formatDiagnostic = __napiModule.exports.formatDiagnostic -export const JsLoaderState = __napiModule.exports.JsLoaderState -export const JsRspackSeverity = __napiModule.exports.JsRspackSeverity -export const minify = __napiModule.exports.minify -export const RawRuleSetConditionType = __napiModule.exports.RawRuleSetConditionType -export const registerGlobalTrace = __napiModule.exports.registerGlobalTrace -export const RegisterJsTapKind = __napiModule.exports.RegisterJsTapKind -export const shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime -export const startAsyncRuntime = __napiModule.exports.startAsyncRuntime -export const transform = __napiModule.exports.transform +export default __napiModule.exports \ No newline at end of file diff --git a/crates/node_binding/rspack.wasi.cjs b/crates/node_binding/rspack.wasi.cjs index c06d6f7c52ac..17038e1ed7a1 100644 --- a/crates/node_binding/rspack.wasi.cjs +++ b/crates/node_binding/rspack.wasi.cjs @@ -107,51 +107,4 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule } }, }) -module.exports = __napiModule.exports -module.exports.Assets = __napiModule.exports.Assets -module.exports.AsyncDependenciesBlock = __napiModule.exports.AsyncDependenciesBlock -module.exports.BuildInfo = __napiModule.exports.BuildInfo -module.exports.Chunks = __napiModule.exports.Chunks -module.exports.CodeGenerationResult = __napiModule.exports.CodeGenerationResult -module.exports.CodeGenerationResults = __napiModule.exports.CodeGenerationResults -module.exports.ConcatenatedModule = __napiModule.exports.ConcatenatedModule -module.exports.ContextModule = __napiModule.exports.ContextModule -module.exports.Dependency = __napiModule.exports.Dependency -module.exports.Diagnostics = __napiModule.exports.Diagnostics -module.exports.EntryDataDto = __napiModule.exports.EntryDataDto -module.exports.EntryDataDTO = __napiModule.exports.EntryDataDTO -module.exports.EntryDependency = __napiModule.exports.EntryDependency -module.exports.EntryOptionsDto = __napiModule.exports.EntryOptionsDto -module.exports.EntryOptionsDTO = __napiModule.exports.EntryOptionsDTO -module.exports.ExternalModule = __napiModule.exports.ExternalModule -module.exports.JsChunk = __napiModule.exports.JsChunk -module.exports.JsChunkGraph = __napiModule.exports.JsChunkGraph -module.exports.JsChunkGroup = __napiModule.exports.JsChunkGroup -module.exports.JsCompilation = __napiModule.exports.JsCompilation -module.exports.JsCompiler = __napiModule.exports.JsCompiler -module.exports.JsContextModuleFactoryAfterResolveData = __napiModule.exports.JsContextModuleFactoryAfterResolveData -module.exports.JsContextModuleFactoryBeforeResolveData = __napiModule.exports.JsContextModuleFactoryBeforeResolveData -module.exports.JsDependencies = __napiModule.exports.JsDependencies -module.exports.JsEntries = __napiModule.exports.JsEntries -module.exports.JsExportsInfo = __napiModule.exports.JsExportsInfo -module.exports.JsModuleGraph = __napiModule.exports.JsModuleGraph -module.exports.JsResolver = __napiModule.exports.JsResolver -module.exports.JsResolverFactory = __napiModule.exports.JsResolverFactory -module.exports.JsStats = __napiModule.exports.JsStats -module.exports.Module = __napiModule.exports.Module -module.exports.ModuleGraphConnection = __napiModule.exports.ModuleGraphConnection -module.exports.NormalModule = __napiModule.exports.NormalModule -module.exports.RawExternalItemFnCtx = __napiModule.exports.RawExternalItemFnCtx -module.exports.Sources = __napiModule.exports.Sources -module.exports.BuiltinPluginName = __napiModule.exports.BuiltinPluginName -module.exports.cleanupGlobalTrace = __napiModule.exports.cleanupGlobalTrace -module.exports.formatDiagnostic = __napiModule.exports.formatDiagnostic -module.exports.JsLoaderState = __napiModule.exports.JsLoaderState -module.exports.JsRspackSeverity = __napiModule.exports.JsRspackSeverity -module.exports.minify = __napiModule.exports.minify -module.exports.RawRuleSetConditionType = __napiModule.exports.RawRuleSetConditionType -module.exports.registerGlobalTrace = __napiModule.exports.registerGlobalTrace -module.exports.RegisterJsTapKind = __napiModule.exports.RegisterJsTapKind -module.exports.shutdownAsyncRuntime = __napiModule.exports.shutdownAsyncRuntime -module.exports.startAsyncRuntime = __napiModule.exports.startAsyncRuntime -module.exports.transform = __napiModule.exports.transform +module.exports = __napiModule.exports \ No newline at end of file diff --git a/crates/node_binding/src/lib.rs b/crates/node_binding/src/lib.rs index 3f881cb12572..b25024f7830e 100644 --- a/crates/node_binding/src/lib.rs +++ b/crates/node_binding/src/lib.rs @@ -568,23 +568,3 @@ pub fn rspack_module_exports(exports: Object, env: Env) -> Result<()> { build_info::export_symbols(exports, env)?; Ok(()) } - -#[napi] -/// Shutdown the tokio runtime manually. -/// -/// This is required for the wasm target with `tokio_unstable` cfg. -/// In the wasm runtime, the `park` threads will hang there until the tokio::Runtime is shutdown. -pub fn shutdown_async_runtime() { - #[cfg(all(target_family = "wasm", tokio_unstable))] - napi::bindgen_prelude::shutdown_async_runtime(); -} - -#[napi] -/// Start the async runtime manually. -/// -/// This is required when the async runtime is shutdown manually. -/// Usually it's used in test. -pub fn start_async_runtime() { - #[cfg(all(target_family = "wasm", tokio_unstable))] - napi::bindgen_prelude::start_async_runtime(); -} diff --git a/packages/rspack/src/Compiler.ts b/packages/rspack/src/Compiler.ts index 37a38b007f3b..0386de284990 100644 --- a/packages/rspack/src/Compiler.ts +++ b/packages/rspack/src/Compiler.ts @@ -441,13 +441,6 @@ class Compiler { const startTime = Date.now(); this.running = true; - const instanceBinding: typeof binding = require("@rspack/binding"); - let isRuntimeShutdown = false; - if (isRuntimeShutdown) { - instanceBinding.startAsyncRuntime(); - isRuntimeShutdown = false; - } - const finalCallback = (err: Error | null, stats?: Stats) => { this.idle = true; this.cache.beginIdle(); @@ -460,9 +453,6 @@ class Compiler { callback(err, stats); } this.hooks.afterDone.call(stats!); - - instanceBinding.shutdownAsyncRuntime(); - isRuntimeShutdown = true; }; const onCompiled = (