@rspack/core 0.3.1 → 0.3.2

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.
Files changed (228) hide show
  1. package/dist/Compilation.d.ts.map +1 -1
  2. package/dist/Compilation.js +2 -0
  3. package/dist/Compilation.js.map +1 -1
  4. package/dist/Compiler.d.ts +3 -0
  5. package/dist/Compiler.d.ts.map +1 -1
  6. package/dist/Compiler.js +75 -31
  7. package/dist/Compiler.js.map +1 -1
  8. package/dist/Stats.d.ts +1 -1
  9. package/dist/Stats.d.ts.map +1 -1
  10. package/dist/Stats.js +2 -1
  11. package/dist/Stats.js.map +1 -1
  12. package/dist/builtin-plugin/BannerPlugin.d.ts +20 -0
  13. package/dist/builtin-plugin/BannerPlugin.d.ts.map +1 -0
  14. package/dist/builtin-plugin/BannerPlugin.js +43 -0
  15. package/dist/builtin-plugin/BannerPlugin.js.map +1 -0
  16. package/dist/builtin-plugin/CopyPlugin.d.ts +13 -0
  17. package/dist/builtin-plugin/CopyPlugin.d.ts.map +1 -0
  18. package/dist/builtin-plugin/CopyPlugin.js +21 -0
  19. package/dist/builtin-plugin/CopyPlugin.js.map +1 -0
  20. package/dist/builtin-plugin/DefinePlugin.d.ts +8 -0
  21. package/dist/builtin-plugin/DefinePlugin.d.ts.map +1 -0
  22. package/dist/builtin-plugin/DefinePlugin.js +13 -0
  23. package/dist/builtin-plugin/DefinePlugin.js.map +1 -0
  24. package/dist/builtin-plugin/ElectronTargetPlugin.d.ts +7 -0
  25. package/dist/builtin-plugin/ElectronTargetPlugin.d.ts.map +1 -0
  26. package/dist/builtin-plugin/ElectronTargetPlugin.js +5 -0
  27. package/dist/builtin-plugin/ElectronTargetPlugin.js.map +1 -0
  28. package/dist/builtin-plugin/EntryPlugin.d.ts +18 -0
  29. package/dist/builtin-plugin/EntryPlugin.d.ts.map +1 -0
  30. package/dist/builtin-plugin/EntryPlugin.js +24 -0
  31. package/dist/builtin-plugin/EntryPlugin.js.map +1 -0
  32. package/dist/builtin-plugin/ExternalsPlugin.d.ts +24 -0
  33. package/dist/builtin-plugin/ExternalsPlugin.d.ts.map +1 -0
  34. package/dist/builtin-plugin/ExternalsPlugin.js +63 -0
  35. package/dist/builtin-plugin/ExternalsPlugin.js.map +1 -0
  36. package/dist/builtin-plugin/HtmlPlugin.d.ts +72 -0
  37. package/dist/builtin-plugin/HtmlPlugin.d.ts.map +1 -0
  38. package/dist/builtin-plugin/HtmlPlugin.js +39 -0
  39. package/dist/builtin-plugin/HtmlPlugin.js.map +1 -0
  40. package/dist/builtin-plugin/HttpExternalsPlugin.d.ts +8 -0
  41. package/dist/builtin-plugin/HttpExternalsPlugin.d.ts.map +1 -0
  42. package/dist/builtin-plugin/HttpExternalsPlugin.js +9 -0
  43. package/dist/builtin-plugin/HttpExternalsPlugin.js.map +1 -0
  44. package/dist/builtin-plugin/NodeTargetPlugin.d.ts +7 -0
  45. package/dist/builtin-plugin/NodeTargetPlugin.d.ts.map +1 -0
  46. package/dist/builtin-plugin/NodeTargetPlugin.js +5 -0
  47. package/dist/builtin-plugin/NodeTargetPlugin.js.map +1 -0
  48. package/dist/builtin-plugin/ProgressPlugin.d.ts +9 -0
  49. package/dist/builtin-plugin/ProgressPlugin.d.ts.map +1 -0
  50. package/dist/builtin-plugin/ProgressPlugin.js +5 -0
  51. package/dist/builtin-plugin/ProgressPlugin.js.map +1 -0
  52. package/dist/builtin-plugin/ProvidePlugin.d.ts +8 -0
  53. package/dist/builtin-plugin/ProvidePlugin.d.ts.map +1 -0
  54. package/dist/builtin-plugin/ProvidePlugin.js +13 -0
  55. package/dist/builtin-plugin/ProvidePlugin.js.map +1 -0
  56. package/dist/builtin-plugin/SwcCssMinimizerPlugin.d.ts +7 -0
  57. package/dist/builtin-plugin/SwcCssMinimizerPlugin.d.ts.map +1 -0
  58. package/dist/builtin-plugin/SwcCssMinimizerPlugin.js +5 -0
  59. package/dist/builtin-plugin/SwcCssMinimizerPlugin.js.map +1 -0
  60. package/dist/builtin-plugin/SwcJsMinimizerPlugin.d.ts +22 -0
  61. package/dist/builtin-plugin/SwcJsMinimizerPlugin.d.ts.map +1 -0
  62. package/dist/builtin-plugin/SwcJsMinimizerPlugin.js +46 -0
  63. package/dist/builtin-plugin/SwcJsMinimizerPlugin.js.map +1 -0
  64. package/dist/builtin-plugin/base.d.ts +28 -0
  65. package/dist/builtin-plugin/base.d.ts.map +1 -0
  66. package/dist/builtin-plugin/base.js +43 -0
  67. package/dist/builtin-plugin/base.js.map +1 -0
  68. package/dist/builtin-plugin/index.d.ts +65 -0
  69. package/dist/builtin-plugin/index.d.ts.map +1 -0
  70. package/dist/builtin-plugin/index.js +240 -0
  71. package/dist/builtin-plugin/index.js.map +1 -0
  72. package/dist/config/adapter.d.ts +2 -1
  73. package/dist/config/adapter.d.ts.map +1 -1
  74. package/dist/config/adapter.js +70 -101
  75. package/dist/config/adapter.js.map +1 -1
  76. package/dist/config/adapterRuleUse.d.ts +1 -1
  77. package/dist/config/adapterRuleUse.d.ts.map +1 -1
  78. package/dist/config/defaults.d.ts +1 -1
  79. package/dist/config/defaults.d.ts.map +1 -1
  80. package/dist/config/defaults.js +13 -34
  81. package/dist/config/defaults.js.map +1 -1
  82. package/dist/config/index.d.ts +1 -2
  83. package/dist/config/index.d.ts.map +1 -1
  84. package/dist/config/index.js +1 -32
  85. package/dist/config/index.js.map +1 -1
  86. package/dist/config/normalization.d.ts +103 -1
  87. package/dist/config/normalization.d.ts.map +1 -1
  88. package/dist/config/normalization.js +3 -3
  89. package/dist/config/normalization.js.map +1 -1
  90. package/dist/config/target.d.ts +5 -1
  91. package/dist/config/target.d.ts.map +1 -1
  92. package/dist/config/target.js +4 -0
  93. package/dist/config/target.js.map +1 -1
  94. package/dist/config/zod.d.ts +3929 -0
  95. package/dist/config/zod.d.ts.map +1 -0
  96. package/dist/config/zod.js +648 -0
  97. package/dist/config/zod.js.map +1 -0
  98. package/dist/index.d.ts +20 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +14 -1
  101. package/dist/index.js.map +1 -1
  102. package/dist/lib/EntryOptionPlugin.d.ts +16 -0
  103. package/dist/lib/EntryOptionPlugin.d.ts.map +1 -0
  104. package/dist/lib/EntryOptionPlugin.js +75 -0
  105. package/dist/lib/EntryOptionPlugin.js.map +1 -0
  106. package/dist/lib/EnvironmentPlugin.d.ts.map +1 -1
  107. package/dist/lib/EnvironmentPlugin.js +2 -7
  108. package/dist/lib/EnvironmentPlugin.js.map +1 -1
  109. package/dist/loader-runner/index.js.map +1 -1
  110. package/dist/rspack.d.ts.map +1 -1
  111. package/dist/rspack.js +2 -6
  112. package/dist/rspack.js.map +1 -1
  113. package/dist/rspackOptionsApply.d.ts.map +1 -1
  114. package/dist/rspackOptionsApply.js +52 -10
  115. package/dist/rspackOptionsApply.js.map +1 -1
  116. package/dist/stats/DefaultStatsFactoryPlugin.d.ts.map +1 -1
  117. package/dist/stats/DefaultStatsFactoryPlugin.js +1 -1
  118. package/dist/stats/DefaultStatsFactoryPlugin.js.map +1 -1
  119. package/dist/util/comparators.d.ts +1 -1
  120. package/dist/util/index.d.ts +10 -0
  121. package/dist/util/index.d.ts.map +1 -1
  122. package/dist/util/index.js +13 -1
  123. package/dist/util/index.js.map +1 -1
  124. package/dist/util/validate.d.ts +2 -0
  125. package/dist/util/validate.d.ts.map +1 -0
  126. package/dist/util/validate.js +32 -0
  127. package/dist/util/validate.js.map +1 -0
  128. package/package.json +9 -9
  129. package/dist/config/builtins.d.ts +0 -99
  130. package/dist/config/builtins.d.ts.map +0 -1
  131. package/dist/config/builtins.js +0 -356
  132. package/dist/config/builtins.js.map +0 -1
  133. package/dist/config/schema.check.d.ts +0 -10
  134. package/dist/config/schema.check.d.ts.map +0 -1
  135. package/dist/config/schema.check.js +0 -10576
  136. package/dist/config/schema.check.js.map +0 -1
  137. package/dist/config/schema.d.ts +0 -2717
  138. package/dist/config/schema.d.ts.map +0 -1
  139. package/dist/config/schema.js +0 -2200
  140. package/dist/config/schema.js.map +0 -1
  141. package/dist/config/types.d.ts +0 -484
  142. package/dist/config/types.d.ts.map +0 -1
  143. package/dist/config/types.js +0 -11
  144. package/dist/config/types.js.map +0 -1
  145. package/dist/config/zod/_rewrite.d.ts +0 -12
  146. package/dist/config/zod/_rewrite.d.ts.map +0 -1
  147. package/dist/config/zod/_rewrite.js +0 -2
  148. package/dist/config/zod/_rewrite.js.map +0 -1
  149. package/dist/config/zod/builtins.d.ts +0 -167
  150. package/dist/config/zod/builtins.d.ts.map +0 -1
  151. package/dist/config/zod/builtins.js +0 -47
  152. package/dist/config/zod/builtins.js.map +0 -1
  153. package/dist/config/zod/devtool.d.ts +0 -2
  154. package/dist/config/zod/devtool.d.ts.map +0 -1
  155. package/dist/config/zod/devtool.js +0 -34
  156. package/dist/config/zod/devtool.js.map +0 -1
  157. package/dist/config/zod/entry.d.ts +0 -29
  158. package/dist/config/zod/entry.d.ts.map +0 -1
  159. package/dist/config/zod/entry.js +0 -35
  160. package/dist/config/zod/entry.js.map +0 -1
  161. package/dist/config/zod/experiments.d.ts +0 -38
  162. package/dist/config/zod/experiments.d.ts.map +0 -1
  163. package/dist/config/zod/experiments.js +0 -21
  164. package/dist/config/zod/experiments.js.map +0 -1
  165. package/dist/config/zod/externals-presets.d.ts +0 -23
  166. package/dist/config/zod/externals-presets.d.ts.map +0 -1
  167. package/dist/config/zod/externals-presets.js +0 -17
  168. package/dist/config/zod/externals-presets.js.map +0 -1
  169. package/dist/config/zod/externals-type.d.ts +0 -2
  170. package/dist/config/zod/externals-type.d.ts.map +0 -1
  171. package/dist/config/zod/externals-type.js +0 -30
  172. package/dist/config/zod/externals-type.js.map +0 -1
  173. package/dist/config/zod/externals.d.ts +0 -2
  174. package/dist/config/zod/externals.d.ts.map +0 -1
  175. package/dist/config/zod/externals.js +0 -13
  176. package/dist/config/zod/externals.js.map +0 -1
  177. package/dist/config/zod/index.d.ts +0 -1708
  178. package/dist/config/zod/index.d.ts.map +0 -1
  179. package/dist/config/zod/index.js +0 -58
  180. package/dist/config/zod/index.js.map +0 -1
  181. package/dist/config/zod/infrastructure-logging.d.ts +0 -23
  182. package/dist/config/zod/infrastructure-logging.d.ts.map +0 -1
  183. package/dist/config/zod/infrastructure-logging.js +0 -19
  184. package/dist/config/zod/infrastructure-logging.js.map +0 -1
  185. package/dist/config/zod/module.d.ts +0 -0
  186. package/dist/config/zod/module.d.ts.map +0 -1
  187. package/dist/config/zod/module.js +0 -1
  188. package/dist/config/zod/module.js.map +0 -1
  189. package/dist/config/zod/node.d.ts +0 -14
  190. package/dist/config/zod/node.d.ts.map +0 -1
  191. package/dist/config/zod/node.js +0 -23
  192. package/dist/config/zod/node.js.map +0 -1
  193. package/dist/config/zod/optimization/index.d.ts +0 -257
  194. package/dist/config/zod/optimization/index.d.ts.map +0 -1
  195. package/dist/config/zod/optimization/index.js +0 -32
  196. package/dist/config/zod/optimization/index.js.map +0 -1
  197. package/dist/config/zod/optimization/split-chunks.d.ts +0 -184
  198. package/dist/config/zod/optimization/split-chunks.d.ts.map +0 -1
  199. package/dist/config/zod/optimization/split-chunks.js +0 -48
  200. package/dist/config/zod/optimization/split-chunks.js.map +0 -1
  201. package/dist/config/zod/output.d.ts +0 -275
  202. package/dist/config/zod/output.d.ts.map +0 -1
  203. package/dist/config/zod/output.js +0 -132
  204. package/dist/config/zod/output.js.map +0 -1
  205. package/dist/config/zod/plugins.d.ts +0 -12
  206. package/dist/config/zod/plugins.d.ts.map +0 -1
  207. package/dist/config/zod/plugins.js +0 -18
  208. package/dist/config/zod/plugins.js.map +0 -1
  209. package/dist/config/zod/resolve.d.ts +0 -49
  210. package/dist/config/zod/resolve.d.ts.map +0 -1
  211. package/dist/config/zod/resolve.js +0 -29
  212. package/dist/config/zod/resolve.js.map +0 -1
  213. package/dist/config/zod/snapshot.d.ts +0 -41
  214. package/dist/config/zod/snapshot.d.ts.map +0 -1
  215. package/dist/config/zod/snapshot.js +0 -21
  216. package/dist/config/zod/snapshot.js.map +0 -1
  217. package/dist/config/zod/stats.d.ts +0 -71
  218. package/dist/config/zod/stats.d.ts.map +0 -1
  219. package/dist/config/zod/stats.js +0 -36
  220. package/dist/config/zod/stats.js.map +0 -1
  221. package/dist/config/zod/target.d.ts +0 -2
  222. package/dist/config/zod/target.d.ts.map +0 -1
  223. package/dist/config/zod/target.js +0 -39
  224. package/dist/config/zod/target.js.map +0 -1
  225. package/dist/config/zod/watch-options.d.ts +0 -20
  226. package/dist/config/zod/watch-options.d.ts.map +0 -1
  227. package/dist/config/zod/watch-options.js +0 -21
  228. package/dist/config/zod/watch-options.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create = exports.RspackBuiltinPlugin = exports.BuiltinPluginKind = void 0;
