@rspack/core 1.4.9 → 1.4.10

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.
@@ -1,10 +1,11 @@
1
1
  import { type BuiltinPlugin, BuiltinPluginName } from "@rspack/binding";
2
- import type { Compiler, Externals } from "..";
2
+ import type { Externals } from "..";
3
3
  import { RspackBuiltinPlugin } from "./base";
4
4
  export declare class ExternalsPlugin extends RspackBuiltinPlugin {
5
+ #private;
5
6
  private type;
6
7
  private externals;
7
8
  name: BuiltinPluginName;
8
9
  constructor(type: string, externals: Externals);
9
- raw(compiler: Compiler): BuiltinPlugin | undefined;
10
+ raw(): BuiltinPlugin | undefined;
10
11
  }
package/dist/index.js CHANGED
@@ -4008,69 +4008,79 @@ Plugins which provide custom chunk loading types must call EnableChunkLoadingPlu
4008
4008
  type;
4009
4009
  externals;
4010
4010
  name = binding_.BuiltinPluginName.ExternalsPlugin;
4011
+ #resolveRequestCache = new Map();
4011
4012
  constructor(type, externals){
4012
4013
  super(), this.type = type, this.externals = externals;
4013
4014
  }
4014
- raw(compiler) {
4015
+ raw() {
4015
4016
  let { type, externals } = this, raw = {
4016
4017
  type,
4017
4018
  externals: (Array.isArray(externals) ? externals : [
4018
4019
  externals
4019
- ]).filter(Boolean).map((item)=>(function(compiler, item) {
4020
- if ("string" == typeof item || item instanceof RegExp) return item;
4021
- if ("function" == typeof item) return async (ctx)=>await new Promise((resolve, reject)=>{
4022
- let data = ctx.data(), promise = item({
4023
- request: data.request,
4024
- dependencyType: data.dependencyType,
4025
- context: data.context,
4026
- contextInfo: {
4027
- issuer: data.contextInfo.issuer,
4028
- issuerLayer: data.contextInfo.issuerLayer ?? null
4029
- },
4030
- getResolve (options) {
4031
- let rawResolve = options ? getRawResolve(options) : void 0, resolve = ctx.getResolve(rawResolve);
4032
- return (context, request, callback)=>{
4033
- if (!callback) return new Promise((res, rej)=>{
4034
- resolve(context, request, (error, text)=>{
4035
- if (error) rej(error);
4036
- else {
4037
- let req = text ? JSON.parse(text) : void 0;
4038
- res(req?.path);
4039
- }
4040
- });
4041
- });
4042
- resolve(context, request, (error, text)=>{
4043
- if (error) callback(error);
4044
- else {
4045
- let req = text ? JSON.parse(text) : void 0;
4046
- callback(null, req?.path ?? !1, req);
4047
- }
4048
- });
4049
- };
4050
- }
4051
- }, (err, result, type)=>{
4052
- err && reject(err), resolve({
4053
- result: getRawExternalItemValueFormFnResult(result),
4054
- externalType: type
4055
- });
4056
- });
4057
- promise?.then ? promise.then((result)=>resolve({
4058
- result: getRawExternalItemValueFormFnResult(result),
4059
- externalType: void 0
4060
- }), (e)=>reject(e)) : 1 === item.length && resolve({
4061
- result: getRawExternalItemValueFormFnResult(promise),
4062
- externalType: void 0
4063
- });
4064
- });
4065
- if ("object" == typeof item) return Object.fromEntries(Object.entries(item).map(([k, v])=>[
4066
- k,
4067
- getRawExternalItemValue(v)
4068
- ]));
4069
- throw TypeError(`Unexpected type of external item: ${typeof item}`);
4070
- })(0, item))
4020
+ ]).filter(Boolean).map((item)=>this.#getRawExternalItem(item))
4071
4021
  };
4072
4022
  return createBuiltinPlugin(this.name, raw);
4073
4023
  }
