Skip to content

Commit 65bcd7f

Browse files
committed
chore: delete useless assets
1 parent 0961bab commit 65bcd7f

File tree

4 files changed

+49
-226
lines changed

4 files changed

+49
-226
lines changed

crates/node_binding/rspack.wasi-browser.js

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -63,63 +63,4 @@ const {
6363
},
6464
})
6565
export default __napiModule.exports
66-
export const Assets = __napiModule.exports.Assets
67-
export const AsyncDependenciesBlock = __napiModule.exports.AsyncDependenciesBlock
68-
export const Chunk = __napiModule.exports.Chunk
69-
export const ChunkGraph = __napiModule.exports.ChunkGraph
70-
export const ChunkGroup = __napiModule.exports.ChunkGroup
71-
export const Chunks = __napiModule.exports.Chunks
72-
export const CodeGenerationResult = __napiModule.exports.CodeGenerationResult
73-
export const CodeGenerationResults = __napiModule.exports.CodeGenerationResults
74-
export const ConcatenatedModule = __napiModule.exports.ConcatenatedModule
75-
export const ContextModule = __napiModule.exports.ContextModule
76-
export const Dependency = __napiModule.exports.Dependency
77-
export const Diagnostics = __napiModule.exports.Diagnostics
78-
export const EntryDataDto = __napiModule.exports.EntryDataDto
79-
export const EntryDataDTO = __napiModule.exports.EntryDataDTO
80-
export const EntryDependency = __napiModule.exports.EntryDependency
81-
export const EntryOptionsDto = __napiModule.exports.EntryOptionsDto
82-
export const EntryOptionsDTO = __napiModule.exports.EntryOptionsDTO
83-
export const ExternalModule = __napiModule.exports.ExternalModule
84-
export const JsCompilation = __napiModule.exports.JsCompilation
85-
export const JsCompiler = __napiModule.exports.JsCompiler
86-
export const JsContextModuleFactoryAfterResolveData = __napiModule.exports.JsContextModuleFactoryAfterResolveData
87-
export const JsContextModuleFactoryBeforeResolveData = __napiModule.exports.JsContextModuleFactoryBeforeResolveData
88-
export const JsDependencies = __napiModule.exports.JsDependencies
89-
export const JsEntries = __napiModule.exports.JsEntries
90-
export const JsExportsInfo = __napiModule.exports.JsExportsInfo
91-
export const JsModuleGraph = __napiModule.exports.JsModuleGraph
92-
export const JsResolver = __napiModule.exports.JsResolver
93-
export const JsResolverFactory = __napiModule.exports.JsResolverFactory
94-
export const JsStats = __napiModule.exports.JsStats
95-
export const KnownBuildInfo = __napiModule.exports.KnownBuildInfo
96-
export const Module = __napiModule.exports.Module
97-
export const ModuleGraphConnection = __napiModule.exports.ModuleGraphConnection
98-
export const NativeWatcher = __napiModule.exports.NativeWatcher
99-
export const NativeWatchResult = __napiModule.exports.NativeWatchResult
100-
export const NormalModule = __napiModule.exports.NormalModule
101-
export const RawExternalItemFnCtx = __napiModule.exports.RawExternalItemFnCtx
102-
export const ReadonlyResourceData = __napiModule.exports.ReadonlyResourceData
103-
export const ResolverFactory = __napiModule.exports.ResolverFactory
104-
export const Sources = __napiModule.exports.Sources
105-
export const VirtualFileStore = __napiModule.exports.VirtualFileStore
106-
export const JsVirtualFileStore = __napiModule.exports.JsVirtualFileStore
107-
export const async = __napiModule.exports.async
108-
export const BuiltinPluginName = __napiModule.exports.BuiltinPluginName
109-
export const cleanupGlobalTrace = __napiModule.exports.cleanupGlobalTrace
110-
export const EnforceExtension = __napiModule.exports.EnforceExtension
111-
export const EXPECTED_RSPACK_CORE_VERSION = __napiModule.exports.EXPECTED_RSPACK_CORE_VERSION
112-
export const formatDiagnostic = __napiModule.exports.formatDiagnostic
113-
export const JsLoaderState = __napiModule.exports.JsLoaderState
114-
export const JsRspackSeverity = __napiModule.exports.JsRspackSeverity
115-
export const loadBrowserslist = __napiModule.exports.loadBrowserslist
116-
export const minify = __napiModule.exports.minify
117-
export const minifySync = __napiModule.exports.minifySync
118-
export const RawJavascriptParserCommonjsExports = __napiModule.exports.RawJavascriptParserCommonjsExports
119-
export const RawRuleSetConditionType = __napiModule.exports.RawRuleSetConditionType
120-
export const registerGlobalTrace = __napiModule.exports.registerGlobalTrace
121-
export const RegisterJsTapKind = __napiModule.exports.RegisterJsTapKind
122-
export const sync = __napiModule.exports.sync
123-
export const syncTraceEvent = __napiModule.exports.syncTraceEvent
124-
export const transform = __napiModule.exports.transform
125-
export const transformSync = __napiModule.exports.transformSync
66+