4
+ // TODO: workaround for https://github.com/napi-rs/napi-rs/pull/1690
5
+ var BuiltinPluginKind;
6
+ (function (BuiltinPluginKind) {
7
+ BuiltinPluginKind["Define"] = "Define";
8
+ BuiltinPluginKind["Provide"] = "Provide";
9
+ BuiltinPluginKind["Banner"] = "Banner";
10
+ BuiltinPluginKind["Progress"] = "Progress";
11
+ BuiltinPluginKind["Copy"] = "Copy";
12
+ BuiltinPluginKind["Html"] = "Html";
13
+ BuiltinPluginKind["SwcJsMinimizer"] = "SwcJsMinimizer";
14
+ BuiltinPluginKind["SwcCssMinimizer"] = "SwcCssMinimizer";
15
+ BuiltinPluginKind["Entry"] = "Entry";
16
+ BuiltinPluginKind["Externals"] = "Externals";
17
+ BuiltinPluginKind["NodeTarget"] = "NodeTarget";
18
+ BuiltinPluginKind["ElectronTarget"] = "ElectronTarget";
19
+ BuiltinPluginKind["HttpExternals"] = "HttpExternals";
20
+ })(BuiltinPluginKind = exports.BuiltinPluginKind || (exports.BuiltinPluginKind = {}));
21
+ class RspackBuiltinPlugin {
22
+ apply(compiler) {
23
+ compiler.__internal__registerBuiltinPlugin(this);
24
+ }
25
+ }
26
+ exports.RspackBuiltinPlugin = RspackBuiltinPlugin;
27
+ function create(kind, resolve) {
28
+ return class Plugin extends RspackBuiltinPlugin {
29
+ constructor(...args) {
30
+ var _a;
31
+ super();
32
+ this._options =
33
+ (_a = resolve(...args)) !== null && _a !== void 0 ? _a : false /* undefined or null will cause napi error, so false for fallback */;
34
+ }
35
+ raw() {
36
+ return {
37
+ kind: kind,
38
+ options: this._options
39
+ };
40
+ }
41
+ };
42
+ }
43
+ exports.create = create;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/builtin-plugin/base.ts"],"names":[],"mappings":";;;AAGA,oEAAoE;AACpE,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IAC5B,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,kCAAa,CAAA;IACb,sDAAiC,CAAA;IACjC,wDAAmC,CAAA;IACnC,oCAAe,CAAA;IACf,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;IACzB,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;AAChC,CAAC,EAdW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAc5B;AAED,MAAsB,mBAAmB;IAExC,KAAK,CAAC,QAAkB;QACvB,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CACD;AALD,kDAKC;AAED,SAAgB,MAAM,CACrB,IAAuB,EACvB,OAA0B;IAE1B,OAAO,MAAM,MAAO,SAAQ,mBAAmB;QAG9C,YAAY,GAAG,IAAO;;YACrB,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,QAAQ;gBACZ,MAAA,OAAO,CAAC,GAAG,IAAI,CAAC,mCACf,KAAW,CAAC,oEAAoE,CAAC;QACpF,CAAC;QAED,GAAG;YACF,OAAO;gBACN,IAAI,EAAE,IAAW;gBACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;aACtB,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC;AArBD,wBAqBC"}
@@ -0,0 +1,65 @@
1
+ export { RspackBuiltinPlugin } from "./base";
2
+ export * from "./DefinePlugin";
3
+ export * from "./ProvidePlugin";
4
+ export * from "./BannerPlugin";
5
+ export * from "./ProgressPlugin";
6
+ export * from "./EntryPlugin";
7
+ export * from "./ExternalsPlugin";
8
+ export * from "./NodeTargetPlugin";
9
+ export * from "./ElectronTargetPlugin";
10
+ export * from "./HttpExternalsPlugin";
11
+ export * from "./HtmlPlugin";
12
+ export * from "./CopyPlugin";
13
+ export * from "./SwcJsMinimizerPlugin";
14
+ export * from "./SwcCssMinimizerPlugin";
15
+ import { RawDecoratorOptions, RawPresetEnv, RawProgressPluginConfig, RawReactOptions, RawRelayConfig, RawBuiltins, RawCssModulesConfig } from "@rspack/binding";
16
+ import { Compiler, RspackOptionsNormalized } from "..";
17
+ import { HtmlPluginOptions, SwcJsMinimizerPluginOptions, CopyPluginOptions, BannerPluginOptions } from ".";
18
+ type BuiltinsCssConfig = {
19
+ modules?: Partial<RawCssModulesConfig>;
20
+ };
21
+ type EmotionConfigImportMap = {
22
+ [packageName: string]: {
23
+ [exportName: string]: {
24
+ canonicalImport?: [string, string];
25
+ };
26
+ };
27
+ };
28
+ type EmotionConfig = {
29
+ sourceMap?: boolean;
30
+ autoLabel?: "never" | "dev-only" | "always";
31
+ labelFormat?: string;
32
+ importMap?: EmotionConfigImportMap;
33
+ };
34
+ type PluginImportConfig = {
35
+ libraryName: string;
36
+ libraryDirectory?: string;
37
+ customName?: string;
38
+ customStyleName?: string;
39
+ style?: string | boolean;
40
+ styleLibraryDirectory?: string;
41
+ camelToDashComponentName?: boolean;
42
+ transformToDefaultImport?: boolean;
43
+ ignoreEsComponent?: Array<string>;
44
+ ignoreStyleComponent?: Array<string>;
45
+ };
46
+ export interface Builtins {
47
+ css?: BuiltinsCssConfig;
48
+ treeShaking?: boolean | "module";
49
+ progress?: boolean | RawProgressPluginConfig;
50
+ react?: RawReactOptions;
51
+ noEmitAssets?: boolean;
52
+ define?: Record<string, string | boolean | undefined>;
53
+ provide?: Record<string, string | string[]>;
54
+ html?: Array<HtmlPluginOptions>;
55
+ decorator?: boolean | Partial<RawDecoratorOptions>;
56
+ minifyOptions?: SwcJsMinimizerPluginOptions;
57
+ emotion?: boolean | EmotionConfig;
58
+ presetEnv?: Partial<RawPresetEnv>;
59
+ devFriendlySplitChunks?: boolean;
60
+ copy?: CopyPluginOptions;
61
+ banner?: BannerPluginOptions | BannerPluginOptions[];
62
+ pluginImport?: PluginImportConfig[];
63
+ relay?: boolean | RawRelayConfig;
64
+ }
65
+ export declare function deprecated_resolveBuiltins(builtins: Builtins, options: RspackOptionsNormalized, compiler: Compiler): RawBuiltins;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builtin-plugin/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.deprecated_resolveBuiltins = exports.RspackBuiltinPlugin = void 0;
21
+ var base_1 = require("./base");
22
+ Object.defineProperty(exports, "RspackBuiltinPlugin", { enumerable: true, get: function () { return base_1.RspackBuiltinPlugin; } });
23
+ __exportStar(require("./DefinePlugin"), exports);
24
+ __exportStar(require("./ProvidePlugin"), exports);
25
+ __exportStar(require("./BannerPlugin"), exports);
26
+ __exportStar(require("./ProgressPlugin"), exports);
27
+ __exportStar(require("./EntryPlugin"), exports);
28
+ __exportStar(require("./ExternalsPlugin"), exports);
29
+ __exportStar(require("./NodeTargetPlugin"), exports);
30
+ __exportStar(require("./ElectronTargetPlugin"), exports);
31
+ __exportStar(require("./HttpExternalsPlugin"), exports);
32
+ __exportStar(require("./HtmlPlugin"), exports);
33
+ __exportStar(require("./CopyPlugin"), exports);
34
+ __exportStar(require("./SwcJsMinimizerPlugin"), exports);
35
+ __exportStar(require("./SwcCssMinimizerPlugin"), exports);
36
+ const util_1 = require("../util");
37
+ const _1 = require(".");
38
+ const browserslist_1 = require("browserslist");
39
+ const path_1 = __importDefault(require("path"));
40
+ function resolveTreeShaking(treeShaking, production) {
41
+ return treeShaking !== undefined
42
+ ? treeShaking.toString()
43
+ : production
44
+ ? "true"
45
+ : "false";
46
+ }
47
+ function resolvePresetEnv(presetEnv, context) {
48
+ var _a, _b;
49
+ if (!presetEnv) {
50
+ return undefined;
51
+ }
52
+ return {
53
+ targets: (_b = (_a = presetEnv === null || presetEnv === void 0 ? void 0 : presetEnv.targets) !== null && _a !== void 0 ? _a : (0, browserslist_1.loadConfig)({ path: context })) !== null && _b !== void 0 ? _b : [],
54
+ mode: presetEnv === null || presetEnv === void 0 ? void 0 : presetEnv.mode,
55
+ coreJs: presetEnv === null || presetEnv === void 0 ? void 0 : presetEnv.coreJs
56
+ };
57
+ }
58
+ function resolveDecorator(decorator) {
59
+ if (decorator === false) {
60
+ return undefined;
61
+ }
62
+ if (decorator === undefined || decorator === true) {
63
+ decorator = {};
64
+ }
65
+ return Object.assign({
66
+ legacy: true,
67
+ emitMetadata: true
68
+ }, decorator);
69
+ }
70
+ function resolveEmotion(emotion, isProduction) {
71
+ var _a, _b, _c;
72
+ if (!emotion) {
73
+ return undefined;
74
+ }
75
+ if (emotion === true) {
76
+ emotion = {};
77
+ }
78
+ const autoLabel = (_a = emotion === null || emotion === void 0 ? void 0 : emotion.autoLabel) !== null && _a !== void 0 ? _a : "dev-only";
79
+ const emotionConfig = {
80
+ enabled: true,
81
+ // @ts-expect-error autoLabel is string for JavaScript interface, however is boolean for Rust interface
82
+ autoLabel: autoLabel === "dev-only" ? !isProduction : autoLabel === "always",
83
+ importMap: emotion === null || emotion === void 0 ? void 0 : emotion.importMap,
84
+ labelFormat: (_b = emotion === null || emotion === void 0 ? void 0 : emotion.labelFormat) !== null && _b !== void 0 ? _b : "[local]",
85
+ sourcemap: isProduction ? false : (_c = emotion === null || emotion === void 0 ? void 0 : emotion.sourceMap) !== null && _c !== void 0 ? _c : true
86
+ };
87
+ return JSON.stringify(emotionConfig);
88
+ }
89
+ function resolvePluginImport(pluginImport) {
90
+ if (!pluginImport) {
91
+ return undefined;
92
+ }
93
+ return pluginImport.map(config => {
94
+ const rawConfig = {
95
+ ...config,
96
+ style: {} // As babel-plugin-import style config is very flexible, we convert it to a more specific structure
97
+ };
98
+ if (typeof config.style === "boolean") {
99
+ rawConfig.style.bool = config.style;
100
+ }
101
+ else if (typeof config.style === "string") {
102
+ const isTpl = config.style.includes("{{");
103
+ rawConfig.style[isTpl ? "custom" : "css"] = config.style;
104
+ }
105
+ // This option will overrides the behavior of style
106
+ if (config.styleLibraryDirectory) {
107
+ rawConfig.style = { styleLibraryDirectory: config.styleLibraryDirectory };
108
+ }
109
+ return rawConfig;
110
+ });
111
+ }
112
+ function resolveRelay(relay, rootDir) {
113
+ if (!relay) {
114
+ return undefined;
115
+ }
116
+ // Search relay config based on
117
+ if (relay === true) {
118
+ return (getRelayConfigFromProject(rootDir) || {
119
+ language: "javascript"
120
+ });
121
+ }
122
+ else {
123
+ return relay;
124
+ }
125
+ }
126
+ function getRelayConfigFromProject(rootDir) {
127
+ for (const configName of [
128
+ "relay.config.json",
129
+ "relay.config.js",
130
+ "package.json"
131
+ ]) {
132
+ const configPath = path_1.default.join(rootDir, configName);
133
+ try {
134
+ let config = require(configPath);
135
+ let finalConfig;
136
+ if (configName === "package.json") {
137
+ finalConfig = config === null || config === void 0 ? void 0 : config.relay;
138
+ }
139
+ else {
140
+ finalConfig = config;
141
+ }
142
+ if (finalConfig) {
143
+ return {
144
+ language: finalConfig.language,
145
+ artifactDirectory: finalConfig.artifactDirectory
146
+ };
147
+ }
148
+ }
149
+ catch (_) { }
150
+ }
151
+ }
152
+ function deprecated_resolveBuiltins(builtins, options, compiler) {
153
+ var _a, _b, _c, _d;
154
+ const defaultEnableDeprecatedWarning = false;
155
+ const enableDeprecatedWarning = ((_a = process.env.RSPACK_BUILTINS_DEPRECATED) !== null && _a !== void 0 ? _a : `${defaultEnableDeprecatedWarning}`) !== "false";
156
+ // deprecatedWarn(
157
+ // `'configuration.builtins' has been deprecated, and will be drop support in 0.6.0, please follow ${termlink(
158
+ // "the migration guide",
159
+ // "https://www.rspack.dev/en/config/builtins.html" // TODO: write a migration guide
160
+ // )}`,
161
+ // enableDeprecatedWarning
162
+ // );
163
+ const contextPath = options.context;
164
+ const production = options.mode === "production" || !options.mode;
165
+ if (builtins.define) {
166
+ (0, util_1.deprecatedWarn)(`'builtins.define = ${JSON.stringify(builtins.define)}' has been deprecated, please migrate to rspack.DefinePlugin`, enableDeprecatedWarning);
167
+ new _1.DefinePlugin(builtins.define).apply(compiler);
168
+ }
169
+ if (builtins.provide) {
170
+ (0, util_1.deprecatedWarn)(`'builtins.provide = ${JSON.stringify(builtins.provide)}' has been deprecated, please migrate to rspack.ProvidePlugin`, enableDeprecatedWarning);
171
+ new _1.ProvidePlugin(builtins.provide).apply(compiler);
172
+ }
173
+ if (builtins.progress) {
174
+ (0, util_1.deprecatedWarn)(`'builtins.progress = ${JSON.stringify(builtins.progress)}' has been deprecated, please migrate to rspack.ProgressPlugin`, enableDeprecatedWarning);
175
+ const progress = builtins.progress === true ? {} : builtins.progress;
176
+ new _1.ProgressPlugin(progress).apply(compiler);
177
+ }
178
+ if (builtins.banner) {
179
+ (0, util_1.deprecatedWarn)(`'builtins.banner = ${JSON.stringify(builtins.banner)}' has been deprecated, please migrate to rspack.BannerPlugin`, enableDeprecatedWarning);
180
+ if (Array.isArray(builtins.banner)) {
181
+ for (const banner of builtins.banner) {
182
+ new _1.BannerPlugin(banner).apply(compiler);
183
+ }
184
+ }
185
+ else {
186
+ new _1.BannerPlugin(builtins.banner).apply(compiler);
187
+ }
188
+ }
189
+ if (builtins.html) {
190
+ (0, util_1.deprecatedWarn)(`'builtins.html = ${JSON.stringify(builtins.html)}' has been deprecated, please migrate to rspack.HtmlPlugin`, enableDeprecatedWarning);
191
+ for (const html of builtins.html) {
192
+ new _1.HtmlPlugin(html).apply(compiler);
193
+ }
194
+ }
195
+ if (builtins.copy) {
196
+ (0, util_1.deprecatedWarn)(`'builtins.copy = ${JSON.stringify(builtins.copy)}' has been deprecated, please migrate to rspack.CopyPlugin`, enableDeprecatedWarning);
197
+ new _1.CopyPlugin(builtins.copy).apply(compiler);
198
+ }
199
+ if (builtins.minifyOptions) {
200
+ (0, util_1.deprecatedWarn)(`'builtins.minifyOptions = ${JSON.stringify(builtins.minifyOptions)}' has been deprecated, please migrate to rspack.SwcJsMinimizerPlugin and rspack.SwcCssMinimizerPlugin`, enableDeprecatedWarning);
201
+ }
202
+ const disableMinify = !options.optimization.minimize ||
203
+ options.optimization.minimizer.some(item => item !== "...");
204
+ if (!disableMinify) {
205
+ new _1.SwcJsMinimizerPlugin(builtins.minifyOptions).apply(compiler);
206
+ new _1.SwcCssMinimizerPlugin().apply(compiler);
207
+ }
208
+ let noEmitAssets = false;
209
+ if (builtins.noEmitAssets) {
210
+ (0, util_1.deprecatedWarn)(`'builtins.noEmitAssets = ${JSON.stringify(builtins.noEmitAssets)}' has been deprecated, this is only a temporary workaround for memory output FS, since Rspack have already supported memory output FS, so you can safely remove this`, enableDeprecatedWarning);
211
+ noEmitAssets = true;
212
+ }
213
+ return {
214
+ // TODO: discuss with webpack, this should move to css generator options
215
+ css: options.experiments.css
216
+ ? {
217
+ modules: {
218
+ localsConvention: "asIs",
219
+ localIdentName: production
220
+ ? "[hash]"
221
+ : "[path][name][ext]__[local]",
222
+ exportsOnly: false,
223
+ ...(_b = builtins.css) === null || _b === void 0 ? void 0 : _b.modules
224
+ }
225
+ }
226
+ : undefined,
227
+ treeShaking: resolveTreeShaking(builtins.treeShaking, production),
228
+ react: (_c = builtins.react) !== null && _c !== void 0 ? _c : {},
229
+ noEmitAssets: noEmitAssets,
230
+ presetEnv: resolvePresetEnv(builtins.presetEnv, contextPath),
231
+ decorator: resolveDecorator(builtins.decorator),
232
+ emotion: resolveEmotion(builtins.emotion, production),
233
+ devFriendlySplitChunks: (_d = builtins.devFriendlySplitChunks) !== null && _d !== void 0 ? _d : false,
234
+ pluginImport: resolvePluginImport(builtins.pluginImport),
235
+ relay: builtins.relay
236
+ ? resolveRelay(builtins.relay, contextPath)
237
+ : undefined
238
+ };
239
+ }
240
+ exports.deprecated_resolveBuiltins = deprecated_resolveBuiltins;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builtin-plugin/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { RawOptions } from "@rspack/binding";
2
2
  import { Compiler } from "../Compiler";
