@nx/rspack 16.0.0-beta.0

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 (79) hide show
  1. package/README.md +81 -0
  2. package/executors.json +15 -0
  3. package/generators.json +31 -0
  4. package/package.json +35 -0
  5. package/src/executors/dev-server/dev-server.impl.d.ts +3 -0
  6. package/src/executors/dev-server/dev-server.impl.js +47 -0
  7. package/src/executors/dev-server/dev-server.impl.js.map +1 -0
  8. package/src/executors/dev-server/schema.d.ts +8 -0
  9. package/src/executors/dev-server/schema.json +23 -0
  10. package/src/executors/rspack/rspack.impl.d.ts +6 -0
  11. package/src/executors/rspack/rspack.impl.js +102 -0
  12. package/src/executors/rspack/rspack.impl.js.map +1 -0
  13. package/src/executors/rspack/schema.d.ts +15 -0
  14. package/src/executors/rspack/schema.json +104 -0
  15. package/src/generators/application/application.d.ts +3 -0
  16. package/src/generators/application/application.js +81 -0
  17. package/src/generators/application/application.js.map +1 -0
  18. package/src/generators/application/lib/create-ts-config.d.ts +3 -0
  19. package/src/generators/application/lib/create-ts-config.js +48 -0
  20. package/src/generators/application/lib/create-ts-config.js.map +1 -0
  21. package/src/generators/application/lib/normalize-options.d.ts +5 -0
  22. package/src/generators/application/lib/normalize-options.js +38 -0
  23. package/src/generators/application/lib/normalize-options.js.map +1 -0
  24. package/src/generators/application/schema.d.ts +16 -0
  25. package/src/generators/application/schema.json +97 -0
  26. package/src/generators/configuration/configuration.d.ts +4 -0
  27. package/src/generators/configuration/configuration.js +79 -0
  28. package/src/generators/configuration/configuration.js.map +1 -0
  29. package/src/generators/configuration/schema.d.ts +12 -0
  30. package/src/generators/configuration/schema.json +72 -0
  31. package/src/generators/init/init.d.ts +5 -0
  32. package/src/generators/init/init.js +37 -0
  33. package/src/generators/init/init.js.map +1 -0
  34. package/src/generators/init/schema.d.ts +8 -0
  35. package/src/generators/init/schema.json +24 -0
  36. package/src/generators/preset/preset.d.ts +3 -0
  37. package/src/generators/preset/preset.js +37 -0
  38. package/src/generators/preset/preset.js.map +1 -0
  39. package/src/generators/preset/schema.d.ts +18 -0
  40. package/src/generators/preset/schema.json +70 -0
  41. package/src/index.d.ts +6 -0
  42. package/src/index.js +10 -0
  43. package/src/index.js.map +1 -0
  44. package/src/utils/config.d.ts +3 -0
  45. package/src/utils/config.js +17 -0
  46. package/src/utils/config.js.map +1 -0
  47. package/src/utils/create-compiler.d.ts +4 -0
  48. package/src/utils/create-compiler.js +19 -0
  49. package/src/utils/create-compiler.js.map +1 -0
  50. package/src/utils/generator-utils.d.ts +34 -0
  51. package/src/utils/generator-utils.js +456 -0
  52. package/src/utils/generator-utils.js.map +1 -0
  53. package/src/utils/get-copy-patterns.d.ts +9 -0
  54. package/src/utils/get-copy-patterns.js +25 -0
  55. package/src/utils/get-copy-patterns.js.map +1 -0
  56. package/src/utils/jest-utils.d.ts +1 -0
  57. package/src/utils/jest-utils.js +10 -0
  58. package/src/utils/jest-utils.js.map +1 -0
  59. package/src/utils/mode-utils.d.ts +2 -0
  60. package/src/utils/mode-utils.js +8 -0
  61. package/src/utils/mode-utils.js.map +1 -0
  62. package/src/utils/model.d.ts +6 -0
  63. package/src/utils/model.js +3 -0
  64. package/src/utils/model.js.map +1 -0
  65. package/src/utils/normalize-assets.d.ts +1 -0
  66. package/src/utils/normalize-assets.js +41 -0
  67. package/src/utils/normalize-assets.js.map +1 -0
  68. package/src/utils/versions.d.ts +19 -0
  69. package/src/utils/versions.js +23 -0
  70. package/src/utils/versions.js.map +1 -0
  71. package/src/utils/with-nx.d.ts +3 -0
  72. package/src/utils/with-nx.js +75 -0
  73. package/src/utils/with-nx.js.map +1 -0
  74. package/src/utils/with-react.d.ts +3 -0
  75. package/src/utils/with-react.js +20 -0
  76. package/src/utils/with-react.js.map +1 -0
  77. package/src/utils/with-web.d.ts +9 -0
  78. package/src/utils/with-web.js +82 -0
  79. package/src/utils/with-web.js.map +1 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAssets = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ function normalizeAssets(assets, root, sourceRoot) {
8
+ return assets.map((asset) => {
9
+ if (typeof asset === 'string') {
10
+ const assetPath = (0, devkit_1.normalizePath)(asset);
11
+ const resolvedAssetPath = (0, path_1.resolve)(root, assetPath);
12
+ const resolvedSourceRoot = (0, path_1.resolve)(root, sourceRoot);
13
+ if (!resolvedAssetPath.startsWith(resolvedSourceRoot)) {
14
+ throw new Error(`The ${resolvedAssetPath} asset path must start with the project source root: ${sourceRoot}`);
15
+ }
16
+ const isDirectory = (0, fs_1.statSync)(resolvedAssetPath).isDirectory();
17
+ const input = isDirectory
18
+ ? resolvedAssetPath
19
+ : (0, path_1.dirname)(resolvedAssetPath);
20
+ const output = (0, path_1.relative)(resolvedSourceRoot, (0, path_1.resolve)(root, input));
21
+ const glob = isDirectory ? '**/*' : (0, path_1.basename)(resolvedAssetPath);
22
+ return {
23
+ input,
24
+ output,
25
+ glob,
26
+ };
27
+ }
28
+ else {
29
+ if (asset.output.startsWith('..')) {
30
+ throw new Error('An asset cannot be written to a location outside of the output path.');
31
+ }
32
+ const assetPath = (0, devkit_1.normalizePath)(asset.input);
33
+ const resolvedAssetPath = (0, path_1.resolve)(root, assetPath);
34
+ return Object.assign(Object.assign({}, asset), { input: resolvedAssetPath,
35
+ // Now we remove starting slash to make Webpack place it from the output root.
36
+ output: asset.output.replace(/^\//, '') });
37
+ }
38
+ });
39
+ }
40
+ exports.normalizeAssets = normalizeAssets;
41
+ //# sourceMappingURL=normalize-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-assets.js","sourceRoot":"","sources":["../../../../../packages/rspack/src/utils/normalize-assets.ts"],"names":[],"mappings":";;;AAAA,uCAA2C;AAC3C,2BAA8B;AAC9B,+BAA4D;AAE5D,SAAgB,eAAe,CAC7B,MAAa,EACb,IAAY,EACZ,UAAkB;IAElB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC;YACvC,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,kBAAkB,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAErD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;gBACrD,MAAM,IAAI,KAAK,CACb,OAAO,iBAAiB,wDAAwD,UAAU,EAAE,CAC7F,CAAC;aACH;YAED,MAAM,WAAW,GAAG,IAAA,aAAQ,EAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,WAAW;gBACvB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAA,cAAO,EAAC,iBAAiB,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAA,eAAQ,EAAC,kBAAkB,EAAE,IAAA,cAAO,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,eAAQ,EAAC,iBAAiB,CAAC,CAAC;YAChE,OAAO;gBACL,KAAK;gBACL,MAAM;gBACN,IAAI;aACL,CAAC;SACH;aAAM;YACL,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;aACH;YAED,MAAM,SAAS,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnD,uCACK,KAAK,KACR,KAAK,EAAE,iBAAiB;gBACxB,8EAA8E;gBAC9E,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IACvC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA7CD,0CA6CC"}
@@ -0,0 +1,19 @@
1
+ export declare const rspackCoreVersion = "~0.1.0";
2
+ export declare const rspackDevServerVersion = "~0.1.0";
3
+ export declare const rspackPluginMinifyVersion = "~0.1.0";
4
+ export declare const rspackLessLoaderVersion = "~0.1.0";
5
+ export declare const reactVersion = "~18.2.0";
6
+ export declare const reactDomVersion = "~18.2.0";
7
+ export declare const typesReactVersion = "~18.0.28";
8
+ export declare const typesReactDomVersion = "~18.0.10";
9
+ export declare const nestjsCommonVersion = "~9.0.0";
10
+ export declare const nestjsCoreVersion = "~9.0.0";
11
+ export declare const nestjsPlatformExpressVersion = "~9.0.0";
12
+ export declare const nestjsMicroservicesVersion = "~9.0.0";
13
+ export declare const lessVersion = "4.1.3";
14
+ export declare const sassVersion = "^1.42.1";
15
+ export declare const stylusVersion = "^0.55.0";
16
+ export declare const eslintPluginImportVersion = "2.27.5";
17
+ export declare const eslintPluginJsxA11yVersion = "6.7.1";
18
+ export declare const eslintPluginReactVersion = "7.32.2";
19
+ export declare const eslintPluginReactHooksVersion = "4.6.0";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eslintPluginReactHooksVersion = exports.eslintPluginReactVersion = exports.eslintPluginJsxA11yVersion = exports.eslintPluginImportVersion = exports.stylusVersion = exports.sassVersion = exports.lessVersion = exports.nestjsMicroservicesVersion = exports.nestjsPlatformExpressVersion = exports.nestjsCoreVersion = exports.nestjsCommonVersion = exports.typesReactDomVersion = exports.typesReactVersion = exports.reactDomVersion = exports.reactVersion = exports.rspackLessLoaderVersion = exports.rspackPluginMinifyVersion = exports.rspackDevServerVersion = exports.rspackCoreVersion = void 0;
4
+ exports.rspackCoreVersion = '~0.1.0';
5
+ exports.rspackDevServerVersion = '~0.1.0';
6
+ exports.rspackPluginMinifyVersion = '~0.1.0';
7
+ exports.rspackLessLoaderVersion = '~0.1.0';
8
+ exports.reactVersion = '~18.2.0';
9
+ exports.reactDomVersion = '~18.2.0';
10
+ exports.typesReactVersion = '~18.0.28';
11
+ exports.typesReactDomVersion = '~18.0.10';
12
+ exports.nestjsCommonVersion = '~9.0.0';
13
+ exports.nestjsCoreVersion = '~9.0.0';
14
+ exports.nestjsPlatformExpressVersion = '~9.0.0';
15
+ exports.nestjsMicroservicesVersion = '~9.0.0';
16
+ exports.lessVersion = '4.1.3';
17
+ exports.sassVersion = '^1.42.1';
18
+ exports.stylusVersion = '^0.55.0';
19
+ exports.eslintPluginImportVersion = '2.27.5';
20
+ exports.eslintPluginJsxA11yVersion = '6.7.1';
21
+ exports.eslintPluginReactVersion = '7.32.2';
22
+ exports.eslintPluginReactHooksVersion = '4.6.0';
23
+ //# sourceMappingURL=versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/rspack/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAElC,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAElC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,4BAA4B,GAAG,QAAQ,CAAC;AACxC,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AAEtC,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,aAAa,GAAG,SAAS,CAAC;AAE1B,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,0BAA0B,GAAG,OAAO,CAAC;AACrC,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AACpC,QAAA,6BAA6B,GAAG,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Configuration } from '@rspack/core';
2
+ import { SharedConfigContext } from './model';
3
+ export declare function withNx(_opts?: {}): (config: Configuration, { options, context }: SharedConfigContext) => Configuration;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withNx = void 0;
4
+ const path = require("path");
5
+ const get_copy_patterns_1 = require("./get-copy-patterns");
6
+ const normalize_assets_1 = require("./normalize-assets");
7
+ function withNx(_opts = {}) {
8
+ return function makeConfig(config, { options, context }) {
9
+ var _a;
10
+ const isProd = process.env.NODE_ENV === 'production' || options.mode === 'production';
11
+ const project = context.projectGraph.nodes[context.projectName];
12
+ const sourceRoot = path.join(context.root, project.data.sourceRoot);
13
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
14
+ const tsconfigPaths = require('tsconfig-paths');
15
+ const { paths } = tsconfigPaths.loadConfig(options.tsConfig);
16
+ const alias = Object.keys(paths).reduce((acc, k) => {
17
+ acc[k] = path.join(context.root, paths[k][0]);
18
+ return acc;
19
+ }, {});
20
+ const externals = {};
21
+ let externalsType;
22
+ if (options.target === 'node') {
23
+ const projectDeps = context.projectGraph.dependencies[context.projectName];
24
+ for (const dep of Object.values(projectDeps)) {
25
+ const externalNode = context.projectGraph.externalNodes[dep.target];
26
+ if (externalNode) {
27
+ externals[externalNode.data.packageName] =
28
+ externalNode.data.packageName;
29
+ }
30
+ }
31
+ externalsType = 'commonjs';
32
+ }
33
+ const updated = Object.assign(Object.assign({}, config), { target: options.target, mode: options.mode, context: context.root, devtool: options.sourceMap === 'hidden'
34
+ ? 'hidden-source-map'
35
+ : options.sourceMap
36
+ ? 'source-map'
37
+ : false, entry: {
38
+ main: {
39
+ import: [path.join(context.root, options.main)],
40
+ },
41
+ }, output: {
42
+ path: path.join(context.root, options.outputPath),
43
+ publicPath: '/',
44
+ filename: isProd && options.target !== 'node'
45
+ ? '[name].[contenthash:8][ext]'
46
+ : '[name][ext]',
47
+ }, devServer: {
48
+ port: 4200,
49
+ hot: true,
50
+ }, module: {}, plugins: (_a = config.plugins) !== null && _a !== void 0 ? _a : [], resolve: {
51
+ // There are some issues resolving workspace libs in a monorepo.
52
+ // It looks to be an issue with rspack itself, but will check back after Nx 16 release
53
+ // once I can reproduce a small example repo with rspack only.
54
+ alias,
55
+ // tsConfigPath: path.join(context.root, options.tsConfig),
56
+ }, infrastructureLogging: {
57
+ debug: false,
58
+ }, builtins: {
59
+ copy: {
60
+ patterns: (0, get_copy_patterns_1.getCopyPatterns)((0, normalize_assets_1.normalizeAssets)(options.assets, context.root, sourceRoot)),
61
+ },
62
+ progress: {},
63
+ }, externals,
64
+ externalsType, stats: {
65
+ colors: true,
66
+ preset: 'normal',
67
+ } });
68
+ if (options.optimization) {
69
+ updated.optimization = Object.assign(Object.assign({}, config.optimization), { minimize: true });
70
+ }
71
+ return updated;
72
+ };
73
+ }
74
+ exports.withNx = withNx;
75
+ //# sourceMappingURL=with-nx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-nx.js","sourceRoot":"","sources":["../../../../../packages/rspack/src/utils/with-nx.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,2DAAsD;AAEtD,yDAAqD;AAErD,SAAgB,MAAM,CAAC,KAAK,GAAG,EAAE;IAC/B,OAAO,SAAS,UAAU,CACxB,MAAqB,EACrB,EAAE,OAAO,EAAE,OAAO,EAAuB;;QAEzC,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC;QAEzE,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpE,8DAA8D;QAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,IAAI,aAA6C,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;YAC7B,MAAM,WAAW,GACf,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,YAAY,EAAE;oBAChB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;wBACtC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;iBACjC;aACF;YACD,aAAa,GAAG,UAAU,CAAC;SAC5B;QAED,MAAM,OAAO,mCACR,MAAM,KACT,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,EACrB,OAAO,EACL,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAC5B,CAAC,CAAE,mBAA6B;gBAChC,CAAC,CAAC,OAAO,CAAC,SAAS;oBACnB,CAAC,CAAE,YAAsB;oBACzB,CAAC,CAAE,KAAe,EACtB,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;iBAChD;aACF,EACD,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;gBACjD,UAAU,EAAE,GAAG;gBACf,QAAQ,EACN,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;oBACjC,CAAC,CAAC,6BAA6B;oBAC/B,CAAC,CAAC,aAAa;aACpB,EACD,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;aACH,EACR,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,EAC7B,OAAO,EAAE;gBACP,gEAAgE;gBAChE,sFAAsF;gBACtF,8DAA8D;gBAC9D,KAAK;gBACL,2DAA2D;aAC5D,EACD,qBAAqB,EAAE;gBACrB,KAAK,EAAE,KAAK;aACb,EACD,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,QAAQ,EAAE,IAAA,mCAAe,EACvB,IAAA,kCAAe,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAC1D;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb,EACD,SAAS;YACT,aAAa,EACb,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,QAAQ;aACjB,GACF,CAAC;QAEF,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,OAAO,CAAC,YAAY,mCACf,MAAM,CAAC,YAAY,KACtB,QAAQ,EAAE,IAAI,GACf,CAAC;SACH;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AAnGD,wBAmGC"}
@@ -0,0 +1,3 @@
1
+ import { Configuration } from '@rspack/core';
2
+ import { SharedConfigContext } from './model';
3
+ export declare function withReact(opts?: {}): (config: Configuration, { options, context }: SharedConfigContext) => Configuration;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withReact = void 0;
4
+ const with_web_1 = require("./with-web");
5
+ function withReact(opts = {}) {
6
+ return function makeConfig(config, { options, context }) {
7
+ const isDev = process.env.NODE_ENV === 'development' || options.mode === 'development';
8
+ config = (0, with_web_1.withWeb)(Object.assign(Object.assign({}, opts), { cssModules: true }))(config, {
9
+ options,
10
+ context,
11
+ });
12
+ return Object.assign(Object.assign({}, config), { builtins: Object.assign(Object.assign({}, config.builtins), { react: {
13
+ runtime: 'automatic',
14
+ development: isDev,
15
+ refresh: isDev,
16
+ } }) });
17
+ };
18
+ }
19
+ exports.withReact = withReact;
20
+ //# sourceMappingURL=with-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-react.js","sourceRoot":"","sources":["../../../../../packages/rspack/src/utils/with-react.ts"],"names":[],"mappings":";;;AAEA,yCAAqC;AAErC,SAAgB,SAAS,CAAC,IAAI,GAAG,EAAE;IACjC,OAAO,SAAS,UAAU,CACxB,MAAqB,EACrB,EAAE,OAAO,EAAE,OAAO,EAAuB;QAEzC,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC;QAE3E,MAAM,GAAG,IAAA,kBAAO,kCAAM,IAAI,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC,MAAM,EAAE;YACtD,OAAO;YACP,OAAO;SACR,CAAC,CAAC;QAEH,uCACK,MAAM,KACT,QAAQ,kCACH,MAAM,CAAC,QAAQ,KAClB,KAAK,EAAE;oBACL,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,KAAK;oBAClB,OAAO,EAAE,KAAK;iBACf,OAEH;IACJ,CAAC,CAAC;AACJ,CAAC;AAzBD,8BAyBC"}
@@ -0,0 +1,9 @@
1
+ import { Configuration } from '@rspack/core';
2
+ import { SharedConfigContext } from './model';
3
+ export interface WithWebOptions {
4
+ stylePreprocessorOptions?: {
5
+ includePaths?: string[];
6
+ };
7
+ cssModules?: boolean;
8
+ }
9
+ export declare function withWeb(opts?: WithWebOptions): (config: Configuration, { options, context }: SharedConfigContext) => Configuration;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withWeb = void 0;
4
+ const path = require("path");
5
+ function withWeb(opts = {}) {
6
+ return function makeConfig(config, { options, context }) {
7
+ var _a, _b;
8
+ const isProd = process.env.NODE_ENV === 'production' || options.mode === 'production';
9
+ const projectRoot = path.join(context.root, context.projectGraph.nodes[context.projectName].data.root);
10
+ const includePaths = [];
11
+ if (((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.stylePreprocessorOptions) === null || _a === void 0 ? void 0 : _a.includePaths) === null || _b === void 0 ? void 0 : _b.length) > 0) {
12
+ opts.stylePreprocessorOptions.includePaths.forEach((includePath) => includePaths.push(path.resolve(context.root, includePath)));
13
+ }
14
+ let lessPathOptions = {};
15
+ if (includePaths.length > 0) {
16
+ lessPathOptions = {
17
+ paths: includePaths,
18
+ };
19
+ }
20
+ return Object.assign(Object.assign({}, config), { module: Object.assign(Object.assign({}, config.module), { rules: [
21
+ ...(config.module.rules || []),
22
+ {
23
+ test: /\.css$/,
24
+ type: (opts === null || opts === void 0 ? void 0 : opts.cssModules) ? 'css/module' : undefined,
25
+ },
26
+ {
27
+ test: /\.scss$|\.sass$/,
28
+ type: (opts === null || opts === void 0 ? void 0 : opts.cssModules) ? 'css/module' : undefined,
29
+ use: [
30
+ {
31
+ loader: require.resolve('sass-loader'),
32
+ options: {
33
+ sourceMap: !!options.sourceMap,
34
+ sassOptions: {
35
+ fiber: false,
36
+ // bootstrap-sass requires a minimum precision of 8
37
+ precision: 8,
38
+ includePaths,
39
+ },
40
+ },
41
+ },
42
+ ],
43
+ },
44
+ {
45
+ test: /.less$/,
46
+ type: (opts === null || opts === void 0 ? void 0 : opts.cssModules) ? 'css/module' : undefined,
47
+ use: [
48
+ {
49
+ loader: require.resolve('less-loader'),
50
+ options: {
51
+ sourceMap: !!options.sourceMap,
52
+ lessOptions: Object.assign({ javascriptEnabled: true }, lessPathOptions),
53
+ },
54
+ },
55
+ ],
56
+ },
57
+ {
58
+ test: /\.styl$/,
59
+ use: [
60
+ {
61
+ loader: require.resolve('stylus-loader'),
62
+ options: {
63
+ sourceMap: !!options.sourceMap,
64
+ stylusOptions: {
65
+ include: includePaths,
66
+ },
67
+ },
68
+ },
69
+ ],
70
+ },
71
+ ].filter((a) => !!a) }), builtins: Object.assign(Object.assign({}, config.builtins), { html: [
72
+ ...(config.builtins.html || []),
73
+ {
74
+ template: options.indexHtml
75
+ ? path.join(context.root, options.indexHtml)
76
+ : path.join(projectRoot, 'src/index.html'),
77
+ },
78
+ ], define: Object.assign(Object.assign({}, config.builtins.define), { 'process.env.NODE_ENV': isProd ? "'production'" : "'development'" }) }) });
79
+ };
80
+ }
81
+ exports.withWeb = withWeb;
82
+ //# sourceMappingURL=with-web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-web.js","sourceRoot":"","sources":["../../../../../packages/rspack/src/utils/with-web.ts"],"names":[],"mappings":"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"}