4024
+ #processResolveResult = (text)=>{
4025
+ if (!text) return;
4026
+ let resolveRequest = this.#resolveRequestCache.get(text);
4027
+ return resolveRequest || (resolveRequest = JSON.parse(text), this.#resolveRequestCache.set(text, resolveRequest)), Object.assign({}, resolveRequest);
4028
+ };
4029
+ #getRawExternalItem = (item)=>{
4030
+ if ("string" == typeof item || item instanceof RegExp) return item;
4031
+ if ("function" == typeof item) {
4032
+ let processResolveResult = this.#processResolveResult;
4033
+ return async (ctx)=>await new Promise((resolve, reject)=>{
4034
+ let data = ctx.data(), promise = item({
4035
+ request: data.request,
4036
+ dependencyType: data.dependencyType,
4037
+ context: data.context,
4038
+ contextInfo: {
4039
+ issuer: data.contextInfo.issuer,
4040
+ issuerLayer: data.contextInfo.issuerLayer ?? null
4041
+ },
4042
+ getResolve (options) {
4043
+ let rawResolve = options ? getRawResolve(options) : void 0, resolve = ctx.getResolve(rawResolve);
4044
+ return (context, request, callback)=>{
4045
+ if (!callback) return new Promise((promiseResolve, promiseReject)=>{
4046
+ resolve(context, request, (error, text)=>{
4047
+ if (error) promiseReject(error);
4048
+ else {
4049
+ let req = processResolveResult(text);
4050
+ promiseResolve(req?.path);
4051
+ }
4052
+ });
4053
+ });
4054
+ resolve(context, request, (error, text)=>{
4055
+ if (error) callback(error);
4056
+ else {
4057
+ let req = processResolveResult(text);
4058
+ callback(null, req?.path ?? !1, req);
4059
+ }
4060
+ });
4061
+ };
4062
+ }
4063
+ }, (err, result, type)=>{
4064
+ err && reject(err), resolve({
4065
+ result: getRawExternalItemValueFormFnResult(result),
4066
+ externalType: type
4067
+ });
4068
+ });
4069
+ promise?.then ? promise.then((result)=>resolve({
4070
+ result: getRawExternalItemValueFormFnResult(result),
4071
+ externalType: void 0
4072
+ }), (e)=>reject(e)) : 1 === item.length && resolve({
4073
+ result: getRawExternalItemValueFormFnResult(promise),
4074
+ externalType: void 0
4075
+ });
4076
+ });
4077
+ }
4078
+ if ("object" == typeof item) return Object.fromEntries(Object.entries(item).map(([k, v])=>[
4079
+ k,
4080
+ getRawExternalItemValue(v)
4081
+ ]));
4082
+ throw TypeError(`Unexpected type of external item: ${typeof item}`);
4083
+ };
4074
4084
  }
4075
4085
  function getRawExternalItemValueFormFnResult(result) {
4076
4086
  return void 0 === result ? result : getRawExternalItemValue(result);
@@ -8607,7 +8617,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
8607
8617
  }, applyExperimentsDefaults = (experiments, { production, development })=>{
8608
8618
  defaults_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, "layers", !1), D(experiments, "topLevelAwait", !0), 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", !0), 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", !0), D(experiments, "parallelLoader", !1), D(experiments, "useInputFileSystem", !1), D(experiments, "inlineConst", !1), D(experiments, "inlineEnum", !1), D(experiments, "typeReexportsPresence", !1);
8609
8619
  }, applybundlerInfoDefaults = (rspackFuture, library)=>{
8610
- "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.4.9"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
8620
+ "object" == typeof rspackFuture && (D(rspackFuture, "bundlerInfo", {}), "object" == typeof rspackFuture.bundlerInfo && (D(rspackFuture.bundlerInfo, "version", "1.4.10"), D(rspackFuture.bundlerInfo, "bundler", "rspack"), D(rspackFuture.bundlerInfo, "force", !library)));
8611
8621
  }, applySnapshotDefaults = (_snapshot, _env)=>{}, applyModuleDefaults = (module, { asyncWebAssembly, css, targetProperties, mode, uniqueName })=>{
8612
8622
  var parserOptions;
8613
8623
  if (assertNotNill(module.parser), assertNotNill(module.generator), defaults_F(module.parser, "asset", ()=>({})), assertNotNill(module.parser.asset), defaults_F(module.parser.asset, "dataUrlCondition", ()=>({})), "object" == typeof module.parser.asset.dataUrlCondition && D(module.parser.asset.dataUrlCondition, "maxSize", 8096), defaults_F(module.parser, "javascript", ()=>({})), assertNotNill(module.parser.javascript), D(parserOptions = module.parser.javascript, "dynamicImportMode", "lazy"), D(parserOptions, "dynamicImportPrefetch", !1), D(parserOptions, "dynamicImportPreload", !1), D(parserOptions, "url", !0), D(parserOptions, "exprContextCritical", !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, "importDynamic", !0), D(parserOptions, "worker", [
@@ -10237,7 +10247,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
10237
10247
  });
10238
10248
  }
10239
10249
  }
