@rspack-canary/core 1.6.8-canary-dfa25db9-20251214173359 → 1.6.8-canary-2fd81281-20251216180302

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.
@@ -289,9 +289,14 @@ export declare class Compilation {
289
289
  getLogger(name: string | (() => string)): Logger;
290
290
  fileDependencies: {
291
291
  [Symbol.iterator](): Generator<string, void, unknown>;
292
- has(dep: string): boolean;
292
+ has: (dep: string) => boolean;
293
293
  add: (dep: string) => void;
294
294
  addAll: (deps: Iterable<string>) => void;
295
+ delete: (dep: string) => boolean;
296
+ keys(): SetIterator<string>;
297
+ values(): SetIterator<string>;
298
+ entries(): SetIterator<[string, string]>;
299
+ readonly size: number;
295
300
  };
296
301
  get __internal__addedFileDependencies(): string[];
297
302
  get __internal__removedFileDependencies(): string[];
@@ -301,21 +306,36 @@ export declare class Compilation {
301
306
  get __internal__removedMissingDependencies(): string[];
302
307
  contextDependencies: {
303
308
  [Symbol.iterator](): Generator<string, void, unknown>;
304
- has(dep: string): boolean;
309
+ has: (dep: string) => boolean;
305
310
  add: (dep: string) => void;
306
311
  addAll: (deps: Iterable<string>) => void;
312
+ delete: (dep: string) => boolean;
313
+ keys(): SetIterator<string>;
314
+ values(): SetIterator<string>;
315
+ entries(): SetIterator<[string, string]>;
316
+ readonly size: number;
307
317
  };
308
318
  missingDependencies: {
309
319
  [Symbol.iterator](): Generator<string, void, unknown>;
310
- has(dep: string): boolean;
320
+ has: (dep: string) => boolean;
311
321
  add: (dep: string) => void;
312
322
  addAll: (deps: Iterable<string>) => void;
323
+ delete: (dep: string) => boolean;
324
+ keys(): SetIterator<string>;
325
+ values(): SetIterator<string>;
326
+ entries(): SetIterator<[string, string]>;
327
+ readonly size: number;
313
328
  };
314
329
  buildDependencies: {
315
330
  [Symbol.iterator](): Generator<string, void, unknown>;
316
- has(dep: string): boolean;
331
+ has: (dep: string) => boolean;
317
332
  add: (dep: string) => void;
318
333
  addAll: (deps: Iterable<string>) => void;
334
+ delete: (dep: string) => boolean;
335
+ keys(): SetIterator<string>;
336
+ values(): SetIterator<string>;
337
+ entries(): SetIterator<[string, string]>;
338
+ readonly size: number;
319
339
  };
320
340
  getStats(): Stats;
321
341
  createChildCompiler(name: string, outputOptions: OutputNormalized, plugins: RspackPluginInstance[]): Compiler;
@@ -25,6 +25,6 @@ export interface ResolveRequest {
25
25
  export declare class Resolver {
26
26
  #private;
27
27
  constructor(binding: binding.JsResolver);
28
- resolveSync(context: object, path: string, request: string): string | false;
29
- resolve(context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void;
28
+ resolveSync(_context: object, path: string, request: string): string | false;
29
+ resolve(_context: object, path: string, request: string, resolveContext: ResolveContext, callback: ResolveCallback): void;
30
30
  }
@@ -1,4 +1,12 @@
1
1
  import { type Compiler, MultiCompiler } from "../..";
2
2
  import type { MiddlewareHandler } from "../../config/devServer";
3
3
  export declare const LAZY_COMPILATION_PREFIX = "/lazy-compilation-using-";
4
+ /**
5
+ * Create a middleware that handles lazy compilation requests from the client.
6
+ * This function returns an Express-style middleware that listens for
7
+ * requests triggered by lazy compilation in the dev server client,
8
+ * then invokes the Rspack compiler to compile modules on demand.
9
+ * Use this middleware when integrating lazy compilation into a
10
+ * custom development server instead of relying on the built-in server.
11
+ */
4
12
  export declare const lazyCompilationMiddleware: (compiler: Compiler | MultiCompiler) => MiddlewareHandler;
@@ -2333,7 +2333,18 @@ export type RspackOptions = {
2333
2333
  */
2334
2334
  loader?: Loader;
2335
2335
  /**
2336
- * Warnings to ignore during compilation.
2336
+ * Tells Rspack to suppress specific compilation warnings by matching their
2337
+ * message, module, or file, or by using a custom function.
2338
+ *
2339
+ * @example
2340
+ * ```js
2341
+ * export default {
2342
+ * ignoreWarnings: [
2343
+ * /warning from compiler/,
2344
+ * { file: /node_modules/ },
2345
+ * ],
2346
+ * };
2347
+ * ```
2337
2348
  */
2338
2349
  ignoreWarnings?: IgnoreWarnings;
2339
2350
  /**
package/dist/exports.d.ts CHANGED
@@ -68,6 +68,7 @@ interface Node {
68
68
  NodeTemplatePlugin: typeof NodeTemplatePlugin;
69
69
  NodeEnvironmentPlugin: typeof NodeEnvironmentPlugin;
70
70
  }
71
+ export { lazyCompilationMiddleware };
71
72
  export declare const node: Node;
72
73
  import { ElectronTargetPlugin } from "./builtin-plugin";
73
74
  interface Electron {
@@ -146,6 +147,9 @@ interface Experiments {
146
147
  RstestPlugin: typeof RstestPlugin;
147
148
  RslibPlugin: typeof RslibPlugin;
148
149
  SubresourceIntegrityPlugin: typeof SubresourceIntegrityPlugin;
150
+ /**
151
+ * @deprecated Use `rspack.lazyCompilationMiddleware` instead
152
+ */
149
153
  lazyCompilationMiddleware: typeof lazyCompilationMiddleware;
150
154
  swc: {
151
155
  transform: typeof transform;
package/dist/index.js CHANGED
@@ -297,6 +297,7 @@ for(var __rspack_i in (()=>{
297
297
  EvalDevToolModulePlugin: ()=>EvalDevToolModulePlugin,
298
298
  NormalModuleReplacementPlugin: ()=>NormalModuleReplacementPlugin,
299
299
  WebpackOptionsApply: ()=>RspackOptionsApply,
300
+ lazyCompilationMiddleware: ()=>lazyCompilationMiddleware,
300
301
  EnvironmentPlugin: ()=>EnvironmentPlugin,
301
302
  HotModuleReplacementPlugin: ()=>HotModuleReplacementPlugin,
302
303
  Compilation: ()=>Compilation,
@@ -412,6 +413,7 @@ for(var __rspack_i in (()=>{
412
413
  electron: ()=>electron,
413
414
  experiments: ()=>exports_experiments,
414
415
  javascript: ()=>javascript,
416
+ lazyCompilationMiddleware: ()=>lazyCompilationMiddleware,
415
417
  library: ()=>exports_library,
416
418
  node: ()=>exports_node,
417
419
  optimize: ()=>optimize,
@@ -1185,20 +1187,35 @@ for(var __rspack_i in (()=>{
1185
1187
  }
1186
1188
  }
1187
1189
  function createFakeCompilationDependencies(getDeps, addDeps) {
1188
- let addDepsCaller = new MergeCaller(addDeps);
1190
+ let addDepsCaller = new MergeCaller(addDeps), deletedDeps = new Set(), hasDep = (dep)=>!deletedDeps.has(dep) && (addDepsCaller.pendingData().includes(dep) || getDeps().includes(dep)), getAllDeps = ()=>{
1191
+ let deps = new Set([
1192
+ ...getDeps(),
1193
+ ...addDepsCaller.pendingData()
1194
+ ]);
1195
+ for (let deleted of deletedDeps)deps.delete(deleted);
1196
+ return deps;
1197
+ };
1189
1198
  return {
1190
1199
  *[Symbol.iterator] () {
1191
- for (let dep of new Set([
1192
- ...getDeps(),
1193
- ...addDepsCaller.pendingData()
1194
- ]))yield dep;
1200
+ for (let dep of getAllDeps())yield dep;
1195
1201
  },
1196
- has: (dep)=>addDepsCaller.pendingData().includes(dep) || getDeps().includes(dep),
1202
+ has: hasDep,
1197
1203
  add: (dep)=>{
1198
- addDepsCaller.push(dep);
1204
+ deletedDeps.delete(dep), addDepsCaller.push(dep);
1199
1205
  },
1200
1206
  addAll: (deps)=>{
1207
+ for (let dep of deps)deletedDeps.delete(dep);
1201
1208
  addDepsCaller.push(...deps);
1209
+ },
1210
+ delete: (dep)=>{
1211
+ let hadDep = hasDep(dep);
1212
+ return hadDep && deletedDeps.add(dep), hadDep;
1213
+ },
1214
+ keys: ()=>getAllDeps().keys(),
1215
+ values: ()=>getAllDeps().values(),
1216
+ entries: ()=>getAllDeps().entries(),
1217
+ get size () {
1218
+ return getAllDeps().size;
1202
1219
  }
1203
1220
  };
1204
1221
  }
@@ -1476,7 +1493,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
1476
1493
  processAssetsHook.tap(getOptions(options), ()=>fn(...getArgs()));
1477
1494
  },
1478
1495
  tapAsync: (options, fn)=>{
1479
- processAssetsHook.tapAsync(getOptions(options), (assets, callback)=>fn(...getArgs(), callback));
1496
+ processAssetsHook.tapAsync(getOptions(options), (_assets, callback)=>fn(...getArgs(), callback));
1480
1497
  },
1481
1498
  tapPromise: (options, fn)=>{
1482
1499
  processAssetsHook.tapPromise(getOptions(options), ()=>fn(...getArgs()));
@@ -2169,7 +2186,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
2169
2186
  for (let entry of desc.import)new EntryPlugin(context, entry, options).apply(compiler);
2170
2187
  }
2171
2188
  }
2172
- static entryDescriptionToOptions(compiler, name, desc) {
2189
+ static entryDescriptionToOptions(_compiler, name, desc) {
2173
2190
  return {
2174
2191
  name,
2175
2192
  filename: desc.filename,
@@ -4442,7 +4459,36 @@ Plugins which provide custom chunk loading types must call EnableChunkLoadingPlu
4442
4459
  currentActiveModules
4443
4460
  }), "thisCompilation"), LAZY_COMPILATION_PREFIX = "/lazy-compilation-using-", noop = (_req, _res, next)=>{
4444
4461
  "function" == typeof next && next();
4445
- }, DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN = "The `experiments.lazyCompilation` option is deprecated, please use the configuration top level `lazyCompilation` instead.", REPEAT_LAZY_COMPILATION_OPTIONS_WARN = "Both top-level `lazyCompilation` and `experiments.lazyCompilation` options are set. The top-level `lazyCompilation` configuration will take precedence.";
4462
+ }, DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN = "The `experiments.lazyCompilation` option is deprecated, please use the configuration top level `lazyCompilation` instead.", REPEAT_LAZY_COMPILATION_OPTIONS_WARN = "Both top-level `lazyCompilation` and `experiments.lazyCompilation` options are set. The top-level `lazyCompilation` configuration will take precedence.", lazyCompilationMiddleware = (compiler)=>{
4463
+ if (compiler instanceof MultiCompiler) {
4464
+ let middlewareByCompiler = new Map(), i = 0, isReportDeprecatedWarned = !1, isReportRepeatWarned = !1;
4465
+ for (let c of compiler.compilers){
4466
+ if (c.options.experiments.lazyCompilation && (c.name ? console.warn(`The 'experiments.lazyCompilation' option in compiler named '${c.name}' is deprecated, please use the Configuration top level 'lazyCompilation' instead.`) : isReportDeprecatedWarned || (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), isReportDeprecatedWarned = !0)), c.options.lazyCompilation && c.options.experiments.lazyCompilation && (c.name ? console.warn(`The top-level 'lazyCompilation' option in compiler named '${c.name}' will override the 'experiments.lazyCompilation' option.`) : isReportRepeatWarned || (console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN), isReportRepeatWarned = !0)), !c.options.lazyCompilation && !c.options.experiments.lazyCompilation) continue;
4467
+ let options = {
4468
+ ...c.options.experiments.lazyCompilation,
4469
+ ...c.options.lazyCompilation
4470
+ }, prefix = options.prefix || LAZY_COMPILATION_PREFIX;
4471
+ options.prefix = `${prefix}__${i++}`;
4472
+ let activeModules = new Set();
4473
+ middlewareByCompiler.set(options.prefix, lazyCompilationMiddlewareInternal(compiler, activeModules, options.prefix)), applyPlugin(c, options, activeModules);
4474
+ }
4475
+ let keys = [
4476
+ ...middlewareByCompiler.keys()
4477
+ ];
4478
+ return (req, res, next)=>{
4479
+ let key = keys.find((key)=>req.url?.startsWith(key));
4480
+ if (!key) return next?.();
4481
+ let middleware = middlewareByCompiler.get(key);
4482
+ return middleware?.(req, res, next);
4483
+ };
4484
+ }
4485
+ if (compiler.options.experiments.lazyCompilation && (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), compiler.options.lazyCompilation && console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN)), !compiler.options.lazyCompilation && !compiler.options.experiments.lazyCompilation) return noop;
4486
+ let activeModules = new Set(), options = {
4487
+ ...compiler.options.experiments.lazyCompilation,
4488
+ ...compiler.options.lazyCompilation
4489
+ };
4490
+ return applyPlugin(compiler, options, activeModules), lazyCompilationMiddlewareInternal(compiler, activeModules, options.prefix || LAZY_COMPILATION_PREFIX);
4491
+ };
4446
4492
  function applyPlugin(compiler, options, activeModules) {
4447
4493
  let compiler1;
4448
4494
  new BuiltinLazyCompilationPlugin(()=>{
@@ -5735,7 +5781,10 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5735
5781
  if ("function" != typeof options.entry) for (let key of Object.keys(options.entry))F(options.entry[key], "import", ()=>[
5736
5782
  "./src"
5737
5783
  ]);
5738
- F(options, "devtool", ()=>!!development && "eval"), D(options, "watch", !1), D(options, "profile", !1), D(options, "lazyCompilation", !1), D(options, "bail", !1), F(options, "cache", ()=>development), !1 === options.cache && (options.experiments.cache = !1), applyExperimentsDefaults(options.experiments, {
5784
+ F(options, "devtool", ()=>!!development && "eval"), D(options, "watch", !1), D(options, "profile", !1), D(options, "lazyCompilation", {
5785
+ imports: !0,
5786
+ entries: !1
5787
+ }), D(options, "bail", !1), F(options, "cache", ()=>development), !1 === options.cache && (options.experiments.cache = !1), applyExperimentsDefaults(options.experiments, {
5739
5788
  development
5740
5789
  }), applyOptimizationDefaults(options.optimization, {
5741
5790
  production,
@@ -5758,9 +5807,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5758
5807
  targetProperties,
5759
5808
  isAffectedByBrowserslist: void 0 === target || "string" == typeof target && target.startsWith("browserslist") || Array.isArray(target) && target.some((target)=>target.startsWith("browserslist")),
5760
5809
  outputModule: options.experiments.outputModule,
5761
- development,
5762
- entry: options.entry,
5763
- futureDefaults: options.experiments.futureDefaults
5810
+ entry: options.entry
5764
5811
  }), applybundlerInfoDefaults(options.experiments.rspackFuture, options.output.library), applyExternalsPresetsDefaults(options.externalsPresets, {
5765
5812
  targetProperties,
5766
5813
  buildHttp: !!options.experiments.buildHttp
@@ -5785,7 +5832,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5785
5832
  }, applyExperimentsDefaults = (experiments, { development })=>{
5786
5833
  F(experiments, "cache", ()=>development), D(experiments, "futureDefaults", !1), D(experiments, "lazyCompilation", !1), D(experiments, "asyncWebAssembly", experiments.futureDefaults), D(experiments, "css", !!experiments.futureDefaults || void 0), D(experiments, "topLevelAwait", !0), D(experiments, "deferImport", !1), D(experiments, "buildHttp", void 0), experiments.buildHttp && "object" == typeof experiments.buildHttp && D(experiments.buildHttp, "upgrade", !1), D(experiments, "incremental", {}), "object" == typeof experiments.incremental && (D(experiments.incremental, "silent", !0), D(experiments.incremental, "make", !0), D(experiments.incremental, "inferAsyncModules", !0), D(experiments.incremental, "providedExports", !0), D(experiments.incremental, "dependenciesDiagnostics", !0), D(experiments.incremental, "sideEffects", !0), D(experiments.incremental, "buildChunkGraph", !1), D(experiments.incremental, "moduleIds", !0), D(experiments.incremental, "chunkIds", !0), D(experiments.incremental, "modulesHashes", !0), D(experiments.incremental, "modulesCodegen", !0), D(experiments.incremental, "modulesRuntimeRequirements", !0), D(experiments.incremental, "chunksRuntimeRequirements", !0), D(experiments.incremental, "chunksHashes", !0), D(experiments.incremental, "chunksRender", !0), D(experiments.incremental, "emitAssets", !0)), D(experiments, "rspackFuture", {}), D(experiments, "parallelCodeSplitting", !1), D(experiments, "parallelLoader", !1), D(experiments, "useInputFileSystem", !1), D(experiments, "inlineConst", !1), D(experiments, "inlineEnum", !1), D(experiments, "typeReexportsPresence", !1), D(experiments, "lazyBarrel", !0);
5787
5834
  }, applybundlerInfoDefaults = (rspackFuture, library)=>{
5788
- "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.6.8-canary-dfa25db9-20251214173359"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
5835
+ "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.6.8-canary-2fd81281-20251216180302"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
5789
5836
  }, applySnapshotDefaults = (_snapshot, _env)=>{}, applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, usedExports, inlineConst, deferImport })=>{
5790
5837
  if (assertNotNill(module1.parser), assertNotNill(module1.generator), cache ? D(module1, "unsafeCache", /[\\/]node_modules[\\/]/) : D(module1, "unsafeCache", !1), F(module1.parser, "asset", ()=>({})), assertNotNill(module1.parser.asset), F(module1.parser.asset, "dataUrlCondition", ()=>({})), "object" == typeof module1.parser.asset.dataUrlCondition && D(module1.parser.asset.dataUrlCondition, "maxSize", 8096), F(module1.parser, "javascript", ()=>({})), assertNotNill(module1.parser.javascript), ((parserOptions, { usedExports, inlineConst, deferImport })=>{
5791
5838
  D(parserOptions, "dynamicImportMode", "lazy"), D(parserOptions, "dynamicImportPrefetch", !1), D(parserOptions, "dynamicImportPreload", !1), D(parserOptions, "url", !0), D(parserOptions, "exprContextCritical", !0), D(parserOptions, "unknownContextCritical", !0), D(parserOptions, "wrappedContextCritical", !1), D(parserOptions, "wrappedContextRegExp", /.*/), D(parserOptions, "strictExportPresence", !1), D(parserOptions, "requireAsExpression", !0), D(parserOptions, "requireDynamic", !0), D(parserOptions, "requireResolve", !0), D(parserOptions, "commonjs", !0), D(parserOptions, "importDynamic", !0), D(parserOptions, "worker", [
@@ -5914,15 +5961,20 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
5914
5961
  type: "json"
5915
5962
  },
5916
5963
  type: "json"
5964
+ }, {
5965
+ with: {
5966
+ type: "text"
5967
+ },
5968
+ type: "asset/source"
5917
5969
  }), rules;
5918
5970
  });
5919
- }, applyOutputDefaults = (output, { context, outputModule, targetProperties: tp, isAffectedByBrowserslist, development, entry, futureDefaults })=>{
5971
+ }, applyOutputDefaults = (output, { context, outputModule, targetProperties: tp, isAffectedByBrowserslist, entry })=>{
5920
5972
  let getLibraryName = (library)=>{
5921
5973
  let libraryName = "object" == typeof library && library && !Array.isArray(library) && "type" in library ? library.name : library;
5922
5974
  return Array.isArray(libraryName) ? libraryName.join(".") : "object" == typeof libraryName ? getLibraryName(libraryName.root) : "string" == typeof libraryName ? libraryName : "";
5923
5975
  };
5924
5976
  F(output, "uniqueName", ()=>{
5925
- let libraryName = getLibraryName(output.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g, (m, a, d1, d2, b, c)=>{
5977
+ let libraryName = getLibraryName(output.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g, (_, a, d1, d2, b, c)=>{
5926
5978
  let content = a || b || c;
5927
5979
  return content.startsWith("\\") && content.endsWith("\\") ? `${d2 || ""}[${content.slice(1, -1)}]${d1 || ""}` : "";
5928
5980
  });
@@ -6243,13 +6295,15 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
6243
6295
  }, getPnpDefault = ()=>!!process.versions.pnp, getNormalizedRspackOptions = (config)=>{
6244
6296
  let fn;
6245
6297
  return {
6246
- ignoreWarnings: config.ignoreWarnings ? config.ignoreWarnings.map((ignore)=>{
6247
- if ("function" == typeof ignore) return ignore;
6248
- let i = ignore instanceof RegExp ? {
6249
- message: ignore
6250
- } : ignore;
6251
- return (warning)=>(!!i.message || !!i.module || !!i.file) && (!i.message || !!i.message.test(warning.message)) && (!i.module || !!warning.module && !!i.module.test(warning.module.readableIdentifier())) && (!i.file || !!warning.file && !!i.file.test(warning.file));
6252
- }) : void 0,
6298
+ ignoreWarnings: ((ignoreWarnings)=>{
6299
+ if (ignoreWarnings) return ignoreWarnings.map((ignore)=>{
6300
+ if ("function" == typeof ignore) return ignore;
6301
+ let rule = ignore instanceof RegExp ? {
6302
+ message: ignore
6303
+ } : ignore;
6304
+ return (warning)=>(!!rule.message || !!rule.module || !!rule.file) && (!rule.message || !!rule.message.test(warning.message)) && (!rule.module || !!warning.module && !!rule.module.test(warning.module.readableIdentifier())) && (!rule.file || !!warning.file && !!rule.file.test(warning.file));
6305
+ });
6306
+ })(config.ignoreWarnings),
6253
6307
  name: config.name,
6254
6308
  dependencies: config.dependencies,
6255
6309
  context: config.context,
@@ -6883,7 +6937,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
6883
6937
  constructor(fs){
6884
6938
  if (Object.assign(this, NOOP_FILESYSTEM), !fs) return;
6885
6939
  this.writeFile = memoizeFn(()=>external_node_util_default().promisify(fs.writeFile.bind(fs))), this.removeFile = memoizeFn(()=>external_node_util_default().promisify(fs.unlink.bind(fs))), this.mkdir = memoizeFn(()=>external_node_util_default().promisify(fs.mkdir.bind(fs))), this.mkdirp = memoizeFn(()=>external_node_util_default().promisify(mkdirp.bind(null, fs))), this.removeDirAll = memoizeFn(()=>external_node_util_default().promisify((function rmrf(fs, p, callback) {
6886
- fs.stat(p, (err, stats)=>{
6940
+ (fs.lstat || fs.stat)(p, (err, stats)=>{
6887
6941
  if (err) return "ENOENT" === err.code ? callback() : callback(err);
6888
6942
  stats.isDirectory() ? fs.readdir(p, (err, files)=>{
6889
6943
  if (err) return callback(err);
@@ -6938,7 +6992,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
6938
6992
  readFn(fd, {
6939
6993
  position,
6940
6994
  length
6941
- }, (err, bytesRead, buffer)=>{
6995
+ }, (err, _bytesRead, buffer)=>{
6942
6996
  err ? resolve(err) : resolve(buffer);
6943
6997
  });
6944
6998
  });
@@ -7233,10 +7287,10 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
7233
7287
  constructor(binding){
7234
7288
  this.#binding = binding;
7235
7289
  }
7236
- resolveSync(context, path, request) {
7290
+ resolveSync(_context, path, request) {
7237
7291
  return this.#binding.resolveSync(path, request) ?? !1;
7238
7292
  }
7239
- resolve(context, path, request, resolveContext, callback) {
7293
+ resolve(_context, path, request, resolveContext, callback) {
7240
7294
  this.#binding.resolve(path, request, (error, text)=>{
7241
7295
  if (error) return void callback(error);
7242
7296
  let req = text ? JSON.parse(text) : void 0;
@@ -7545,7 +7599,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
7545
7599
  });
7546
7600
  }
7547
7601
  }
7548
- let CORE_VERSION = "1.6.8-canary-dfa25db9-20251214173359", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
7602
+ let CORE_VERSION = "1.6.8-canary-2fd81281-20251216180302", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
7549
7603
 
7550
7604
  Help:
7551
7605
  Looks like you are using a custom binding (via environment variable 'RSPACK_BINDING=${process.env.RSPACK_BINDING}').
@@ -8178,11 +8232,11 @@ Help:
8178
8232
  parser: Object.fromEntries(Object.entries(parser = module1.parser).map(([k, v])=>[
8179
8233
  k,
8180
8234
  getRawParserOptions(v, k)
8181
- ]).filter(([k, v])=>void 0 !== v)),
8235
+ ]).filter(([_, v])=>void 0 !== v)),
8182
8236
  generator: Object.fromEntries(Object.entries(generator = module1.generator).map(([k, v])=>[
8183
8237
  k,
8184
8238
  getRawGeneratorOptions(v, k)
8185
- ]).filter(([k, v])=>void 0 !== v)),
8239
+ ]).filter(([_, v])=>void 0 !== v)),
8186
8240
  noParse: module1.noParse,
8187
8241
  unsafeCache: module1.unsafeCache
8188
8242
  };
@@ -8854,7 +8908,7 @@ Help:
8854
8908
  obj.children = this.stats.map((stat, idx)=>{
8855
8909
  let obj = stat.toJson(childOptions.children[idx]), compilationName = stat.compilation.name;
8856
8910
  return obj.name = compilationName && makePathsRelative(childOptions.context, compilationName, stat.compilation.compiler.root), obj;
8857
- }), childOptions.version && (obj.rspackVersion = "1.6.8-canary-dfa25db9-20251214173359", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
8911
+ }), childOptions.version && (obj.rspackVersion = "1.6.8-canary-2fd81281-20251216180302", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
8858
8912
  let mapError = (j, obj)=>({
8859
8913
  ...obj,
8860
8914
  compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
@@ -9197,7 +9251,13 @@ Help:
9197
9251
  }
9198
9252
  apply(compiler) {
9199
9253
  compiler.hooks.compilation.tap(this.name, (compilation)=>{
9200
- compilation.hooks.processWarnings.tap(this.name, (warnings)=>warnings.filter((warning)=>!this._ignorePattern.some((ignore)=>ignore(warning, compilation))));
9254
+ compilation.hooks.processWarnings.tap(this.name, (warnings)=>warnings.filter((warning)=>{
9255
+ let plainWarning = warning.message ? {
9256
+ ...warning,
9257
+ message: external_node_util_default().stripVTControlCharacters(warning.message)
9258
+ } : warning;
9259
+ return !this._ignorePattern.some((ignore)=>ignore(plainWarning, compilation));
9260
+ }));
9201
9261
  });
9202
9262
  }
9203
9263
  };
@@ -9758,7 +9818,7 @@ Help:
9758
9818
  object.hash = context.getStatsCompilation(compilation).hash;
9759
9819
  },
9760
9820
  version: (object)=>{
9761
- object.version = "5.75.0", object.rspackVersion = "1.6.8-canary-dfa25db9-20251214173359";
9821
+ object.version = "5.75.0", object.rspackVersion = "1.6.8-canary-2fd81281-20251216180302";
9762
9822
  },
9763
9823
  env: (object, _compilation, _context, { _env })=>{
9764
9824
  object.env = _env;
@@ -9806,7 +9866,7 @@ Help:
9806
9866
  }), options.assetsSpace ?? 1 / 0);
9807
9867
  object.assets = limited.children, object.filteredAssets = limited.filteredChildren;
9808
9868
  },
9809
- chunks: (object, compilation, context, options, factory)=>{
9869
+ chunks: (object, compilation, context, _options, factory)=>{
9810
9870
  let { type, getStatsCompilation } = context, chunks = getStatsCompilation(compilation).chunks;
9811
9871
  object.chunks = factory.create(`${type}.chunks`, chunks, context);
9812
9872
  },
@@ -10260,8 +10320,8 @@ Help:
10260
10320
  warningsFilter: (value)=>(Array.isArray(value) ? value : value ? [
10261
10321
  value
10262
10322
  ] : []).map((filter)=>{
10263
- if ("string" == typeof filter) return (warning, warningString)=>warningString.includes(filter);
10264
- if (filter instanceof RegExp) return (warning, warningString)=>filter.test(warningString);
10323
+ if ("string" == typeof filter) return (_warning, warningString)=>warningString.includes(filter);
10324
+ if (filter instanceof RegExp) return (_warning, warningString)=>filter.test(warningString);
10265
10325
  if ("function" == typeof filter) return filter;
10266
10326
  throw Error(`Can only filter warnings with Strings or RegExps. (Given: ${filter})`);
10267
10327
  }),
@@ -11977,7 +12037,7 @@ Help:
11977
12037
  let _options = JSON.stringify(options || {});
11978
12038
  return binding_default().transform(source, _options);
11979
12039
  }
11980
- let exports_rspackVersion = "1.6.8-canary-dfa25db9-20251214173359", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
12040
+ let exports_rspackVersion = "1.6.8-canary-2fd81281-20251216180302", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
11981
12041
  getNormalizedRspackOptions: getNormalizedRspackOptions,
11982
12042
  applyRspackOptionsDefaults: applyRspackOptionsDefaults,
11983
12043
  getNormalizedWebpackOptions: getNormalizedRspackOptions,
@@ -12085,7 +12145,7 @@ Help:
12085
12145
  }), sum;
12086
12146
  }, {}), manifestExposes = function(exposes) {
12087
12147
  if (!exposes) return;
12088
- let result = parseOptions(exposes, (value, key)=>({
12148
+ let result = parseOptions(exposes, (value)=>({
12089
12149
  import: Array.isArray(value) ? value : [
12090
12150
  value
12091
12151
  ],
@@ -12186,36 +12246,7 @@ Help:
12186
12246
  RstestPlugin: RstestPlugin,
12187
12247
  RslibPlugin: RslibPlugin,
12188
12248
  SubresourceIntegrityPlugin: SubresourceIntegrityPlugin,
12189
- lazyCompilationMiddleware: (compiler)=>{
12190
- if (compiler instanceof MultiCompiler) {
12191
- let middlewareByCompiler = new Map(), i = 0, isReportDeprecatedWarned = !1, isReportRepeatWarned = !1;
12192
- for (let c of compiler.compilers){
12193
- if (c.options.experiments.lazyCompilation && (c.name ? console.warn(`The 'experiments.lazyCompilation' option in compiler named '${c.name}' is deprecated, please use the Configuration top level 'lazyCompilation' instead.`) : isReportDeprecatedWarned || (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), isReportDeprecatedWarned = !0)), c.options.lazyCompilation && c.options.experiments.lazyCompilation && (c.name ? console.warn(`The top-level 'lazyCompilation' option in compiler named '${c.name}' will override the 'experiments.lazyCompilation' option.`) : isReportRepeatWarned || (console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN), isReportRepeatWarned = !0)), !c.options.lazyCompilation && !c.options.experiments.lazyCompilation) continue;
12194
- let options = {
12195
- ...c.options.experiments.lazyCompilation,
12196
- ...c.options.lazyCompilation
12197
- }, prefix = options.prefix || LAZY_COMPILATION_PREFIX;
12198
- options.prefix = `${prefix}__${i++}`;
12199
- let activeModules = new Set();
12200
- middlewareByCompiler.set(options.prefix, lazyCompilationMiddlewareInternal(compiler, activeModules, options.prefix)), applyPlugin(c, options, activeModules);
12201
- }
12202
- let keys = [
12203
- ...middlewareByCompiler.keys()
12204
- ];
12205
- return (req, res, next)=>{
12206
- let key = keys.find((key)=>req.url?.startsWith(key));
12207
- if (!key) return next?.();
12208
- let middleware = middlewareByCompiler.get(key);
12209
- return middleware?.(req, res, next);
12210
- };
12211
- }
12212
- if (compiler.options.experiments.lazyCompilation && (console.warn(DEPRECATED_LAZY_COMPILATION_OPTIONS_WARN), compiler.options.lazyCompilation && console.warn(REPEAT_LAZY_COMPILATION_OPTIONS_WARN)), !compiler.options.lazyCompilation && !compiler.options.experiments.lazyCompilation) return noop;
12213
- let activeModules = new Set(), options = {
12214
- ...compiler.options.experiments.lazyCompilation,
12215
- ...compiler.options.lazyCompilation
12216
- };
12217
- return applyPlugin(compiler, options, activeModules), lazyCompilationMiddlewareInternal(compiler, activeModules, options.prefix || LAZY_COMPILATION_PREFIX);
12218
- },
12249
+ lazyCompilationMiddleware: lazyCompilationMiddleware,
12219
12250
  swc: {
12220
12251
  minify: minify,
12221
12252
  transform: transform,
@@ -12325,7 +12356,7 @@ Help:
12325
12356
  }, exports_namespaceObject);
12326
12357
  src_fn.rspack = src_fn, src_fn.webpack = src_fn;
12327
12358
  let src_rspack_0 = src_fn, src_0 = src_rspack_0;
12328
- })(), exports.AsyncDependenciesBlock = __webpack_exports__.AsyncDependenciesBlock, exports.BannerPlugin = __webpack_exports__.BannerPlugin, exports.CircularDependencyRspackPlugin = __webpack_exports__.CircularDependencyRspackPlugin, exports.Compilation = __webpack_exports__.Compilation, exports.Compiler = __webpack_exports__.Compiler, exports.ConcatenatedModule = __webpack_exports__.ConcatenatedModule, exports.ContextModule = __webpack_exports__.ContextModule, exports.ContextReplacementPlugin = __webpack_exports__.ContextReplacementPlugin, exports.CopyRspackPlugin = __webpack_exports__.CopyRspackPlugin, exports.CssExtractRspackPlugin = __webpack_exports__.CssExtractRspackPlugin, exports.DefinePlugin = __webpack_exports__.DefinePlugin, exports.Dependency = __webpack_exports__.Dependency, exports.DllPlugin = __webpack_exports__.DllPlugin, exports.DllReferencePlugin = __webpack_exports__.DllReferencePlugin, exports.DynamicEntryPlugin = __webpack_exports__.DynamicEntryPlugin, exports.EntryDependency = __webpack_exports__.EntryDependency, exports.EntryOptionPlugin = __webpack_exports__.EntryOptionPlugin, exports.EntryPlugin = __webpack_exports__.EntryPlugin, exports.EnvironmentPlugin = __webpack_exports__.EnvironmentPlugin, exports.EvalDevToolModulePlugin = __webpack_exports__.EvalDevToolModulePlugin, exports.EvalSourceMapDevToolPlugin = __webpack_exports__.EvalSourceMapDevToolPlugin, exports.ExternalModule = __webpack_exports__.ExternalModule, exports.ExternalsPlugin = __webpack_exports__.ExternalsPlugin, exports.HotModuleReplacementPlugin = __webpack_exports__.HotModuleReplacementPlugin, exports.HtmlRspackPlugin = __webpack_exports__.HtmlRspackPlugin, exports.IgnorePlugin = __webpack_exports__.IgnorePlugin, exports.LightningCssMinimizerRspackPlugin = __webpack_exports__.LightningCssMinimizerRspackPlugin, exports.LoaderOptionsPlugin = __webpack_exports__.LoaderOptionsPlugin, exports.LoaderTargetPlugin = __webpack_exports__.LoaderTargetPlugin, exports.Module = __webpack_exports__.Module, exports.ModuleFilenameHelpers = __webpack_exports__.ModuleFilenameHelpers, exports.MultiCompiler = __webpack_exports__.MultiCompiler, exports.MultiStats = __webpack_exports__.MultiStats, exports.NoEmitOnErrorsPlugin = __webpack_exports__.NoEmitOnErrorsPlugin, exports.NormalModule = __webpack_exports__.NormalModule, exports.NormalModuleReplacementPlugin = __webpack_exports__.NormalModuleReplacementPlugin, exports.ProgressPlugin = __webpack_exports__.ProgressPlugin, exports.ProvidePlugin = __webpack_exports__.ProvidePlugin, exports.RspackOptionsApply = __webpack_exports__.RspackOptionsApply, exports.RuntimeGlobals = __webpack_exports__.RuntimeGlobals, exports.RuntimeModule = __webpack_exports__.RuntimeModule, exports.RuntimePlugin = __webpack_exports__.RuntimePlugin, exports.SourceMapDevToolPlugin = __webpack_exports__.SourceMapDevToolPlugin, exports.Stats = __webpack_exports__.Stats, exports.StatsErrorCode = __webpack_exports__.StatsErrorCode, exports.SwcJsMinimizerRspackPlugin = __webpack_exports__.SwcJsMinimizerRspackPlugin, exports.Template = __webpack_exports__.Template, exports.ValidationError = __webpack_exports__.ValidationError, exports.WarnCaseSensitiveModulesPlugin = __webpack_exports__.WarnCaseSensitiveModulesPlugin, exports.WebpackError = __webpack_exports__.WebpackError, exports.WebpackOptionsApply = __webpack_exports__.WebpackOptionsApply, exports.config = __webpack_exports__.config, exports.container = __webpack_exports__.container, exports.default = __webpack_exports__.default, exports.electron = __webpack_exports__.electron, exports.experiments = __webpack_exports__.experiments, exports.javascript = __webpack_exports__.javascript, exports.library = __webpack_exports__.library, exports.node = __webpack_exports__.node, exports.optimize = __webpack_exports__.optimize, exports.rspack = __webpack_exports__.rspack, exports.rspackVersion = __webpack_exports__.rspackVersion, exports.sharing = __webpack_exports__.sharing, exports.sources = __webpack_exports__.sources, exports.util = __webpack_exports__.util, exports.version = __webpack_exports__.version, exports.wasm = __webpack_exports__.wasm, exports.web = __webpack_exports__.web, exports.webworker = __webpack_exports__.webworker, __webpack_exports__)-1 === [
12359
+ })(), exports.AsyncDependenciesBlock = __webpack_exports__.AsyncDependenciesBlock, exports.BannerPlugin = __webpack_exports__.BannerPlugin, exports.CircularDependencyRspackPlugin = __webpack_exports__.CircularDependencyRspackPlugin, exports.Compilation = __webpack_exports__.Compilation, exports.Compiler = __webpack_exports__.Compiler, exports.ConcatenatedModule = __webpack_exports__.ConcatenatedModule, exports.ContextModule = __webpack_exports__.ContextModule, exports.ContextReplacementPlugin = __webpack_exports__.ContextReplacementPlugin, exports.CopyRspackPlugin = __webpack_exports__.CopyRspackPlugin, exports.CssExtractRspackPlugin = __webpack_exports__.CssExtractRspackPlugin, exports.DefinePlugin = __webpack_exports__.DefinePlugin, exports.Dependency = __webpack_exports__.Dependency, exports.DllPlugin = __webpack_exports__.DllPlugin, exports.DllReferencePlugin = __webpack_exports__.DllReferencePlugin, exports.DynamicEntryPlugin = __webpack_exports__.DynamicEntryPlugin, exports.EntryDependency = __webpack_exports__.EntryDependency, exports.EntryOptionPlugin = __webpack_exports__.EntryOptionPlugin, exports.EntryPlugin = __webpack_exports__.EntryPlugin, exports.EnvironmentPlugin = __webpack_exports__.EnvironmentPlugin, exports.EvalDevToolModulePlugin = __webpack_exports__.EvalDevToolModulePlugin, exports.EvalSourceMapDevToolPlugin = __webpack_exports__.EvalSourceMapDevToolPlugin, exports.ExternalModule = __webpack_exports__.ExternalModule, exports.ExternalsPlugin = __webpack_exports__.ExternalsPlugin, exports.HotModuleReplacementPlugin = __webpack_exports__.HotModuleReplacementPlugin, exports.HtmlRspackPlugin = __webpack_exports__.HtmlRspackPlugin, exports.IgnorePlugin = __webpack_exports__.IgnorePlugin, exports.LightningCssMinimizerRspackPlugin = __webpack_exports__.LightningCssMinimizerRspackPlugin, exports.LoaderOptionsPlugin = __webpack_exports__.LoaderOptionsPlugin, exports.LoaderTargetPlugin = __webpack_exports__.LoaderTargetPlugin, exports.Module = __webpack_exports__.Module, exports.ModuleFilenameHelpers = __webpack_exports__.ModuleFilenameHelpers, exports.MultiCompiler = __webpack_exports__.MultiCompiler, exports.MultiStats = __webpack_exports__.MultiStats, exports.NoEmitOnErrorsPlugin = __webpack_exports__.NoEmitOnErrorsPlugin, exports.NormalModule = __webpack_exports__.NormalModule, exports.NormalModuleReplacementPlugin = __webpack_exports__.NormalModuleReplacementPlugin, exports.ProgressPlugin = __webpack_exports__.ProgressPlugin, exports.ProvidePlugin = __webpack_exports__.ProvidePlugin, exports.RspackOptionsApply = __webpack_exports__.RspackOptionsApply, exports.RuntimeGlobals = __webpack_exports__.RuntimeGlobals, exports.RuntimeModule = __webpack_exports__.RuntimeModule, exports.RuntimePlugin = __webpack_exports__.RuntimePlugin, exports.SourceMapDevToolPlugin = __webpack_exports__.SourceMapDevToolPlugin, exports.Stats = __webpack_exports__.Stats, exports.StatsErrorCode = __webpack_exports__.StatsErrorCode, exports.SwcJsMinimizerRspackPlugin = __webpack_exports__.SwcJsMinimizerRspackPlugin, exports.Template = __webpack_exports__.Template, exports.ValidationError = __webpack_exports__.ValidationError, exports.WarnCaseSensitiveModulesPlugin = __webpack_exports__.WarnCaseSensitiveModulesPlugin, exports.WebpackError = __webpack_exports__.WebpackError, exports.WebpackOptionsApply = __webpack_exports__.WebpackOptionsApply, exports.config = __webpack_exports__.config, exports.container = __webpack_exports__.container, exports.default = __webpack_exports__.default, exports.electron = __webpack_exports__.electron, exports.experiments = __webpack_exports__.experiments, exports.javascript = __webpack_exports__.javascript, exports.lazyCompilationMiddleware = __webpack_exports__.lazyCompilationMiddleware, exports.library = __webpack_exports__.library, exports.node = __webpack_exports__.node, exports.optimize = __webpack_exports__.optimize, exports.rspack = __webpack_exports__.rspack, exports.rspackVersion = __webpack_exports__.rspackVersion, exports.sharing = __webpack_exports__.sharing, exports.sources = __webpack_exports__.sources, exports.util = __webpack_exports__.util, exports.version = __webpack_exports__.version, exports.wasm = __webpack_exports__.wasm, exports.web = __webpack_exports__.web, exports.webworker = __webpack_exports__.webworker, __webpack_exports__)-1 === [
12329
12360
  "AsyncDependenciesBlock",
12330
12361
  "BannerPlugin",
12331
12362
  "CircularDependencyRspackPlugin",
@@ -12383,6 +12414,7 @@ Help:
12383
12414
  "electron",
12384
12415
  "experiments",
12385
12416
  "javascript",
12417
+ "lazyCompilationMiddleware",
12386
12418
  "library",
12387
12419
  "node",
12388
12420
  "optimize",
@@ -28,6 +28,6 @@ export declare class EntryOptionPlugin {
28
28
  * @param desc entry description
29
29
  * @returns options for the entry
30
30
  */
31
- static entryDescriptionToOptions(compiler: Compiler, name: string, desc: EntryDescriptionNormalized): EntryOptions;
31
+ static entryDescriptionToOptions(_compiler: Compiler, name: string, desc: EntryDescriptionNormalized): EntryOptions;
32
32
  }
33
33
  export default EntryOptionPlugin;
@@ -3,7 +3,12 @@ export type FakeHook<T> = T & {
3
3
  };
4
4
  export declare function createFakeCompilationDependencies(getDeps: () => string[], addDeps: (deps: string[]) => void): {
5
5
  [Symbol.iterator](): Generator<string, void, unknown>;
6
- has(dep: string): boolean;
6
+ has: (dep: string) => boolean;
7
7
  add: (dep: string) => void;
8
8
  addAll: (deps: Iterable<string>) => void;
9
+ delete: (dep: string) => boolean;
10
+ keys(): SetIterator<string>;
11
+ values(): SetIterator<string>;
12
+ entries(): SetIterator<[string, string]>;
13
+ readonly size: number;
9
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack-canary/core",
3
- "version": "1.6.8-canary-dfa25db9-20251214173359",
3
+ "version": "1.6.8-canary-2fd81281-20251216180302",
4
4
  "webpackVersion": "5.75.0",
5
5
  "license": "MIT",
6
6
  "description": "The fast Rust-based web bundler with webpack-compatible API",
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@module-federation/runtime-tools": "0.21.6",
60
60
  "@rspack/lite-tapable": "1.1.0",
61
- "@rspack/binding": "npm:@rspack-canary/binding@1.6.8-canary-dfa25db9-20251214173359"
61
+ "@rspack/binding": "npm:@rspack-canary/binding@1.6.8-canary-2fd81281-20251216180302"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "@swc/helpers": ">=0.5.1"