@rspack-canary/browser 1.6.8-canary-02b3377e-20251215174244 → 1.7.0-canary-a0fc091c-20251217174017

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
  }
@@ -17,7 +17,7 @@ export type EntryNormalized = EntryDynamicNormalized | EntryStaticNormalized;
17
17
  export interface EntryStaticNormalized {
18
18
  [k: string]: EntryDescriptionNormalized;
19
19
  }
20
- export type EntryDescriptionNormalized = Pick<EntryDescription, "runtime" | "chunkLoading" | "asyncChunks" | "publicPath" | "baseUri" | "filename" | "library" | "layer"> & {
20
+ export type EntryDescriptionNormalized = Pick<EntryDescription, "runtime" | "chunkLoading" | "wasmLoading" | "asyncChunks" | "publicPath" | "baseUri" | "filename" | "library" | "layer"> & {
21
21
  import?: string[];
22
22
  dependOn?: string[];
23
23
  };
@@ -120,9 +120,18 @@ export interface ExperimentsNormalized {
120
120
  buildHttp?: HttpUriPluginOptions;
121
121
  parallelLoader?: boolean;
122
122
  useInputFileSystem?: false | RegExp[];
123
+ /**
124
+ * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
125
+ */
123
126
  inlineConst?: boolean;
127
+ /**
128
+ * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
129
+ */
124
130
  inlineEnum?: boolean;
125
131
  typeReexportsPresence?: boolean;
132
+ /**
133
+ * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
134
+ */
126
135
  lazyBarrel?: boolean;
127
136
  nativeWatcher?: boolean;
128
137
  deferImport?: boolean;
@@ -858,8 +858,6 @@ export type JavascriptParserOptions = {
858
858
  * Enable magic comments for CommonJS require() expressions.
859
859
  */
860
860
  commonjsMagicComments?: boolean;
861
- /** Inline const values in this module */
862
- inlineConst?: boolean;
863
861
  /** Whether to tolerant exportsPresence for type reexport */
864
862
  typeReexportsPresence?: "no-tolerant" | "tolerant" | "tolerant-no-check";
865
863
  /** Whether to enable JSX parsing */
@@ -1881,6 +1879,13 @@ export type Optimization = {
1881
1879
  * The value is `false` in development mode.
1882
1880
  */
1883
1881
  mangleExports?: "size" | "deterministic" | boolean;
1882
+ /**
1883
+ * Allows to inline exports when possible to reduce code size.
1884
+ *
1885
+ * The value is `true` in production mode.
1886
+ * The value is `false` in development mode.
1887
+ */
1888
+ inlineExports?: boolean;
1884
1889
  /**
1885
1890
  * Tells Rspack to set process.env.NODE_ENV to a given string value.
1886
1891
  * @default false
@@ -2155,21 +2160,25 @@ export type Experiments = {
2155
2160
  /**
2156
2161
  * Enable inline const feature
2157
2162
  * @default false
2163
+ * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
2158
2164
  */
2159
2165
  inlineConst?: boolean;
2160
2166
  /**
2161
2167
  * Enable inline enum feature
2162
2168
  * @default false
2169
+ * @deprecated This option is deprecated, it's already stable. Rspack will remove this option in future version
2163
2170
  */
2164
2171
  inlineEnum?: boolean;
2165
2172
  /**
2166
2173
  * Enable type reexports presence feature
2167
2174
  * @default false
2175
+ * @deprecated This option is deprecated, it's already stable. Rspack will remove this option in future version
2168
2176
  */
2169
2177
  typeReexportsPresence?: boolean;
2170
2178
  /**
2171
2179
  * Enable lazy make side effects free barrel file
2172
2180
  * @default false
2181
+ * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
2173
2182
  */
2174
2183
  lazyBarrel?: boolean;
2175
2184
  /**
package/dist/exports.d.ts CHANGED
@@ -56,6 +56,7 @@ export { LoaderOptionsPlugin } from "./lib/LoaderOptionsPlugin";
56
56
  export { LoaderTargetPlugin } from "./lib/LoaderTargetPlugin";
57
57
  export type { OutputFileSystem, WatchFileSystem } from "./util/fs";
58
58
  import { EsmLibraryPlugin, FetchCompileAsyncWasmPlugin, lazyCompilationMiddleware, SubresourceIntegrityPlugin } from "./builtin-plugin";
59
+ export { SubresourceIntegrityPlugin };
59
60
  interface Web {
60
61
  FetchCompileAsyncWasmPlugin: typeof FetchCompileAsyncWasmPlugin;
61
62
  }
@@ -142,11 +143,14 @@ interface Experiments {
142
143
  cleanup: () => Promise<void>;
143
144
  };
144
145
  RemoveDuplicateModulesPlugin: typeof RemoveDuplicateModulesPlugin;
146
+ /**
147
+ * @deprecated Use `rspack.SubresourceIntegrityPlugin` instead
148
+ */
149
+ SubresourceIntegrityPlugin: typeof SubresourceIntegrityPlugin;
145
150
  EsmLibraryPlugin: typeof EsmLibraryPlugin;
146
151
  RsdoctorPlugin: typeof RsdoctorPlugin;
147
152
  RstestPlugin: typeof RstestPlugin;
148
153
  RslibPlugin: typeof RslibPlugin;
149
- SubresourceIntegrityPlugin: typeof SubresourceIntegrityPlugin;
150
154
  /**
151
155
  * @deprecated Use `rspack.lazyCompilationMiddleware` instead
152
156
  */
package/dist/index.mjs CHANGED
@@ -50605,6 +50605,7 @@ __webpack_require__.d(exports_namespaceObject, {
50605
50605
  SourceMapDevToolPlugin: ()=>SourceMapDevToolPlugin,
50606
50606
  Stats: ()=>Stats,
50607
50607
  StatsErrorCode: ()=>statsFactoryUtils_StatsErrorCode,
50608
+ SubresourceIntegrityPlugin: ()=>SubresourceIntegrityPlugin,
50608
50609
  SwcJsMinimizerRspackPlugin: ()=>SwcJsMinimizerRspackPlugin,
50609
50610
  Template: ()=>Template,
50610
50611
  ValidationError: ()=>ValidationError,
@@ -51806,22 +51807,49 @@ class MergeCaller {
51806
51807
  }
51807
51808
  function createFakeCompilationDependencies(getDeps, addDeps) {
51808
51809
  const addDepsCaller = new MergeCaller(addDeps);
51810
+ const deletedDeps = new Set();
51811
+ const hasDep = (dep)=>{
51812
+ if (deletedDeps.has(dep)) return false;
51813
+ return addDepsCaller.pendingData().includes(dep) || getDeps().includes(dep);
51814
+ };
51815
+ const getAllDeps = ()=>{
51816
+ const deps = new Set([
51817
+ ...getDeps(),
51818
+ ...addDepsCaller.pendingData()
51819
+ ]);
51820
+ for (const deleted of deletedDeps)deps.delete(deleted);
51821
+ return deps;
51822
+ };
51809
51823
  return {
51810
51824
  *[Symbol.iterator] () {
51811
- const deps = new Set([
51812
- ...getDeps(),
51813
- ...addDepsCaller.pendingData()
51814
- ]);
51825
+ const deps = getAllDeps();
51815
51826
  for (const dep of deps)yield dep;
51816
51827
  },
51817
- has (dep) {
51818
- return addDepsCaller.pendingData().includes(dep) || getDeps().includes(dep);
51819
- },
51828
+ has: hasDep,
51820
51829
  add: (dep)=>{
51830
+ deletedDeps.delete(dep);
51821
51831
  addDepsCaller.push(dep);
51822
51832
  },
51823
51833
  addAll: (deps)=>{
51834
+ for (const dep of deps)deletedDeps.delete(dep);
51824
51835
  addDepsCaller.push(...deps);
51836
+ },
51837
+ delete: (dep)=>{
51838
+ const hadDep = hasDep(dep);
51839
+ if (hadDep) deletedDeps.add(dep);
51840
+ return hadDep;
51841
+ },
51842
+ keys () {
51843
+ return getAllDeps().keys();
51844
+ },
51845
+ values () {
51846
+ return getAllDeps().values();
51847
+ },
51848
+ entries () {
51849
+ return getAllDeps().entries();
51850
+ },
51851
+ get size () {
51852
+ return getAllDeps().size;
51825
51853
  }
51826
51854
  };
51827
51855
  }
@@ -52595,7 +52623,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
52595
52623
  processAssetsHook.tap(getOptions(options), ()=>fn(...getArgs()));
52596
52624
  },
52597
52625
  tapAsync: (options, fn)=>{
52598
- processAssetsHook.tapAsync(getOptions(options), (assets, callback)=>fn(...getArgs(), callback));
52626
+ processAssetsHook.tapAsync(getOptions(options), (_assets, callback)=>fn(...getArgs(), callback));
52599
52627
  },
52600
52628
  tapPromise: (options, fn)=>{
52601
52629
  processAssetsHook.tapPromise(getOptions(options), ()=>fn(...getArgs()));
@@ -53220,7 +53248,7 @@ class EntryOptionPlugin {
53220
53248
  for (const entry of desc.import)new EntryPlugin(context, entry, options).apply(compiler);
53221
53249
  }
53222
53250
  }
53223
- static entryDescriptionToOptions(compiler, name, desc) {
53251
+ static entryDescriptionToOptions(_compiler, name, desc) {
53224
53252
  const options = {
53225
53253
  name,
53226
53254
  filename: desc.filename,
@@ -53250,14 +53278,13 @@ const OriginEntryPlugin = base_create(external_rspack_wasi_browser_js_.BuiltinPl
53250
53278
  const EntryPlugin = OriginEntryPlugin;
53251
53279
  EntryPlugin.createDependency = (request)=>new external_rspack_wasi_browser_js_.EntryDependency(request);
53252
53280
  function getRawEntryOptions(entry) {
53253
- const runtime = entry.runtime;
53254
- const chunkLoading = entry.chunkLoading;
53255
53281
  return {
53256
53282
  name: entry.name,
53257
53283
  publicPath: entry.publicPath,
53258
53284
  baseUri: entry.baseUri,
53259
- runtime,
53260
- chunkLoading,
53285
+ runtime: entry.runtime,
53286
+ chunkLoading: entry.chunkLoading,
53287
+ wasmLoading: entry.wasmLoading,
53261
53288
  asyncChunks: entry.asyncChunks,
53262
53289
  filename: entry.filename,
53263
53290
  library: entry.library,
@@ -53392,6 +53419,7 @@ function applyLimits(options, logger) {
53392
53419
  options.optimization.concatenateModules = false;
53393
53420
  options.optimization.removeEmptyChunks = false;
53394
53421
  options.output.chunkFormat = false;
53422
+ options.output.module = true;
53395
53423
  if (options.output.chunkLoading && "import" !== options.output.chunkLoading) {
53396
53424
  logger.warn(`\`output.chunkLoading\` should be \`"import"\` or \`false\`, but got ${options.output.chunkLoading}, changed it to \`"import"\``);
53397
53425
  options.output.chunkLoading = "import";
@@ -55559,13 +55587,13 @@ function getRawParserOptionsMap(parser) {
55559
55587
  return Object.fromEntries(Object.entries(parser).map(([k, v])=>[
55560
55588
  k,
55561
55589
  getRawParserOptions(v, k)
55562
- ]).filter(([k, v])=>void 0 !== v));
55590
+ ]).filter(([_, v])=>void 0 !== v));
55563
55591
  }
55564
55592
  function getRawGeneratorOptionsMap(generator) {
55565
55593
  return Object.fromEntries(Object.entries(generator).map(([k, v])=>[
55566
55594
  k,
55567
55595
  getRawGeneratorOptions(v, k)
55568
- ]).filter(([k, v])=>void 0 !== v));
55596
+ ]).filter(([_, v])=>void 0 !== v));
55569
55597
  }
55570
55598
  function getRawParserOptions(parser, type) {
55571
55599
  if ("asset" === type) return {
@@ -55632,7 +55660,6 @@ function getRawJavascriptParserOptions(parser) {
55632
55660
  commonjs: parser.commonjs,
55633
55661
  importDynamic: parser.importDynamic,
55634
55662
  commonjsMagicComments: parser.commonjsMagicComments,
55635
- inlineConst: parser.inlineConst,
55636
55663
  typeReexportsPresence: parser.typeReexportsPresence,
55637
55664
  jsx: parser.jsx,
55638
55665
  deferImport: parser.deferImport
@@ -58077,7 +58104,13 @@ const applyRspackOptionsDefaults = (options)=>{
58077
58104
  F(options, "devtool", ()=>development ? "eval" : false);
58078
58105
  D(options, "watch", false);
58079
58106
  D(options, "profile", false);
58080
- D(options, "lazyCompilation", false);
58107
+ F(options, "lazyCompilation", ()=>{
58108
+ if (!!targetProperties && targetProperties.web && !targetProperties.electron && !targetProperties.node && !targetProperties.nwjs) return {
58109
+ imports: true,
58110
+ entries: false
58111
+ };
58112
+ return false;
58113
+ });
58081
58114
  D(options, "bail", false);
58082
58115
  F(options, "cache", ()=>development);
58083
58116
  if (false === options.cache) options.experiments.cache = false;
@@ -58087,7 +58120,8 @@ const applyRspackOptionsDefaults = (options)=>{
58087
58120
  applyOptimizationDefaults(options.optimization, {
58088
58121
  production,
58089
58122
  development,
58090
- css: options.experiments.css
58123
+ css: options.experiments.css,
58124
+ deprecatedInline: options.experiments.inlineConst || options.experiments.inlineEnum
58091
58125
  });
58092
58126
  applySnapshotDefaults(options.snapshot, {
58093
58127
  production
@@ -58099,8 +58133,6 @@ const applyRspackOptionsDefaults = (options)=>{
58099
58133
  targetProperties,
58100
58134
  mode: options.mode,
58101
58135
  uniqueName: options.output.uniqueName,
58102
- usedExports: !!options.optimization.usedExports,
58103
- inlineConst: options.experiments.inlineConst,
58104
58136
  deferImport: options.experiments.deferImport
58105
58137
  });
58106
58138
  applyOutputDefaults(options.output, {
@@ -58108,9 +58140,7 @@ const applyRspackOptionsDefaults = (options)=>{
58108
58140
  targetProperties,
58109
58141
  isAffectedByBrowserslist: void 0 === target || "string" == typeof target && target.startsWith("browserslist") || Array.isArray(target) && target.some((target)=>target.startsWith("browserslist")),
58110
58142
  outputModule: options.experiments.outputModule,
58111
- development,
58112
- entry: options.entry,
58113
- futureDefaults: options.experiments.futureDefaults
58143
+ entry: options.entry
58114
58144
  });
58115
58145
  applybundlerInfoDefaults(options.experiments.rspackFuture, options.output.library);
58116
58146
  applyExternalsPresetsDefaults(options.externalsPresets, {
@@ -58183,7 +58213,7 @@ const applyExperimentsDefaults = (experiments, { development })=>{
58183
58213
  D(experiments, "parallelCodeSplitting", false);
58184
58214
  D(experiments, "parallelLoader", false);
58185
58215
  D(experiments, "useInputFileSystem", false);
58186
- D(experiments, "inlineConst", false);
58216
+ D(experiments, "inlineConst", true);
58187
58217
  D(experiments, "inlineEnum", false);
58188
58218
  D(experiments, "typeReexportsPresence", false);
58189
58219
  D(experiments, "lazyBarrel", true);
@@ -58192,14 +58222,14 @@ const applybundlerInfoDefaults = (rspackFuture, library)=>{
58192
58222
  if ("object" == typeof rspackFuture) {
58193
58223
  D(rspackFuture, "bundlerInfo", {});
58194
58224
  if ("object" == typeof rspackFuture.bundlerInfo) {
58195
- D(rspackFuture.bundlerInfo, "version", "1.6.8-canary-02b3377e-20251215174244");
58225
+ D(rspackFuture.bundlerInfo, "version", "1.7.0-canary-a0fc091c-20251217174017");
58196
58226
  D(rspackFuture.bundlerInfo, "bundler", "rspack");
58197
58227
  D(rspackFuture.bundlerInfo, "force", !library);
58198
58228
  }
58199
58229
  }
58200
58230
  };
58201
58231
  const applySnapshotDefaults = (_snapshot, _env)=>{};
58202
- const applyJavascriptParserOptionsDefaults = (parserOptions, { usedExports, inlineConst, deferImport })=>{
58232
+ const applyJavascriptParserOptionsDefaults = (parserOptions, { deferImport })=>{
58203
58233
  D(parserOptions, "dynamicImportMode", "lazy");
58204
58234
  D(parserOptions, "dynamicImportPrefetch", false);
58205
58235
  D(parserOptions, "dynamicImportPreload", false);
@@ -58218,7 +58248,6 @@ const applyJavascriptParserOptionsDefaults = (parserOptions, { usedExports, inli
58218
58248
  "..."
58219
58249
  ]);
58220
58250
  D(parserOptions, "importMeta", true);
58221
- D(parserOptions, "inlineConst", usedExports && inlineConst);
58222
58251
  D(parserOptions, "typeReexportsPresence", "no-tolerant");
58223
58252
  D(parserOptions, "jsx", false);
58224
58253
  D(parserOptions, "deferImport", deferImport);
@@ -58226,7 +58255,7 @@ const applyJavascriptParserOptionsDefaults = (parserOptions, { usedExports, inli
58226
58255
  const applyJsonGeneratorOptionsDefaults = (generatorOptions)=>{
58227
58256
  D(generatorOptions, "JSONParse", true);
58228
58257
  };
58229
- const applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, usedExports, inlineConst, deferImport })=>{
58258
+ const applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProperties, mode, uniqueName, deferImport })=>{
58230
58259
  assertNotNill(module1.parser);
58231
58260
  assertNotNill(module1.generator);
58232
58261
  cache ? D(module1, "unsafeCache", /[\\/]node_modules[\\/]/) : D(module1, "unsafeCache", false);
@@ -58237,8 +58266,6 @@ const applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProp
58237
58266
  F(module1.parser, "javascript", ()=>({}));
58238
58267
  assertNotNill(module1.parser.javascript);
58239
58268
  applyJavascriptParserOptionsDefaults(module1.parser.javascript, {
58240
- usedExports,
58241
- inlineConst,
58242
58269
  deferImport
58243
58270
  });
58244
58271
  F(module1.parser, "json", ()=>({}));
@@ -58397,11 +58424,16 @@ const applyModuleDefaults = (module1, { cache, asyncWebAssembly, css, targetProp
58397
58424
  type: "json"
58398
58425
  },
58399
58426
  type: "json"
58427
+ }, {
58428
+ with: {
58429
+ type: "text"
58430
+ },
58431
+ type: "asset/source"
58400
58432
  });
58401
58433
  return rules;
58402
58434
  });
58403
58435
  };
58404
- const applyOutputDefaults = (output, { context, outputModule, targetProperties: tp, isAffectedByBrowserslist, development, entry, futureDefaults })=>{
58436
+ const applyOutputDefaults = (output, { context, outputModule, targetProperties: tp, isAffectedByBrowserslist, entry })=>{
58405
58437
  const getLibraryName = (library)=>{
58406
58438
  const libraryName = "object" == typeof library && library && !Array.isArray(library) && "type" in library ? library.name : library;
58407
58439
  if (Array.isArray(libraryName)) return libraryName.join(".");
@@ -58410,7 +58442,7 @@ const applyOutputDefaults = (output, { context, outputModule, targetProperties:
58410
58442
  return "";
58411
58443
  };
58412
58444
  F(output, "uniqueName", ()=>{
58413
- const libraryName = getLibraryName(output.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g, (m, a, d1, d2, b, c)=>{
58445
+ const libraryName = getLibraryName(output.library).replace(/^\[(\\*[\w:]+\\*)\](\.)|(\.)\[(\\*[\w:]+\\*)\](?=\.|$)|\[(\\*[\w:]+\\*)\]/g, (_, a, d1, d2, b, c)=>{
58414
58446
  const content = a || b || c;
58415
58447
  return content.startsWith("\\") && content.endsWith("\\") ? `${d2 || ""}[${content.slice(1, -1)}]${d1 || ""}` : "";
58416
58448
  });
@@ -58546,7 +58578,7 @@ const applyOutputDefaults = (output, { context, outputModule, targetProperties:
58546
58578
  if (tp) {
58547
58579
  if (tp.fetchWasm) return "fetch";
58548
58580
  if (tp.nodeBuiltins) return "async-node";
58549
- null === tp.nodeBuiltins || tp.fetchWasm;
58581
+ if ((null === tp.nodeBuiltins || null === tp.fetchWasm) && output.module && environment.dynamicImport) return "universal";
58550
58582
  }
58551
58583
  return false;
58552
58584
  });
@@ -58597,6 +58629,9 @@ const applyOutputDefaults = (output, { context, outputModule, targetProperties:
58597
58629
  const enabledWasmLoadingTypes = new Set();
58598
58630
  if (output.wasmLoading) enabledWasmLoadingTypes.add(output.wasmLoading);
58599
58631
  if (output.workerWasmLoading) enabledWasmLoadingTypes.add(output.workerWasmLoading);
58632
+ forEachEntry((desc)=>{
58633
+ if (desc.wasmLoading) enabledWasmLoadingTypes.add(desc.wasmLoading);
58634
+ });
58600
58635
  return Array.from(enabledWasmLoadingTypes);
58601
58636
  });
58602
58637
  };
@@ -58646,7 +58681,7 @@ const applyPerformanceDefaults = (performance, { production })=>{
58646
58681
  D(performance, "maxEntrypointSize", 250000);
58647
58682
  F(performance, "hints", ()=>production ? "warning" : false);
58648
58683
  };
58649
- const applyOptimizationDefaults = (optimization, { production, development, css })=>{
58684
+ const applyOptimizationDefaults = (optimization, { production, development, css, deprecatedInline })=>{
58650
58685
  D(optimization, "removeAvailableModules", true);
58651
58686
  D(optimization, "removeEmptyChunks", true);
58652
58687
  D(optimization, "mergeDuplicateChunks", true);
@@ -58662,6 +58697,7 @@ const applyOptimizationDefaults = (optimization, { production, development, css
58662
58697
  });
58663
58698
  F(optimization, "sideEffects", ()=>production ? true : "flag");
58664
58699
  D(optimization, "mangleExports", production);
58700
+ D(optimization, "inlineExports", deprecatedInline && production);
58665
58701
  D(optimization, "providedExports", true);
58666
58702
  D(optimization, "usedExports", production);
58667
58703
  D(optimization, "innerGraph", production);
@@ -59058,6 +59094,10 @@ const getNormalizedRspackOptions = (config)=>({
59058
59094
  if (experiments.layers) util_default().deprecate(()=>{}, "`experiments.layers` config has been deprecated and will be removed in Rspack v2.0. Feature layers will be always enabled. Please remove this option from your Rspack configuration.")();
59059
59095
  if (false === experiments.topLevelAwait) util_default().deprecate(()=>{}, "`experiments.topLevelAwait` config has been deprecated and will be removed in Rspack v2.0. Top-level await will be always enabled. Please remove this option from your Rspack configuration.")();
59060
59096
  if (experiments.parallelCodeSplitting) util_default().deprecate(()=>{}, "`experiments.parallelCodeSplitting` config has been deprecated and will be removed in next minor. It has huge regression in some edge cases where the chunk graph has lots of cycles, we'll improve the performance of build_chunk_graph in the future instead")();
59097
+ if (experiments.lazyBarrel) util_default().deprecate(()=>{}, "`experiments.lazyBarrel` config has been deprecated and will be removed in Rspack v2.0. Lazy barrel is already stable and enabled by default. Please remove this option from your Rspack configuration.")();
59098
+ if (experiments.inlineConst) util_default().deprecate(()=>{}, "`experiments.inlineConst` config has been deprecated and will be removed in Rspack v2.0. Inline Const is already stable and enabled by default. Please remove this option from your Rspack configuration.")();
59099
+ if (experiments.inlineEnum) util_default().deprecate(()=>{}, "`experiments.inlineEnum` config has been deprecated and will be removed in Rspack v2.0. Inline Enum is already stable. Please remove this option from your Rspack configuration.")();
59100
+ if (experiments.typeReexportsPresence) util_default().deprecate(()=>{}, "`experiments.typeReexportsPresence` config has been deprecated and will be removed in Rspack v2.0. typeReexportsPresence is already stable. Please remove this option from your Rspack configuration.")();
59061
59101
  return {
59062
59102
  ...experiments,
59063
59103
  cache: optionalNestedConfig(experiments.cache, (cache)=>{
@@ -59078,7 +59118,7 @@ const getNormalizedRspackOptions = (config)=>({
59078
59118
  managedPaths: optionalNestedArray(snapshot.managedPaths, (p)=>[
59079
59119
  ...p
59080
59120
  ]) || [
59081
- /\/node_modules\//
59121
+ /[\\/]node_modules[\\/][^.]/
59082
59122
  ]
59083
59123
  },
59084
59124
  storage: {
@@ -59539,7 +59579,7 @@ class ConcurrentCompilationError extends Error {
59539
59579
  }
59540
59580
  }
59541
59581
  function rmrf(fs, p, callback) {
59542
- fs.stat(p, (err, stats)=>{
59582
+ (fs.lstat || fs.stat)(p, (err, stats)=>{
59543
59583
  if (err) {
59544
59584
  if ("ENOENT" === err.code) return callback();
59545
59585
  return callback(err);
@@ -59791,7 +59831,7 @@ class ThreadsafeIntermediateNodeFS extends ThreadsafeOutputNodeFS {
59791
59831
  readFn(fd, {
59792
59832
  position,
59793
59833
  length
59794
- }, (err, bytesRead, buffer)=>{
59834
+ }, (err, _bytesRead, buffer)=>{
59795
59835
  err ? resolve(err) : resolve(buffer);
59796
59836
  });
59797
59837
  });
@@ -60255,10 +60295,10 @@ function Resolver_class_private_field_set(receiver, privateMap, value) {
60255
60295
  }
60256
60296
  var _binding = /*#__PURE__*/ new WeakMap();
60257
60297
  class Resolver {
60258
- resolveSync(context, path, request) {
60298
+ resolveSync(_context, path, request) {
60259
60299
  return Resolver_class_private_field_get(this, _binding).resolveSync(path, request) ?? false;
60260
60300
  }
60261
- resolve(context, path, request, resolveContext, callback) {
60301
+ resolve(_context, path, request, resolveContext, callback) {
60262
60302
  Resolver_class_private_field_get(this, _binding).resolve(path, request, (error, text)=>{
60263
60303
  if (error) return void callback(error);
60264
60304
  const req = text ? JSON.parse(text) : void 0;
@@ -61236,10 +61276,10 @@ function VirtualModulesPlugin_class_private_field_set(receiver, privateMap, valu
61236
61276
  }
61237
61277
  const VirtualModulesPlugin_PLUGIN_NAME = "VirtualModulesPlugin";
61238
61278
  const VFILES_BY_COMPILER = new WeakMap();
61239
- var _staticModules = /*#__PURE__*/ new WeakMap(), _compiler = /*#__PURE__*/ new WeakMap(), _store = /*#__PURE__*/ new WeakMap();
61279
+ var _staticModules = /*#__PURE__*/ new WeakMap(), VirtualModulesPlugin_compiler = /*#__PURE__*/ new WeakMap(), _store = /*#__PURE__*/ new WeakMap();
61240
61280
  class VirtualModulesPlugin {
61241
61281
  apply(compiler) {
61242
- VirtualModulesPlugin_class_private_field_set(this, _compiler, compiler);
61282
+ VirtualModulesPlugin_class_private_field_set(this, VirtualModulesPlugin_compiler, compiler);
61243
61283
  compiler.hooks.afterEnvironment.tap(VirtualModulesPlugin_PLUGIN_NAME, ()=>{
61244
61284
  const record = VFILES_BY_COMPILER.get(compiler) || {};
61245
61285
  if (VirtualModulesPlugin_class_private_field_get(this, _staticModules)) for (const [filePath, content] of Object.entries(VirtualModulesPlugin_class_private_field_get(this, _staticModules))){
@@ -61250,15 +61290,15 @@ class VirtualModulesPlugin {
61250
61290
  });
61251
61291
  }
61252
61292
  writeModule(filePath, contents) {
61253
- if (!VirtualModulesPlugin_class_private_field_get(this, _compiler)) throw new Error("Plugin has not been initialized");
61293
+ if (!VirtualModulesPlugin_class_private_field_get(this, VirtualModulesPlugin_compiler)) throw new Error("Plugin has not been initialized");
61254
61294
  const store = this.getVirtualFileStore();
61255
- const fullPath = path_browserify_default().resolve(VirtualModulesPlugin_class_private_field_get(this, _compiler).context, filePath);
61295
+ const fullPath = path_browserify_default().resolve(VirtualModulesPlugin_class_private_field_get(this, VirtualModulesPlugin_compiler).context, filePath);
61256
61296
  store.writeVirtualFileSync(fullPath, contents);
61257
- notifyWatchers(VirtualModulesPlugin_class_private_field_get(this, _compiler), fullPath, Date.now());
61297
+ notifyWatchers(VirtualModulesPlugin_class_private_field_get(this, VirtualModulesPlugin_compiler), fullPath, Date.now());
61258
61298
  }
61259
61299
  getVirtualFileStore() {
61260
61300
  if (VirtualModulesPlugin_class_private_field_get(this, _store)) return VirtualModulesPlugin_class_private_field_get(this, _store);
61261
- const store = VirtualModulesPlugin_class_private_field_get(this, _compiler)?.__internal__get_virtual_file_store();
61301
+ const store = VirtualModulesPlugin_class_private_field_get(this, VirtualModulesPlugin_compiler)?.__internal__get_virtual_file_store();
61262
61302
  if (!store) throw new Error("Virtual file store has not been initialized");
61263
61303
  VirtualModulesPlugin_class_private_field_set(this, _store, store);
61264
61304
  return store;
@@ -61278,7 +61318,7 @@ class VirtualModulesPlugin {
61278
61318
  writable: true,
61279
61319
  value: void 0
61280
61320
  });
61281
- VirtualModulesPlugin_class_private_field_init(this, _compiler, {
61321
+ VirtualModulesPlugin_class_private_field_init(this, VirtualModulesPlugin_compiler, {
61282
61322
  writable: true,
61283
61323
  value: void 0
61284
61324
  });
@@ -62342,7 +62382,7 @@ class MultiStats {
62342
62382
  return obj;
62343
62383
  });
62344
62384
  if (childOptions.version) {
62345
- obj.rspackVersion = "1.6.8-canary-02b3377e-20251215174244";
62385
+ obj.rspackVersion = "1.7.0-canary-a0fc091c-20251217174017";
62346
62386
  obj.version = "5.75.0";
62347
62387
  }
62348
62388
  if (childOptions.hash) obj.hash = obj.children.map((j)=>j.hash).join("");
@@ -63658,7 +63698,7 @@ const SIMPLE_EXTRACTORS = {
63658
63698
  },
63659
63699
  version: (object)=>{
63660
63700
  object.version = "5.75.0";
63661
- object.rspackVersion = "1.6.8-canary-02b3377e-20251215174244";
63701
+ object.rspackVersion = "1.7.0-canary-a0fc091c-20251217174017";
63662
63702
  },
63663
63703
  env: (object, _compilation, _context, { _env })=>{
63664
63704
  object.env = _env;
@@ -63722,7 +63762,7 @@ const SIMPLE_EXTRACTORS = {
63722
63762
  object.assets = limited.children;
63723
63763
  object.filteredAssets = limited.filteredChildren;
63724
63764
  },
63725
- chunks: (object, compilation, context, options, factory)=>{
63765
+ chunks: (object, compilation, context, _options, factory)=>{
63726
63766
  const { type, getStatsCompilation } = context;
63727
63767
  const statsCompilation = getStatsCompilation(compilation);
63728
63768
  const chunks = statsCompilation.chunks;
@@ -64349,8 +64389,8 @@ const NORMALIZER = {
64349
64389
  value
64350
64390
  ] : [];
64351
64391
  return array.map((filter)=>{
64352
- if ("string" == typeof filter) return (warning, warningString)=>warningString.includes(filter);
64353
- if (filter instanceof RegExp) return (warning, warningString)=>filter.test(warningString);
64392
+ if ("string" == typeof filter) return (_warning, warningString)=>warningString.includes(filter);
64393
+ if (filter instanceof RegExp) return (_warning, warningString)=>filter.test(warningString);
64354
64394
  if ("function" == typeof filter) return filter;
64355
64395
  throw new Error(`Can only filter warnings with Strings or RegExps. (Given: ${filter})`);
64356
64396
  });
@@ -65319,7 +65359,7 @@ class RspackOptionsApply {
65319
65359
  if (options.optimization.providedExports) new FlagDependencyExportsPlugin().apply(compiler);
65320
65360
  if (options.optimization.usedExports) new FlagDependencyUsagePlugin("global" === options.optimization.usedExports).apply(compiler);
65321
65361
  if (options.optimization.concatenateModules) new ModuleConcatenationPlugin().apply(compiler);
65322
- if (options.experiments.inlineConst || options.experiments.inlineEnum) new InlineExportsPlugin().apply(compiler);
65362
+ if (options.optimization.inlineExports) new InlineExportsPlugin().apply(compiler);
65323
65363
  if (options.optimization.mangleExports) new MangleExportsPlugin("size" !== options.optimization.mangleExports).apply(compiler);
65324
65364
  if (options.output.enabledLibraryTypes && options.output.enabledLibraryTypes.length > 0) for (const type of options.output.enabledLibraryTypes)new EnableLibraryPlugin(type).apply(compiler);
65325
65365
  if (options.optimization.splitChunks) new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler);
@@ -66268,7 +66308,7 @@ class ModuleFederationPlugin {
66268
66308
  }
66269
66309
  function collectManifestExposes(exposes) {
66270
66310
  if (!exposes) return;
66271
- const parsed = parseOptions(exposes, (value, key)=>({
66311
+ const parsed = parseOptions(exposes, (value)=>({
66272
66312
  import: Array.isArray(value) ? value : [
66273
66313
  value
66274
66314
  ],
@@ -66795,7 +66835,7 @@ function transformSync(source, options) {
66795
66835
  const _options = JSON.stringify(options || {});
66796
66836
  return external_rspack_wasi_browser_js_["default"].transformSync(source, _options);
66797
66837
  }
66798
- const exports_rspackVersion = "1.6.8-canary-02b3377e-20251215174244";
66838
+ const exports_rspackVersion = "1.7.0-canary-a0fc091c-20251217174017";
66799
66839
  const exports_version = "5.75.0";
66800
66840
  const exports_WebpackError = Error;
66801
66841
  const sources = __webpack_require__("../../node_modules/.pnpm/webpack-sources@3.3.3_patch_hash=b2a26650f08a2359d0a3cd81fa6fa272aa7441a28dd7e601792da5ed5d2b4aee/node_modules/webpack-sources/lib/index.js");
@@ -66863,11 +66903,11 @@ const exports_experiments = {
66863
66903
  }
66864
66904
  },
66865
66905
  RemoveDuplicateModulesPlugin: RemoveDuplicateModulesPlugin,
66906
+ SubresourceIntegrityPlugin: SubresourceIntegrityPlugin,
66866
66907
  EsmLibraryPlugin: EsmLibraryPlugin,
66867
66908
  RsdoctorPlugin: RsdoctorPlugin,
66868
66909
  RstestPlugin: RstestPlugin,
66869
66910
  RslibPlugin: RslibPlugin,
66870
- SubresourceIntegrityPlugin: SubresourceIntegrityPlugin,
66871
66911
  lazyCompilationMiddleware: lazyCompilationMiddleware,
66872
66912
  swc: {
66873
66913
  minify: minify,
@@ -67206,4 +67246,4 @@ var __webpack_exports__EntryDependency = external_rspack_wasi_browser_js_.EntryD
67206
67246
  var __webpack_exports__ExternalModule = external_rspack_wasi_browser_js_.ExternalModule;
67207
67247
  var __webpack_exports__Module = external_rspack_wasi_browser_js_.Module;
67208
67248
  var __webpack_exports__NormalModule = external_rspack_wasi_browser_js_.NormalModule;
67209
- export { BannerPlugin, BrowserHttpImportEsmPlugin, BrowserRequirePlugin, CircularDependencyRspackPlugin, Compilation, Compiler, ContextReplacementPlugin, CopyRspackPlugin, CssExtractRspackPlugin, DefinePlugin, DllPlugin, DllReferencePlugin, DynamicEntryPlugin, lib_EntryOptionPlugin as EntryOptionPlugin, EntryPlugin, EnvironmentPlugin, EvalDevToolModulePlugin, EvalSourceMapDevToolPlugin, ExternalsPlugin, HotModuleReplacementPlugin, HtmlRspackPlugin, IgnorePlugin, LightningCssMinimizerRspackPlugin, LoaderOptionsPlugin, LoaderTargetPlugin, ModuleFilenameHelpers_namespaceObject as ModuleFilenameHelpers, MultiCompiler, MultiStats, NoEmitOnErrorsPlugin, NormalModuleReplacementPlugin, ProgressPlugin, ProvidePlugin, RspackOptionsApply, DefaultRuntimeGlobals as RuntimeGlobals, RuntimeModule, RuntimePlugin, SourceMapDevToolPlugin, Stats, statsFactoryUtils_StatsErrorCode as StatsErrorCode, SwcJsMinimizerRspackPlugin, Template, ValidationError, WarnCaseSensitiveModulesPlugin, exports_WebpackError as WebpackError, RspackOptionsApply as WebpackOptionsApply, builtinMemFs, exports_config as config, container, electron, exports_experiments as experiments, javascript, lazyCompilationMiddleware, exports_library as library, exports_node as node, optimize, src_rspack_0 as rspack, exports_rspackVersion as rspackVersion, sharing, sources, exports_util as util, exports_version as version, exports_wasm as wasm, web, webworker, __webpack_exports__AsyncDependenciesBlock as AsyncDependenciesBlock, __webpack_exports__ConcatenatedModule as ConcatenatedModule, __webpack_exports__ContextModule as ContextModule, __webpack_exports__Dependency as Dependency, __webpack_exports__EntryDependency as EntryDependency, __webpack_exports__ExternalModule as ExternalModule, __webpack_exports__Module as Module, __webpack_exports__NormalModule as NormalModule };
67249
+ export { BannerPlugin, BrowserHttpImportEsmPlugin, BrowserRequirePlugin, CircularDependencyRspackPlugin, Compilation, Compiler, ContextReplacementPlugin, CopyRspackPlugin, CssExtractRspackPlugin, DefinePlugin, DllPlugin, DllReferencePlugin, DynamicEntryPlugin, lib_EntryOptionPlugin as EntryOptionPlugin, EntryPlugin, EnvironmentPlugin, EvalDevToolModulePlugin, EvalSourceMapDevToolPlugin, ExternalsPlugin, HotModuleReplacementPlugin, HtmlRspackPlugin, IgnorePlugin, LightningCssMinimizerRspackPlugin, LoaderOptionsPlugin, LoaderTargetPlugin, ModuleFilenameHelpers_namespaceObject as ModuleFilenameHelpers, MultiCompiler, MultiStats, NoEmitOnErrorsPlugin, NormalModuleReplacementPlugin, ProgressPlugin, ProvidePlugin, RspackOptionsApply, DefaultRuntimeGlobals as RuntimeGlobals, RuntimeModule, RuntimePlugin, SourceMapDevToolPlugin, Stats, statsFactoryUtils_StatsErrorCode as StatsErrorCode, SubresourceIntegrityPlugin, SwcJsMinimizerRspackPlugin, Template, ValidationError, WarnCaseSensitiveModulesPlugin, exports_WebpackError as WebpackError, RspackOptionsApply as WebpackOptionsApply, builtinMemFs, exports_config as config, container, electron, exports_experiments as experiments, javascript, lazyCompilationMiddleware, exports_library as library, exports_node as node, optimize, src_rspack_0 as rspack, exports_rspackVersion as rspackVersion, sharing, sources, exports_util as util, exports_version as version, exports_wasm as wasm, web, webworker, __webpack_exports__AsyncDependenciesBlock as AsyncDependenciesBlock, __webpack_exports__ConcatenatedModule as ConcatenatedModule, __webpack_exports__ContextModule as ContextModule, __webpack_exports__Dependency as Dependency, __webpack_exports__EntryDependency as EntryDependency, __webpack_exports__ExternalModule as ExternalModule, __webpack_exports__Module as Module, __webpack_exports__NormalModule as NormalModule };
@@ -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;
@@ -816,6 +816,7 @@ export interface JsEntryOptions {
816
816
  name?: string
817
817
  runtime?: false | string
818
818
  chunkLoading?: false | string
819
+ wasmLoading?: false | string
819
820
  asyncChunks?: boolean
820
821
  publicPath?: "auto" | JsFilename
821
822
  baseUri?: string
@@ -2128,9 +2129,6 @@ rspackFuture?: RawRspackFuture
2128
2129
  cache: boolean | { type: "persistent" } & RawExperimentCacheOptionsPersistent | { type: "memory" }
2129
2130
  useInputFileSystem?: false | Array<RegExp>
2130
2131
  css?: boolean
2131
- inlineConst: boolean
2132
- inlineEnum: boolean
2133
- typeReexportsPresence: boolean
2134
2132
  lazyBarrel: boolean
2135
2133
  deferImport: boolean
2136
2134
  }
@@ -2354,11 +2352,6 @@ commonjs?: boolean | { exports?: boolean | 'skipInEsm' }
2354
2352
  */
2355
2353
  importDynamic?: boolean
2356
2354
  commonjsMagicComments?: boolean
2357
- /**
2358
- * This option is experimental in Rspack only and subject to change or be removed anytime.
2359
- * @experimental
2360
- */
2361
- inlineConst?: boolean
2362
2355
  /**
2363
2356
  * This option is experimental in Rspack only and subject to change or be removed anytime.
2364
2357
  * @experimental
@@ -2582,6 +2575,7 @@ export interface RawOptimizationOptions {
2582
2575
  innerGraph: boolean
2583
2576
  realContentHash: boolean
2584
2577
  mangleExports: boolean | string
2578
+ inlineExports: boolean
2585
2579
  concatenateModules: boolean
2586
2580
  avoidEntryIife: boolean
2587
2581
  }
Binary file
@@ -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/browser",
3
- "version": "1.6.8-canary-02b3377e-20251215174244",
3
+ "version": "1.7.0-canary-a0fc091c-20251217174017",
4
4
  "webpackVersion": "5.75.0",
5
5
  "license": "MIT",
6
6
  "description": "Rspack for running in the browser. This is still in early stage and may not follow the semver.",