10240
- let CORE_VERSION = "1.4.9", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
10250
+ let CORE_VERSION = "1.4.10", bindingVersionCheck_errorMessage = (coreVersion, expectedCoreVersion)=>process.env.RSPACK_BINDING ? `Unmatched version @rspack/core@${coreVersion} and binding version.
10241
10251
 
10242
10252
  Help:
10243
10253
  Looks like you are using a custom binding (via environment variable 'RSPACK_BINDING=${process.env.RSPACK_BINDING}').
@@ -11115,18 +11125,7 @@ Help:
11115
11125
  return getCompiler2().__internal__get_compilation_params().normalModuleFactory.hooks.afterResolve;
11116
11126
  }, function(queried) {
11117
11127
  return async function(arg) {
11118
- let data = {
11119
- contextInfo: {
11120
- issuer: arg.issuer,
11121
- issuerLayer: arg.issuerLayer ?? null
11122
- },
11123
- request: arg.request,
11124
- context: arg.context,
11125
- fileDependencies: arg.fileDependencies,
11126
- missingDependencies: arg.missingDependencies,
11127
- contextDependencies: arg.contextDependencies,
11128
- createData: arg.createData
11129
- };
11128
+ let data = JSON.parse(arg);
11130
11129
  return [
11131
11130
  await queried.promise(data),
11132
11131
  data.createData
@@ -11446,7 +11445,7 @@ Help:
11446
11445
  obj.children = this.stats.map((stat, idx)=>{
11447
11446
  let obj = stat.toJson(childOptions.children[idx]), compilationName = stat.compilation.name;
11448
11447
  return obj.name = compilationName && makePathsRelative(childOptions.context, compilationName, stat.compilation.compiler.root), obj;
11449
- }), childOptions.version && (obj.rspackVersion = "1.4.9", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
11448
+ }), childOptions.version && (obj.rspackVersion = "1.4.10", obj.version = "5.75.0"), childOptions.hash && (obj.hash = obj.children.map((j)=>j.hash).join(""));
11450
11449
  let mapError = (j, obj)=>({
11451
11450
  ...obj,
11452
11451
  compilerPath: obj.compilerPath ? `${j.name}.${obj.compilerPath}` : j.name
@@ -12346,7 +12345,7 @@ Help:
12346
12345
  object.hash = context.getStatsCompilation(compilation).hash;
12347
12346
  },
12348
12347
  version: (object)=>{
12349
- object.version = "5.75.0", object.rspackVersion = "1.4.9";
12348
+ object.version = "5.75.0", object.rspackVersion = "1.4.10";
12350
12349
  },
12351
12350
  env: (object, _compilation, _context, { _env })=>{
12352
12351
  object.env = _env;
@@ -15746,7 +15745,7 @@ Help:
15746
15745
  let _options = JSON.stringify(options || {});
15747
15746
  return binding_default().transform(source, _options);
15748
15747
  }
15749
- let exports_rspackVersion = "1.4.9", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
15748
+ let exports_rspackVersion = "1.4.10", exports_version = "5.75.0", exports_WebpackError = Error, sources = __webpack_require__("webpack-sources"), exports_config = {
15750
15749
  getNormalizedRspackOptions: getNormalizedRspackOptions,
15751
15750
  applyRspackOptionsDefaults: applyRspackOptionsDefaults,
15752
15751
  getNormalizedWebpackOptions: getNormalizedRspackOptions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rspack/core",
3
- "version": "1.4.9",
3
+ "version": "1.4.10",
4
4
  "webpackVersion": "5.75.0",
5
5
  "license": "MIT",
6
6
  "description": "The fast Rust-based web bundler with webpack-compatible API",
@@ -37,7 +37,7 @@
37
37
  "directory": "packages/rspack"
38
38
  },
39
39
  "devDependencies": {
40
- "@ast-grep/napi": "^0.38.7",
40
+ "@ast-grep/napi": "^0.39.1",
41
41
  "@rsbuild/core": "^1.4.6",
42
42
  "@rslib/core": "0.10.5",
43
43
  "@swc/types": "0.1.23",
@@ -60,7 +60,7 @@
60
60
  "dependencies": {
61
61
  "@module-federation/runtime-tools": "0.17.0",
62
62
  "@rspack/lite-tapable": "1.0.1",
63
- "@rspack/binding": "1.4.9"
63
+ "@rspack/binding": "1.4.10"
64
64
  },
65
65
  "peerDependencies": {
66
66
  "@swc/helpers": ">=0.5.1"