3
3
  import { LoaderContext } from "./adapterRuleUse";
4
- import { RspackOptionsNormalized } from "./types";
4
+ import { RspackOptionsNormalized } from "./normalization";
5
+ export type { LoaderContext };
5
6
  export declare const getRawOptions: (options: RspackOptionsNormalized, compiler: Compiler, processResource: (loaderContext: LoaderContext, resourcePath: string, callback: any) => void) => RawOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/config/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,UAAU,EAcV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAEN,aAAa,EAEb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAaN,uBAAuB,EAiBvB,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,aAAa,YAChB,uBAAuB,YACtB,QAAQ,mCAEF,aAAa,gBACd,MAAM,YACV,GAAG,KACT,IAAI,KACP,UAoDF,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/config/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,UAAU,EAeV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAEN,aAAa,EAEb,MAAM,kBAAkB,CAAC;AAyB1B,OAAO,EAIN,uBAAuB,EACvB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,aAAa,YAChB,uBAAuB,YACtB,QAAQ,mCAEF,aAAa,gBACd,MAAM,YACV,GAAG,KACT,IAAI,KACP,UA2CF,CAAC"}
@@ -7,15 +7,13 @@ exports.getRawOptions = void 0;
7
7
  const assert_1 = __importDefault(require("assert"));