crates/node_binding/rspack.wasi.cjs

Lines changed: 1 addition & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -108,63 +108,4 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
108108
},
109109
})
110110
module.exports = __napiModule.exports
111-
module.exports.Assets = __napiModule.exports.Assets
112-
module.exports.AsyncDependenciesBlock = __napiModule.exports.AsyncDependenciesBlock
113-
module.exports.Chunk = __napiModule.exports.Chunk
114-
module.exports.ChunkGraph = __napiModule.exports.ChunkGraph
115-
module.exports.ChunkGroup = __napiModule.exports.ChunkGroup
116-
module.exports.Chunks = __napiModule.exports.Chunks
117-
module.exports.CodeGenerationResult = __napiModule.exports.CodeGenerationResult
118-
module.exports.CodeGenerationResults = __napiModule.exports.CodeGenerationResults
119-
module.exports.ConcatenatedModule = __napiModule.exports.ConcatenatedModule
120-
module.exports.ContextModule = __napiModule.exports.ContextModule
121-
module.exports.Dependency = __napiModule.exports.Dependency
122-
module.exports.Diagnostics = __napiModule.exports.Diagnostics
123-
module.exports.EntryDataDto = __napiModule.exports.EntryDataDto
124-
module.exports.EntryDataDTO = __napiModule.exports.EntryDataDTO
125-
module.exports.EntryDependency = __napiModule.exports.EntryDependency
126-
module.exports.EntryOptionsDto = __napiModule.exports.EntryOptionsDto
127-
module.exports.EntryOptionsDTO = __napiModule.exports.EntryOptionsDTO
128-
module.exports.ExternalModule = __napiModule.exports.ExternalModule
129-
module.exports.JsCompilation = __napiModule.exports.JsCompilation
130-
module.exports.JsCompiler = __napiModule.exports.JsCompiler
131-
module.exports.JsContextModuleFactoryAfterResolveData = __napiModule.exports.JsContextModuleFactoryAfterResolveData
132-
module.exports.JsContextModuleFactoryBeforeResolveData = __napiModule.exports.JsContextModuleFactoryBeforeResolveData
133-
module.exports.JsDependencies = __napiModule.exports.JsDependencies
134-
module.exports.JsEntries = __napiModule.exports.JsEntries
135-
module.exports.JsExportsInfo = __napiModule.exports.JsExportsInfo
136-
module.exports.JsModuleGraph = __napiModule.exports.JsModuleGraph
137-
module.exports.JsResolver = __napiModule.exports.JsResolver
138-
module.exports.JsResolverFactory = __napiModule.exports.JsResolverFactory
139-
module.exports.JsStats = __napiModule.exports.JsStats
140-
module.exports.KnownBuildInfo = __napiModule.exports.KnownBuildInfo
141-
module.exports.Module = __napiModule.exports.Module
142-
module.exports.ModuleGraphConnection = __napiModule.exports.ModuleGraphConnection
143-
module.exports.NativeWatcher = __napiModule.exports.NativeWatcher
144-
module.exports.NativeWatchResult = __napiModule.exports.NativeWatchResult
145-
module.exports.NormalModule = __napiModule.exports.NormalModule
146-
module.exports.RawExternalItemFnCtx = __napiModule.exports.RawExternalItemFnCtx
147-
module.exports.ReadonlyResourceData = __napiModule.exports.ReadonlyResourceData
148-
module.exports.ResolverFactory = __napiModule.exports.ResolverFactory
149-
module.exports.Sources = __napiModule.exports.Sources
150-
module.exports.VirtualFileStore = __napiModule.exports.VirtualFileStore
151-
module.exports.JsVirtualFileStore = __napiModule.exports.JsVirtualFileStore
152-
module.exports.async = __napiModule.exports.async
153-
module.exports.BuiltinPluginName = __napiModule.exports.BuiltinPluginName
154-
module.exports.cleanupGlobalTrace = __napiModule.exports.cleanupGlobalTrace
155-
module.exports.EnforceExtension = __napiModule.exports.EnforceExtension
156-
module.exports.EXPECTED_RSPACK_CORE_VERSION = __napiModule.exports.EXPECTED_RSPACK_CORE_VERSION
157-
module.exports.formatDiagnostic = __napiModule.exports.formatDiagnostic
158-
module.exports.JsLoaderState = __napiModule.exports.JsLoaderState
159-
module.exports.JsRspackSeverity = __napiModule.exports.JsRspackSeverity
160-
module.exports.loadBrowserslist = __napiModule.exports.loadBrowserslist
161-
module.exports.minify = __napiModule.exports.minify
162-
module.exports.minifySync = __napiModule.exports.minifySync
163-
module.exports.RawJavascriptParserCommonjsExports = __napiModule.exports.RawJavascriptParserCommonjsExports
164-
module.exports.RawRuleSetConditionType = __napiModule.exports.RawRuleSetConditionType
165-
module.exports.registerGlobalTrace = __napiModule.exports.registerGlobalTrace
166-
module.exports.RegisterJsTapKind = __napiModule.exports.RegisterJsTapKind
167-
module.exports.sync = __napiModule.exports.sync
168-
module.exports.syncTraceEvent = __napiModule.exports.syncTraceEvent
169-
module.exports.transform = __napiModule.exports.transform
170-
module.exports.transformSync = __napiModule.exports.transformSync
111+

