@rspack-canary/browser 1.7.2-canary-4b68b9c2-20260107123726 → 1.7.2-canary-f4c77913-20260107173928

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.
@@ -22,4 +22,4 @@ export declare enum RequestType {
22
22
  CompilationGetAssetPath = "CompilationGetAssetPath",
23
23
  CompilationGetAssetPathWithInfo = "CompilationGetAssetPathWithInfo"
24
24
  }
25
- export declare function run(): Promise<void>;
25
+ export declare function run(): Promise<never>;
@@ -52,6 +52,11 @@ export type HtmlRspackPluginOptions = {
52
52
  * @default "auto"
53
53
  */
54
54
  chunksSortMode?: 'auto' | 'manual';
55
+ /**
56
+ * Configure the SRI hash algorithm, which is disabled by default.
57
+ * @deprecated Use `experiments.SubresourceIntegrityPlugin` instead.
58
+ */
59
+ sri?: 'sha256' | 'sha384' | 'sha512';
55
60
  /**
56
61
  * Controls whether to minify the output, disabled by default.
57
62
  */
@@ -10,7 +10,7 @@
10
10
  import type { HttpUriPluginOptions } from '../builtin-plugin';
11
11
  import type { Compilation } from '../Compilation';
12
12
  import type WebpackError from '../lib/WebpackError';
13
- import type { Amd, AssetModuleFilename, Bail, BundlerInfoOptions, CacheOptions, ChunkFilename, ChunkLoading, ChunkLoadingGlobal, Clean, Context, CrossOriginLoading, CssChunkFilename, CssFilename, Dependencies, DevServer, DevTool, DevtoolFallbackModuleFilenameTemplate, DevtoolModuleFilenameTemplate, DevtoolNamespace, EnabledLibraryTypes, EnabledWasmLoadingTypes, EntryDescription, Environment, Externals, ExternalsPresets, ExternalsType, Filename, GeneratorOptionsByModuleType, GlobalObject, HashDigest, HashDigestLength, HashFunction, HashSalt, HotUpdateChunkFilename, HotUpdateGlobal, HotUpdateMainFilename, Iife, ImportFunctionName, ImportMetaName, Incremental, InfrastructureLogging, LazyCompilationOptions, LibraryOptions, Loader, Mode, Name, Node, NoParseOption, Optimization, OutputModule, ParserOptionsByModuleType, Path, Performance, Plugins, Profile, PublicPath, Resolve, RspackOptions, RuleSetRules, ScriptType, SnapshotOptions, SourceMapFilename, StatsValue, StrictModuleErrorHandling, Target, TrustedTypes, UniqueName, WasmLoading, Watch, WatchOptions, WebassemblyModuleFilename, WorkerPublicPath } from './types';
13
+ import type { Amd, AssetModuleFilename, Bail, CacheOptions, ChunkFilename, ChunkLoading, ChunkLoadingGlobal, Clean, Context, CrossOriginLoading, CssChunkFilename, CssFilename, Dependencies, DevServer, DevTool, DevtoolFallbackModuleFilenameTemplate, DevtoolModuleFilenameTemplate, DevtoolNamespace, EnabledLibraryTypes, EnabledWasmLoadingTypes, EntryDescription, Environment, Externals, ExternalsPresets, ExternalsType, Filename, GeneratorOptionsByModuleType, GlobalObject, HashDigest, HashDigestLength, HashFunction, HashSalt, HotUpdateChunkFilename, HotUpdateGlobal, HotUpdateMainFilename, Iife, ImportFunctionName, ImportMetaName, Incremental, InfrastructureLogging, LazyCompilationOptions, LibraryOptions, Loader, Mode, Name, Node, NoParseOption, Optimization, OutputModule, ParserOptionsByModuleType, Path, Performance, Plugins, Profile, PublicPath, Resolve, RspackFutureOptions, RspackOptions, RuleSetRules, ScriptType, SnapshotOptions, SourceMapFilename, StatsValue, StrictModuleErrorHandling, Target, TrustedTypes, UniqueName, WasmLoading, Watch, WatchOptions, WebassemblyModuleFilename, WorkerPublicPath } from './types';
14
14
  export declare const getNormalizedRspackOptions: (config: RspackOptions) => RspackOptionsNormalized;
15
15
  export type EntryDynamicNormalized = () => Promise<EntryStaticNormalized>;
16
16
  export type EntryNormalized = EntryDynamicNormalized | EntryStaticNormalized;
@@ -66,9 +66,9 @@ export interface OutputNormalized {
66
66
  devtoolModuleFilenameTemplate?: DevtoolModuleFilenameTemplate;
67
67
  devtoolFallbackModuleFilenameTemplate?: DevtoolFallbackModuleFilenameTemplate;
68
68
  environment?: Environment;
69
+ charset?: boolean;
69
70
  chunkLoadTimeout?: number;
70
71
  compareBeforeEmit?: boolean;
71
- bundlerInfo?: BundlerInfoOptions;
72
72
  }
73
73
  export interface ModuleOptionsNormalized {
74
74
  defaultRules?: RuleSetRules;
@@ -112,7 +112,9 @@ export interface ExperimentsNormalized {
112
112
  layers?: boolean;
113
113
  incremental?: false | Incremental;
114
114
  futureDefaults?: boolean;
115
+ rspackFuture?: RspackFutureOptions;
115
116
  buildHttp?: HttpUriPluginOptions;
117
+ parallelLoader?: boolean;
116
118
  useInputFileSystem?: false | RegExp[];
117
119
  /**
118
120
  * @deprecated This option is deprecated, it's already stable and enabled by default, Rspack will remove this option in future version
@@ -499,16 +499,17 @@ export type Output = {
499
499
  * @default 120000
500
500
  * */
501
501
  chunkLoadTimeout?: number;
502
+ /**
503
+ * Add charset="utf-8" to the HTML <script> tag.
504
+ * @default true
505
+ * */
506
+ charset?: boolean;
502
507
  /** Tell Rspack what kind of ES-features may be used in the generated runtime-code. */
503
508
  environment?: Environment;
504
509
  /**
505
510
  * Check if to be emitted file already exists and have the same content before writing to output filesystem.
506
511
  */
507
512
  compareBeforeEmit?: boolean;
508
- /**
509
- * Information about the bundler.
510
- */
511
- bundlerInfo?: BundlerInfoOptions;
512
513
  };
513
514
  /**
514
515
  * Path alias
@@ -1936,21 +1937,26 @@ export type ExperimentCacheOptions = boolean | {
1936
1937
  };
1937
1938
  };
1938
1939
  /**
1939
- * Information about the bundler.
1940
+ * Options for future Rspack features.
1940
1941
  */
1941
- export type BundlerInfoOptions = {
1942
- /**
1943
- * Version of the bundler.
1944
- */
1945
- version?: string;
1942
+ export type RspackFutureOptions = {
1946
1943
  /**
1947
- * Name of the bundler.
1948
- */
1949
- bundler?: string;
1950
- /**
1951
- * Force specific features.
1944
+ * Information about the bundler.
1952
1945
  */
1953
- force?: boolean | ('version' | 'uniqueId')[];
1946
+ bundlerInfo?: {
1947
+ /**
1948
+ * Version of the bundler.
1949
+ */
1950
+ version?: string;
1951
+ /**
1952
+ * Name of the bundler.
1953
+ */
1954
+ bundler?: string;
1955
+ /**
1956
+ * Force specific features.
1957
+ */
1958
+ force?: boolean | ('version' | 'uniqueId')[];
1959
+ };
1954
1960
  };
1955
1961
  /**
1956
1962
  * Options for lazy compilation.
@@ -2129,11 +2135,20 @@ export type Experiments = {
2129
2135
  * @default false
2130
2136
  */
2131
2137
  futureDefaults?: boolean;
2138
+ /**
2139
+ * Enable future Rspack features default options.
2140
+ */
2141
+ rspackFuture?: RspackFutureOptions;
2132
2142
  /**
2133
2143
  * Enable loading of modules via HTTP/HTTPS requests.
2134
2144
  * @default false
2135
2145
  */
2136
2146
  buildHttp?: HttpUriOptions;
2147
+ /**
2148
+ * Enable parallel loader
2149
+ * @default false
2150
+ */
2151
+ parallelLoader?: boolean;
2137
2152
  /**
2138
2153
  * Enable Node.js input file system
2139
2154
  * @default false
package/dist/exports.d.ts CHANGED
@@ -147,6 +147,10 @@ interface Experiments {
147
147
  cleanup: () => Promise<void>;
148
148
  };
149
149
  RemoveDuplicateModulesPlugin: typeof RemoveDuplicateModulesPlugin;
150
+ /**
151
+ * @deprecated Use `rspack.SubresourceIntegrityPlugin` instead
152
+ */
153
+ SubresourceIntegrityPlugin: typeof SubresourceIntegrityPlugin;
150
154
  EsmLibraryPlugin: typeof EsmLibraryPlugin;
151
155
  RsdoctorPlugin: typeof RsdoctorPlugin;
152
156
  RstestPlugin: typeof RstestPlugin;
package/dist/index.mjs CHANGED
@@ -54370,8 +54370,8 @@ class ModuleWarning extends lib_WebpackError {
54370
54370
  this.details = getErrorDetails(err);
54371
54371
  }
54372
54372
  }
54373
- async function service_run() {
54374
- throw new Error('Not support browser');
54373
+ function service_run() {
54374
+ return Promise.reject(new Error('Not support browser'));
54375
54375
  }
54376
54376
  class LoadingLoaderError extends Error {
54377
54377
  constructor(message){
@@ -55091,7 +55091,7 @@ async function runLoaders(compiler, context) {
55091
55091
  }
55092
55092
  };
55093
55093
  };
55094
- const enableParallelism = (currentLoaderObject)=>currentLoaderObject?.parallel;
55094
+ const enableParallelism = (currentLoaderObject)=>compiler.options.experiments.parallelLoader && currentLoaderObject?.parallel;
55095
55095
  const isomorphoicRun = async (fn, args)=>{
55096
55096
  const currentLoaderObject = getCurrentLoader(loaderContext);
55097
55097
  const parallelism = enableParallelism(currentLoaderObject);
@@ -56166,6 +56166,7 @@ const HtmlRspackPluginImpl = base_create(external_rspack_wasi_browser_js_.Builti
56166
56166
  chunks: c.chunks,
56167
56167
  excludeChunks: c.excludeChunks,
56168
56168
  chunksSortMode,
56169
+ sri: c.sri,
56169
56170
  minify: c.minify,
56170
56171
  meta,
56171
56172
  scriptLoading,
@@ -56829,16 +56830,16 @@ class SubresourceIntegrityPlugin extends NativeSubresourceIntegrityPlugin {
56829
56830
  'async-node'
56830
56831
  ].includes(compiler.options.output.chunkLoading)) return;
56831
56832
  const hwpHooks = getHooks(compilation);
56832
- hwpHooks.beforeAssetTagGeneration.tapPromise(SubresourceIntegrityPlugin_PLUGIN_NAME, async (data)=>{
56833
+ hwpHooks.beforeAssetTagGeneration.tapPromise(SubresourceIntegrityPlugin_PLUGIN_NAME, (data)=>{
56833
56834
  self1.handleHwpPluginArgs(data);
56834
- return data;
56835
+ return Promise.resolve(data);
56835
56836
  });
56836
56837
  hwpHooks.alterAssetTagGroups.tapPromise({
56837
56838
  name: SubresourceIntegrityPlugin_PLUGIN_NAME,
56838
56839
  stage: 10000
56839
- }, async (data)=>{
56840
+ }, (data)=>{
56840
56841
  self1.handleHwpBodyTags(data, compiler.outputPath, compiler.options.output.crossOriginLoading);
56841
- return data;
56842
+ return Promise.resolve(data);
56842
56843
  });
56843
56844
  });
56844
56845
  }
@@ -58082,6 +58083,7 @@ const applyRspackOptionsDefaults = (options)=>{
58082
58083
  outputModule: options.experiments.outputModule,
58083
58084
  entry: options.entry
58084
58085
  });
58086
+ applybundlerInfoDefaults(options.experiments.rspackFuture, options.output.library);
58085
58087
  applyExternalsPresetsDefaults(options.externalsPresets, {
58086
58088
  targetProperties,
58087
58089
  buildHttp: Boolean(options.experiments.buildHttp)
@@ -58158,12 +58160,24 @@ const applyExperimentsDefaults = (experiments, { development })=>{
58158
58160
  D(experiments.incremental, 'chunksRender', true);
58159
58161
  D(experiments.incremental, 'emitAssets', true);
58160
58162
  }
58163
+ D(experiments, 'rspackFuture', {});
58164
+ D(experiments, 'parallelLoader', false);
58161
58165
  D(experiments, 'useInputFileSystem', false);
58162
58166
  D(experiments, 'inlineConst', true);
58163
58167
  D(experiments, 'inlineEnum', false);
58164
58168
  D(experiments, 'typeReexportsPresence', false);
58165
58169
  D(experiments, 'lazyBarrel', true);
58166
58170
  };
58171
+ const applybundlerInfoDefaults = (rspackFuture, library)=>{
58172
+ if ('object' == typeof rspackFuture) {
58173
+ D(rspackFuture, 'bundlerInfo', {});
58174
+ if ('object' == typeof rspackFuture.bundlerInfo) {
58175
+ D(rspackFuture.bundlerInfo, 'version', "1.7.2-canary-f4c77913-20260107173928");
58176
+ D(rspackFuture.bundlerInfo, 'bundler', 'rspack');
58177
+ D(rspackFuture.bundlerInfo, 'force', !library);
58178
+ }
58179
+ }
58180
+ };
58167
58181
  const applySnapshotDefaults = (_snapshot, _env)=>{};
58168
58182
  const applyJavascriptParserOptionsDefaults = (parserOptions, { deferImport })=>{
58169
58183
  D(parserOptions, 'dynamicImportMode', 'lazy');
@@ -58545,6 +58559,7 @@ const applyOutputDefaults = (output, { context, outputModule, targetProperties:
58545
58559
  D(output, 'workerPublicPath', '');
58546
58560
  D(output, 'sourceMapFilename', '[file].map[query]');
58547
58561
  F(output, "scriptType", ()=>output.module ? 'module' : false);
58562
+ D(output, 'charset', false);
58548
58563
  D(output, 'chunkLoadTimeout', 120000);
58549
58564
  const { trustedTypes } = output;
58550
58565
  if (trustedTypes) {
@@ -58581,12 +58596,6 @@ const applyOutputDefaults = (output, { context, outputModule, targetProperties:
58581
58596
  });
58582
58597
  return Array.from(enabledWasmLoadingTypes);
58583
58598
  });
58584
- D(output, 'bundlerInfo', {});
58585
- if ('object' == typeof output.bundlerInfo) {
58586
- D(output.bundlerInfo, 'version', "1.7.2-canary-4b68b9c2-20260107123726");
58587
- D(output.bundlerInfo, 'bundler', 'rspack');
58588
- D(output.bundlerInfo, 'force', !output.library);
58589
- }
58590
58599
  };
58591
58600
  const applyExternalsPresetsDefaults = (externalsPresets, { targetProperties, buildHttp })=>{
58592
58601
  D(externalsPresets, 'web', !buildHttp && targetProperties?.web);
@@ -58971,9 +58980,9 @@ const getNormalizedRspackOptions = (config)=>({
58971
58980
  devtoolModuleFilenameTemplate: output.devtoolModuleFilenameTemplate,
58972
58981
  devtoolFallbackModuleFilenameTemplate: output.devtoolFallbackModuleFilenameTemplate,
58973
58982
  chunkLoadTimeout: output.chunkLoadTimeout,
58983
+ charset: output.charset,
58974
58984
  environment: cloneObject(output.environment),
58975
- compareBeforeEmit: output.compareBeforeEmit,
58976
- bundlerInfo: output.bundlerInfo
58985
+ compareBeforeEmit: output.compareBeforeEmit
58977
58986
  };
58978
58987
  }),
58979
58988
  resolve: nestedConfig(config.resolve, (resolve)=>({
@@ -59082,6 +59091,7 @@ const getNormalizedRspackOptions = (config)=>({
59082
59091
  lazyCompilation: optionalNestedConfig(experiments.lazyCompilation, (options)=>true === options ? {} : options),
59083
59092
  incremental: optionalNestedConfig(experiments.incremental, (options)=>getNormalizedIncrementalOptions(options)),
59084
59093
  buildHttp: experiments.buildHttp,
59094
+ parallelLoader: experiments.parallelLoader,
59085
59095
  useInputFileSystem: experiments.useInputFileSystem
59086
59096
  };
59087
59097
  }),
@@ -59776,16 +59786,15 @@ class ThreadsafeIntermediateNodeFS extends ThreadsafeOutputNodeFS {
59776
59786
  });
59777
59787
  this.read = memoizeFn(()=>{
59778
59788
  const readFn = fs.read.bind(fs);
59779
- return async (fd, length, position)=>{
59780
- new Promise((resolve)=>{
59789
+ return (fd, length, position)=>new Promise((resolve, reject)=>{
59781
59790
  readFn(fd, {
59782
59791
  position,
59783
59792
  length
59784
59793
  }, (err, _bytesRead, buffer)=>{
59785
- err ? resolve(err) : resolve(buffer);
59794
+ if (err) reject(err);
59795
+ else resolve(buffer);
59786
59796
  });
59787
59797
  });
59788
- };
59789
59798
  });
59790
59799
  this.readUntil = memoizeFn(()=>async (fd, delim, position)=>{
59791
59800
  const res = [];
@@ -60431,7 +60440,7 @@ class MultiStats {
60431
60440
  return obj;
60432
60441
  });
60433
60442
  if (childOptions.version) {
60434
- obj.rspackVersion = "1.7.2-canary-4b68b9c2-20260107123726";
60443
+ obj.rspackVersion = "1.7.2-canary-f4c77913-20260107173928";
60435
60444
  obj.version = "5.75.0";
60436
60445
  }
60437
60446
  if (childOptions.hash) obj.hash = obj.children.map((j)=>j.hash).join('');
@@ -62263,7 +62272,7 @@ const SIMPLE_EXTRACTORS = {
62263
62272
  },
62264
62273
  version: (object)=>{
62265
62274
  object.version = "5.75.0";
62266
- object.rspackVersion = "1.7.2-canary-4b68b9c2-20260107123726";
62275
+ object.rspackVersion = "1.7.2-canary-f4c77913-20260107173928";
62267
62276
  },
62268
62277
  env: (object, _compilation, _context, { _env })=>{
62269
62278
  object.env = _env;
@@ -63912,7 +63921,7 @@ class RspackOptionsApply {
63912
63921
  assertNotNill(options.context);
63913
63922
  compiler.hooks.entryOption.call(options.context, options.entry);
63914
63923
  new RuntimePlugin().apply(compiler);
63915
- if (options.output.bundlerInfo) new BundlerInfoRspackPlugin(options.output.bundlerInfo).apply(compiler);
63924
+ if (options.experiments.rspackFuture.bundlerInfo) new BundlerInfoRspackPlugin(options.experiments.rspackFuture.bundlerInfo).apply(compiler);
63916
63925
  new InferAsyncModulesPlugin().apply(compiler);
63917
63926
  new APIPlugin().apply(compiler);
63918
63927
  new DataUriPlugin().apply(compiler);
@@ -66930,7 +66939,7 @@ function transformSync(source, options) {
66930
66939
  const _options = JSON.stringify(options || {});
66931
66940
  return external_rspack_wasi_browser_js_["default"].transformSync(source, _options);
66932
66941
  }
66933
- const exports_rspackVersion = "1.7.2-canary-4b68b9c2-20260107123726";
66942
+ const exports_rspackVersion = "1.7.2-canary-f4c77913-20260107173928";
66934
66943
  const exports_version = "5.75.0";
66935
66944
  const exports_WebpackError = Error;
66936
66945
  const sources = __webpack_require__("../../node_modules/.pnpm/webpack-sources@3.3.3_patch_hash=b2a26650f08a2359d0a3cd81fa6fa272aa7441a28dd7e601792da5ed5d2b4aee/node_modules/webpack-sources/lib/index.js");
@@ -66993,11 +67002,12 @@ const exports_experiments = {
66993
67002
  },
66994
67003
  async cleanup () {
66995
67004
  await trace_JavaScriptTracer.cleanupJavaScriptTrace();
66996
- await (0, external_rspack_wasi_browser_js_.syncTraceEvent)(trace_JavaScriptTracer.events);
67005
+ (0, external_rspack_wasi_browser_js_.syncTraceEvent)(trace_JavaScriptTracer.events);
66997
67006
  (0, external_rspack_wasi_browser_js_.cleanupGlobalTrace)();
66998
67007
  }
66999
67008
  },
67000
67009
  RemoveDuplicateModulesPlugin: RemoveDuplicateModulesPlugin,
67010
+ SubresourceIntegrityPlugin: SubresourceIntegrityPlugin,
67001
67011
  EsmLibraryPlugin: EsmLibraryPlugin,
67002
67012
  RsdoctorPlugin: RsdoctorPlugin,
67003
67013
  RstestPlugin: RstestPlugin,
@@ -2132,6 +2132,7 @@ export interface RawExperimentCacheOptionsPersistent {
2132
2132
  export interface RawExperiments {
2133
2133
  topLevelAwait: boolean
2134
2134
  incremental?: false | { [key: string]: boolean }
2135
+ rspackFuture?: RawRspackFuture
2135
2136
  cache: boolean | { type: "persistent" } & RawExperimentCacheOptionsPersistent | { type: "memory" }
2136
2137
  useInputFileSystem?: false | Array<RegExp>
2137
2138
  css?: boolean
@@ -2239,6 +2240,7 @@ export interface RawHtmlRspackPluginOptions {
2239
2240
  chunks?: Array<string>
2240
2241
  excludeChunks?: Array<string>
2241
2242
  chunksSortMode: "auto" | "manual"
2243
+ sri?: "sha256" | "sha384" | "sha512"
2242
2244
  minify?: boolean
2243
2245
  title?: string
2244
2246
  favicon?: string
@@ -2634,6 +2636,7 @@ export interface RawOutputOptions {
2634
2636
  module: boolean
2635
2637
  chunkLoading: string | false
2636
2638
  chunkLoadTimeout: number
2639
+ charset: boolean
2637
2640
  enabledChunkLoadingTypes?: Array<string>
2638
2641
  trustedTypes?: RawTrustedTypes
2639
2642
  sourceMapFilename: string
@@ -2778,11 +2781,16 @@ export interface RawRslibPluginOptions {
2778
2781
  forceNodeShims?: boolean
2779
2782
  }
2780
2783
 
2784
+ export interface RawRspackFuture {
2785
+
2786
+ }
2787
+
2781
2788
  export interface RawRstestPluginOptions {
2782
2789
  injectModulePathName: boolean
2783
2790
  importMetaPathName: boolean
2784
2791
  hoistMockModule: boolean
2785
2792
  manualMockRoot: string
2793
+ preserveNewUrl?: Array<string>
2786
2794
  }
2787
2795
 
2788
2796
  export interface RawRuleSetCondition {
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack-canary/browser",
3
- "version": "1.7.2-canary-4b68b9c2-20260107123726",
3
+ "version": "1.7.2-canary-f4c77913-20260107173928",
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.",