8
8
  const Stats_1 = require("../Stats");
9
9
  const util_1 = require("../util");
10
+ const identifier_1 = require("../util/identifier");
10
11
  const adapterRuleUse_1 = require("./adapterRuleUse");
11
12
  const getRawOptions = (options, compiler, processResource) => {
12
13
  var _a, _b;
13
14
  (0, assert_1.default)(!(0, util_1.isNil)(options.context) && !(0, util_1.isNil)(options.devtool) && !(0, util_1.isNil)(options.cache), "context, devtool, cache should not be nil after defaults");
14
15
  const devtool = options.devtool === false ? "" : options.devtool;
15
- let rawEntry = getRawEntry(options.entry);
16
16
  return {
17
- entry: rawEntry,
18
- entryOrder: Object.keys(rawEntry),
19
17
  mode: options.mode,
20
18
  target: getRawTarget(options.target),
21
19
  context: options.context,
@@ -27,11 +25,6 @@ const getRawOptions = (options, compiler, processResource) => {
27
25
  devtool,
28
26
  context: options.context
29
27
  }),
30
- externals: options.externals
31
- ? getRawExternals(options.externals)
32
- : undefined,
33
- externalsType: options.externalsType === undefined ? "" : options.externalsType,
34
- externalsPresets: getRawExternalsPresets(options.externalsPresets),
35
28
  devtool,
36
29
  optimization: getRawOptimization(options.optimization),
37
30
  stats: getRawStats(options.stats),
@@ -54,28 +47,11 @@ const getRawOptions = (options, compiler, processResource) => {
54
47
  experiments: getRawExperiments(options.experiments),
55
48
  node: getRawNode(options.node),
56
49
  profile: options.profile,
57
- // TODO: refactor builtins
50
+ // TODO: remove this
58
51
  builtins: options.builtins
59
52
  };
60
53
  };