crates/rspack_plugin_mf/src/sharing/collect_shared_entry_plugin.rs

Lines changed: 39 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -84,46 +84,40 @@ impl CollectSharedEntryPlugin {
8484
}
8585
}
8686

87-
// 2) Fallback: walk to node_modules/<pkg>[/...] and read package.json
87+
// 2) Fallback: read version from the deepest node_modules/<pkg>/package.json
8888
let path = Path::new(request);
89-
let mut package_json_path = PathBuf::new();
90-
let mut found_node_modules = false;
91-
let mut need_two_segments = false;
92-
let mut captured = false;
93-
94-
for component in path.components() {
95-
let comp_str = component.as_os_str().to_string_lossy();
96-
package_json_path.push(comp_str.as_ref());
97-
if !found_node_modules && comp_str == "node_modules" {
98-
found_node_modules = true;
99-
continue;
100-
}
101-
if found_node_modules && !captured {
102-
if comp_str.starts_with('@') {
103-
// scoped package: need scope + name
104-
need_two_segments = true;
105-
continue;
106-
} else {
107-
if need_two_segments {
108-
// this is the name after scope
109-
package_json_path.push("package.json");
110-
captured = true;
111-
break;
112-
} else {
113-
// unscoped package name is this segment
114-
package_json_path.push("package.json");
115-
captured = true;
116-
break;
89+
let comps: Vec<String> = path
90+
.components()
91+
.map(|c| c.as_os_str().to_string_lossy().to_string())
92+
.collect();
93+
if let Some(idx) = comps.iter().rposition(|c| c == "node_modules") {
94+
let mut pkg_parts: Vec<&str> = Vec::new();
95+
if let Some(next) = comps.get(idx + 1) {
96+
if next.starts_with('@') {
97+
if let Some(next2) = comps.get(idx + 2) {
98+
pkg_parts.push(next.as_str());
99+
pkg_parts.push(next2.as_str());
117100
}
101+
} else {
102+
pkg_parts.push(next.as_str());
118103
}
119104
}
120-
}
121-
122-
if captured && package_json_path.exists() {
123-
if let Ok(content) = std::fs::read_to_string(&package_json_path) {
124-
if let Ok(json) = serde_json::from_str::<serde_json::Value>(&content) {
125-
if let Some(version) = json.get("version").and_then(|v| v.as_str()) {
126-
return Some(version.to_string());
105+
if !pkg_parts.is_empty() {
106+
let mut package_json_path = PathBuf::new();
107+
for c in comps.iter().take(idx + 1) {
108+
package_json_path.push(c);
109+
}
110+
for p in &pkg_parts {
111+
package_json_path.push(p);
112+
}
113+
package_json_path.push("package.json");
114+
if package_json_path.exists() {
115+
if let Ok(content) = std::fs::read_to_string(&package_json_path) {
116+
if let Ok(json) = serde_json::from_str::<serde_json::Value>(&content) {
117+
if let Some(version) = json.get("version").and_then(|v| v.as_str()) {
118+
return Some(version.to_string());
119+
}
120+
}
127121
}
128122
}
129123
}
@@ -355,6 +349,7 @@ async fn process_assets(&self, compilation: &mut Compilation) -> Result<()> {
355349
.infer_version(&resource)
356350
.await
357351
.unwrap_or_else(|| "".to_string());
352+
dbg!(&version, &resource);
358353
let pair = [resource, version];
359354
if !reqs.iter().any(|p| p[0] == pair[0] && p[1] == pair[1]) {
360355
reqs.push(pair);
@@ -407,75 +402,20 @@ async fn process_assets(&self, compilation: &mut Compilation) -> Result<()> {
407402
Ok(())
408403
}
409404

410-
#[plugin_hook(NormalModuleFactoryFactorize for CollectSharedEntryPlugin)]
411-
async fn factorize(&self, data: &mut ModuleFactoryCreateData) -> Result<Option<BoxModule>> {
412-
let dep = data.dependencies[0]
413-
.as_module_dependency()
414-
.expect("should be module dependency");
415-
if matches!(
416-
dep.dependency_type(),
417-
DependencyType::ConsumeSharedFallback | DependencyType::ProvideModuleForShared
418-
) {
419-
return Ok(None);
420-
}
421-
let request = dep.request();
422-
423-
// Reuse the matching logic from consume_shared_plugin
424-
let consumes = self.get_matched_consumes();
425-
426-
// 1. Exact match - use `unresolved`
427-
if let Some(matched) = consumes.unresolved.get(request) {
428-
self
429-
.record_entry(&data.context, request, matched.clone(), |d| {
430-
data.diagnostics.push(d)
431-
})
432-
.await;
433-
return Ok(None);
434-
}
435-
436-
// 2. Prefix match - use `prefixed`
437-
for (prefix, options) in &consumes.prefixed {
438-
if request.starts_with(prefix) {
439-
let remainder = &request[prefix.len()..];
440-
self
441-
.record_entry(
442-
&data.context,
443-
request,
444-
Arc::new(ConsumeOptions {
445-
import: options.import.as_ref().map(|i| i.to_owned() + remainder),
446-
import_resolved: options.import_resolved.clone(),
447-
share_key: options.share_key.clone() + remainder,
448-
share_scope: options.share_scope.clone(),
449-
required_version: options.required_version.clone(),
450-
package_name: options.package_name.clone(),
451-
strict_version: options.strict_version,
452-
singleton: options.singleton,
453-
eager: options.eager,
454-
}),
455-
|d| data.diagnostics.push(d),
456-
)
457-
.await;
458-
return Ok(None);
459-
}
460-
}
461-
462-
Ok(None)
463-
}
464-
465405
impl Plugin for CollectSharedEntryPlugin {
466406
fn name(&self) -> &'static str {
467407
"rspack.CollectSharedEntryPlugin"
468408
}
469409

470410
fn apply(&self, ctx: &mut rspack_core::ApplyContext<'_>) -> Result<()> {
471-
ctx
472-
.compiler_hooks
473-
.this_compilation
474-
.tap(this_compilation::new(self));
475-
ctx
476-
.normal_module_factory_hooks
477-
.factorize
478-
.tap(factorize::new(self));
411+
// ctx
412+
// .compiler_hooks
413+
// .this_compilation
414+
// .tap(this_compilation::new(self));
415+
// ctx
416+
// .normal_module_factory_hooks
417+
// .factorize
418+
// .tap(factorize::new(self));
479419
ctx
480420
.compilation_hooks
481421
.process_assets

packages/rspack/src/sharing/CollectSharedEntryPlugin.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,14 @@ export class CollectSharedEntryPlugin extends RspackBuiltinPlugin {
6060
compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_OPTIMIZE_INLINE
6161
},
6262
async () => {
63-
const filename = this.getFilename();
64-
const asset = compilation.getAsset(filename);
65-
if (!asset) {
66-
throw new Error(`Can not get ${filename}`);
67-
}
68-
this._collectedEntries = JSON.parse(asset.source.source().toString());
69-
compilation.deleteAsset(filename);
63+
compilation.getAssets().forEach(asset => {
64+
if (asset.name === SHARE_ENTRY_ASSET) {
65+
this._collectedEntries = JSON.parse(
66+
asset.source.source().toString()
67+
);
68+
}
69+
compilation.deleteAsset(asset.name);
70+
});
7071
}
7172
);
7273
});

0 commit comments

Comments
 (0)