61
54
  exports.getRawOptions = getRawOptions;
62
- function getRawEntry(entry) {
63
- const raw = {};
64
- for (const key of Object.keys(entry)) {
65
- const runtime = entry[key].runtime;
66
- const chunkLoading = entry[key].chunkLoading;
67
- raw[key] = {
68
- import: entry[key].import,
69
- publicPath: entry[key].publicPath,
70
- baseUri: entry[key].baseUri,
71
- runtime: runtime === false ? undefined : runtime,
72
- chunkLoading: chunkLoading === false ? "false" : chunkLoading,
73
- asyncChunks: entry[key].asyncChunks,
74
- filename: entry[key].filename
75
- };
76
- }
77
- return raw;
78
- }
79
55
  function getRawTarget(target) {
80
56
  if (!target) {
81
57
  return [];
@@ -160,17 +136,6 @@ function getRawOutput(output) {
160
136
  workerPublicPath: output.workerPublicPath
161
137
  };
162
138
  }
163
- function getRawExternalsPresets(presets) {
164
- var _a, _b, _c, _d, _e, _f;
165
- return {
166
- web: (_a = presets.web) !== null && _a !== void 0 ? _a : false,
167
- node: (_b = presets.node) !== null && _b !== void 0 ? _b : false,
168
- electron: (_c = presets.electron) !== null && _c !== void 0 ? _c : false,
169
- electronMain: (_d = presets.electronMain) !== null && _d !== void 0 ? _d : false,
170
- electronPreload: (_e = presets.electronPreload) !== null && _e !== void 0 ? _e : false,
171
- electronRenderer: (_f = presets.electronRenderer) !== null && _f !== void 0 ? _f : false
172
- };
173
- }
174
139
  function getRawLibrary(library) {
175
140
  const { type, name, export: libraryExport, umdNamedDefine, auxiliaryComment } = library;
176
141
  return {
@@ -218,6 +183,32 @@ function getRawModule(module, options) {
218
183
  generator: getRawGeneratorOptionsByModuleType(module.generator)
219
184
  };
220
185
  }
186
+ function tryMatch(payload, condition) {
187
+ if (typeof condition === "string") {
188
+ return payload.startsWith(condition);
189
+ }
190
+ if (condition instanceof RegExp) {
191
+ return condition.test(payload);
192
+ }
193
+ if (typeof condition === "function") {
194
+ return condition(payload);
195
+ }
196
+ if (Array.isArray(condition)) {
197
+ return condition.some(c => tryMatch(payload, c));
198
+ }
199
+ if (condition && typeof condition === "object") {
200
+ if (condition.and) {
201
+ return condition.and.every(c => tryMatch(payload, c));
202
+ }
203
+ if (condition.or) {
204
+ return condition.or.some(c => tryMatch(payload, c));
205
+ }
206
+ if (condition.not) {
207
+ return condition.not.every(c => !tryMatch(payload, c));
208
+ }
209
+ }
210
+ return false;
211
+ }
221
212
  const getRawModuleRule = (rule, path, options) => {
222
213
  var _a, _b, _c;
223
214
  // Rule.loader is a shortcut to Rule.use: [ { loader } ].
@@ -241,7 +232,7 @@ const getRawModuleRule = (rule, path, options) => {
241
232
  return (0, adapterRuleUse_1.createRawModuleRuleUses)(uses !== null && uses !== void 0 ? uses : [], `${path}.use`, options);
242
233
  };
243
234
  }
244
- return {
235
+ let rawModuleRule = {
245
236
  test: rule.test ? getRawRuleSetCondition(rule.test) : undefined,
246
237
  include: rule.include ? getRawRuleSetCondition(rule.include) : undefined,
247
238
  exclude: rule.exclude ? getRawRuleSetCondition(rule.exclude) : undefined,
@@ -287,6 +278,35 @@ const getRawModuleRule = (rule, path, options) => {
287
278
  : undefined,
288
279
  enforce: rule.enforce
289
280
  };
281
+ // Function calls may contain side-effects when interoperating with single-threaded environment.
282
+ // In order to mitigate the issue, Rspack tries to merge these calls together.
283
+ // See: https://github.com/web-infra-dev/rspack/issues/4003#issuecomment-1689662380
284
+ if (typeof rule.test === "function" ||
285
+ typeof rule.resource === "function" ||
286
+ typeof rule.resourceQuery === "function" ||
287
+ typeof rule.resourceFragment === "function") {
288
+ delete rawModuleRule.test;
289
+ delete rawModuleRule.resource;
290
+ delete rawModuleRule.resourceQuery;
291
+ delete rawModuleRule.resourceFragment;
292
+ rawModuleRule.rspackResource = getRawRuleSetCondition(function (resourceQueryFragment) {
293
+ const { path, query, fragment } = (0, identifier_1.parseResource)(resourceQueryFragment);
294
+ if (rule.test && !tryMatch(path, rule.test)) {
295
+ return false;
296
+ }
297
+ else if (rule.resource && !tryMatch(path, rule.resource)) {
298
+ return false;
299
+ }
300
+ if (rule.resourceQuery && !tryMatch(query, rule.resourceQuery)) {
301
+ return false;
302
+ }
303
+ if (rule.resourceFragment && !tryMatch(fragment, rule.resourceFragment)) {
304
+ return false;
305
+ }
306
+ return true;
307
+ });
308
+ }
309
+ return rawModuleRule;
290
310
  };
291
311
  function getRawRuleSetCondition(condition) {
292
312
  if (typeof condition === "string") {
@@ -423,65 +443,6 @@ function getRawAssetGeneratorDaraUrl(dataUrl) {
423
443
  }
424
444
  throw new Error(`unreachable: AssetGeneratorDataUrl type should be one of "options", but got ${dataUrl}`);
425
445
  }
426
- function getRawExternals(externals) {
427
- function getRawExternalItem(item) {
428
- if (typeof item === "string") {
429
- return { type: "string", stringPayload: item };
430
- }
431
- else if (item instanceof RegExp) {
432
- return { type: "regexp", regexpPayload: item.source };
433
- }
434
- else if (typeof item === "function") {
435
- return {
436
- type: "function",
437
- fnPayload: async (ctx) => {
438
- return await new Promise((resolve, reject) => {
439
- const promise = item(ctx, (err, result, type) => {
440
- if (err)
441
- reject(err);
442
- resolve({
443
- result: getRawExternalItemValueFormFnResult(result),
444
- external_type: type
445
- });
446
- });
447
- if (promise && promise.then) {
448
- promise.then(result => resolve({
449
- result: getRawExternalItemValueFormFnResult(result),
450
- external_type: undefined
451
- }), e => reject(e));
452
- }
453
- });
454
- }
455
- };
456
- }
457
- return {
458
- type: "object",
459
- objectPayload: Object.fromEntries(Object.entries(item).map(([k, v]) => [k, getRawExternalItemValue(v)]))
460
- };
461
- }
462
- function getRawExternalItemValueFormFnResult(result) {
463
- return result === undefined ? result : getRawExternalItemValue(result);
464
- }
465
- function getRawExternalItemValue(value) {
466
- if (typeof value === "string") {
467
- return { type: "string", stringPayload: value };
468
- }
469
- else if (typeof value === "boolean") {
470
- return { type: "bool", boolPayload: value };
471
- }
472
- else if (Array.isArray(value)) {
473
- return {
474
- type: "array",
475
- arrayPayload: value
476
- };
477
- }
478
- throw new Error("unreachable");
479
- }
480
- if (Array.isArray(externals)) {
481
- return externals.map(i => getRawExternalItem(i));
482
- }
483
- return [getRawExternalItem(externals)];
484
- }
485
446
  function getRawOptimization(optimization) {
486
447
  (0, assert_1.default)(!(0, util_1.isNil)(optimization.moduleIds) &&
487
448
  !(0, util_1.isNil)(optimization.chunkIds) &&
@@ -512,7 +473,7 @@ function toRawSplitChunksOptions(sc) {
512
473
  group = group;
513
474
  const { test, name, ...passThrough } = group;
514
475
  const rawGroup = {
515
- test: test === null || test === void 0 ? void 0 : test.source,
476
+ test,
516
477
  name: name === false ? undefined : name,
517
478
  ...passThrough
518
479
  };
@@ -542,18 +503,26 @@ function getRawSnapshotOptions(snapshot) {
542
503
  };
543
504
  }
544
505
  function getRawExperiments(experiments) {
545
- const { lazyCompilation, incrementalRebuild, asyncWebAssembly, newSplitChunks, css } = experiments;
506
+ const { lazyCompilation, incrementalRebuild, asyncWebAssembly, newSplitChunks, css, rspackFuture } = experiments;
546
507
  (0, assert_1.default)(!(0, util_1.isNil)(lazyCompilation) &&
547
508
  !(0, util_1.isNil)(incrementalRebuild) &&
548
509
  !(0, util_1.isNil)(asyncWebAssembly) &&
549
510
  !(0, util_1.isNil)(newSplitChunks) &&
550
- !(0, util_1.isNil)(css));
511
+ !(0, util_1.isNil)(css) &&
512
+ !(0, util_1.isNil)(rspackFuture));
551
513
  return {
552
514
  lazyCompilation,
553
515
  incrementalRebuild: getRawIncrementalRebuild(incrementalRebuild),
554
516
  asyncWebAssembly,
555
517
  newSplitChunks,
556
- css
518
+ css,
519
+ rspackFuture: getRawRspackFutureOptions(rspackFuture)
520
+ };
521
+ }
522
+ function getRawRspackFutureOptions(future) {
523
+ (0, assert_1.default)(!(0, util_1.isNil)(future.newResolver));
524
+ return {
525
+ newResolver: future.newResolver
557
526
  };
558
527
  }
559
528
  function getRawIncrementalRebuild(inc) {