@nrwl/react 15.3.0-beta.1 → 15.3.0-beta.11

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 (87) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/index.d.ts +1 -1
  3. package/index.js +2 -1
  4. package/index.js.map +1 -1
  5. package/migrations.json +6 -0
  6. package/package.json +12 -12
  7. package/src/generators/application/application.js +19 -6
  8. package/src/generators/application/application.js.map +1 -1
  9. package/src/generators/application/files/common-vite/{index.html → index.html__tmpl__} +2 -1
  10. package/src/generators/application/files/common-vite/{src → public}/favicon.ico +0 -0
  11. package/src/generators/application/lib/add-cypress.js +1 -1
  12. package/src/generators/application/lib/add-cypress.js.map +1 -1
  13. package/src/generators/application/lib/add-jest.js +1 -1
  14. package/src/generators/application/lib/add-jest.js.map +1 -1
  15. package/src/generators/application/lib/normalize-options.d.ts +1 -1
  16. package/src/generators/application/lib/normalize-options.js +17 -12
  17. package/src/generators/application/lib/normalize-options.js.map +1 -1
  18. package/src/generators/application/lib/set-defaults.js +1 -1
  19. package/src/generators/application/lib/set-defaults.js.map +1 -1
  20. package/src/generators/application/schema.d.ts +5 -3
  21. package/src/generators/application/schema.json +6 -1
  22. package/src/generators/host/files/module-federation-ssr/module-federation.server.config.js__tmpl__ +13 -0
  23. package/src/generators/host/files/module-federation-ssr/webpack.server.config.js__tmpl__ +8 -0
  24. package/src/generators/host/host.d.ts +2 -2
  25. package/src/generators/host/host.js +18 -1
  26. package/src/generators/host/host.js.map +1 -1
  27. package/src/generators/host/lib/add-module-federation-files.js +1 -1
  28. package/src/generators/host/lib/add-module-federation-files.js.map +1 -1
  29. package/src/generators/host/lib/setup-ssr-for-host.d.ts +6 -0
  30. package/src/generators/host/lib/setup-ssr-for-host.js +25 -0
  31. package/src/generators/host/lib/setup-ssr-for-host.js.map +1 -0
  32. package/src/generators/host/schema.d.ts +15 -14
  33. package/src/generators/host/schema.json +5 -0
  34. package/src/generators/init/init.js +12 -13
  35. package/src/generators/init/init.js.map +1 -1
  36. package/src/generators/init/schema.d.ts +2 -0
  37. package/src/generators/init/schema.json +11 -0
  38. package/src/generators/library/files/{lib → common}/.babelrc__tmpl__ +0 -0
  39. package/src/generators/library/files/{lib → common}/README.md +0 -0
  40. package/src/generators/library/files/common/package.json__tmpl__ +12 -0
  41. package/src/generators/library/files/{lib → common}/src/index.ts__tmpl__ +0 -0
  42. package/src/generators/library/files/{lib → common}/tsconfig.json__tmpl__ +0 -0
  43. package/src/generators/library/files/{lib → common}/tsconfig.lib.json__tmpl__ +0 -0
  44. package/src/generators/library/files/vite/package.json__tmpl__ +12 -0
  45. package/src/generators/library/lib/normalize-options.d.ts +4 -0
  46. package/src/generators/library/lib/normalize-options.js +47 -0
  47. package/src/generators/library/lib/normalize-options.js.map +1 -0
  48. package/src/generators/library/library.d.ts +2 -0
  49. package/src/generators/library/library.js +30 -42
  50. package/src/generators/library/library.js.map +1 -1
  51. package/src/generators/library/schema.d.ts +19 -17
  52. package/src/generators/library/schema.json +14 -4
  53. package/src/generators/remote/files/module-federation-ssr/module-federation.server.config.js__tmpl__ +13 -0
  54. package/src/generators/remote/files/module-federation-ssr/webpack.server.config.js__tmpl__ +8 -0
  55. package/src/generators/remote/lib/setup-ssr-for-remote.d.ts +4 -0
  56. package/src/generators/remote/lib/setup-ssr-for-remote.js +21 -0
  57. package/src/generators/remote/lib/setup-ssr-for-remote.js.map +1 -0
  58. package/src/generators/remote/remote.d.ts +2 -2
  59. package/src/generators/remote/remote.js +17 -2
  60. package/src/generators/remote/remote.js.map +1 -1
  61. package/src/generators/remote/schema.d.ts +14 -13
  62. package/src/generators/remote/schema.json +5 -0
  63. package/src/generators/setup-ssr/files/server.ts__tmpl__ +11 -7
  64. package/src/generators/setup-ssr/files/tsconfig.server.json__tmpl__ +2 -1
  65. package/src/generators/setup-ssr/schema.d.ts +2 -1
  66. package/src/generators/setup-ssr/schema.json +9 -0
  67. package/src/generators/setup-ssr/setup-ssr.js +39 -10
  68. package/src/generators/setup-ssr/setup-ssr.js.map +1 -1
  69. package/src/generators/storybook-configuration/configuration.js +14 -3
  70. package/src/generators/storybook-configuration/configuration.js.map +1 -1
  71. package/src/generators/storybook-configuration/schema.d.ts +1 -0
  72. package/src/generators/storybook-configuration/schema.json +5 -2
  73. package/src/migrations/update-15-3-0/update-rollup-executor.d.ts +3 -0
  74. package/src/migrations/update-15-3-0/update-rollup-executor.js +17 -0
  75. package/src/migrations/update-15-3-0/update-rollup-executor.js.map +1 -0
  76. package/src/utils/ast-utils.d.ts +1 -0
  77. package/src/utils/ast-utils.js +24 -1
  78. package/src/utils/ast-utils.js.map +1 -1
  79. package/src/utils/lint.d.ts +26 -0
  80. package/src/utils/lint.js +10 -1
  81. package/src/utils/lint.js.map +1 -1
  82. package/src/utils/versions.d.ts +4 -1
  83. package/src/utils/versions.js +6 -2
  84. package/src/utils/versions.js.map +1 -1
  85. package/src/generators/application/files/common-vite/public/.gitkeep +0 -0
  86. package/src/generators/application/files/common-vite/src/polyfills.ts__tmpl__ +0 -7
  87. package/src/generators/library/files/lib/package.json__tmpl__ +0 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [15.3.0-beta.1](https://github.com/nrwl/nx/compare/15.2.0...15.3.0-beta.1) (2022-11-24)
6
+ # [15.3.0-beta.11](https://github.com/nrwl/nx/compare/15.2.0...15.3.0-beta.11) (2022-12-01)
7
7
 
8
8
  **Note:** Version bump only for package @nrwl/react
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { extraEslintDependencies, createReactEslintJson, } from './src/utils/lint';
1
+ export { extraEslintDependencies, createReactEslintJson, extendReactEslintJson, } from './src/utils/lint';
2
2
  export { CSS_IN_JS_DEPENDENCIES } from './src/utils/styled';
3
3
  export { assertValidStyle } from './src/utils/assertion';
4
4
  export { reactDomVersion, reactVersion } from './src/utils/versions';
package/index.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.componentTestGenerator = exports.cypressComponentConfigGenerator = exports.remoteGenerator = exports.hostGenerator = exports.storybookConfigurationGenerator = exports.storiesGenerator = exports.reduxGenerator = exports.reactInitGenerator = exports.libraryGenerator = exports.componentStoryGenerator = exports.componentCypressGenerator = exports.hookGenerator = exports.componentGenerator = exports.applicationGenerator = exports.reactVersion = exports.reactDomVersion = exports.assertValidStyle = exports.CSS_IN_JS_DEPENDENCIES = exports.createReactEslintJson = exports.extraEslintDependencies = void 0;
3
+ exports.componentTestGenerator = exports.cypressComponentConfigGenerator = exports.remoteGenerator = exports.hostGenerator = exports.storybookConfigurationGenerator = exports.storiesGenerator = exports.reduxGenerator = exports.reactInitGenerator = exports.libraryGenerator = exports.componentStoryGenerator = exports.componentCypressGenerator = exports.hookGenerator = exports.componentGenerator = exports.applicationGenerator = exports.reactVersion = exports.reactDomVersion = exports.assertValidStyle = exports.CSS_IN_JS_DEPENDENCIES = exports.extendReactEslintJson = exports.createReactEslintJson = exports.extraEslintDependencies = void 0;
4
4
  var lint_1 = require("./src/utils/lint");
5
5
  Object.defineProperty(exports, "extraEslintDependencies", { enumerable: true, get: function () { return lint_1.extraEslintDependencies; } });
6
6
  Object.defineProperty(exports, "createReactEslintJson", { enumerable: true, get: function () { return lint_1.createReactEslintJson; } });
7
+ Object.defineProperty(exports, "extendReactEslintJson", { enumerable: true, get: function () { return lint_1.extendReactEslintJson; } });
7
8
  var styled_1 = require("./src/utils/styled");
8
9
  Object.defineProperty(exports, "CSS_IN_JS_DEPENDENCIES", { enumerable: true, get: function () { return styled_1.CSS_IN_JS_DEPENDENCIES; } });
9
10
  var assertion_1 = require("./src/utils/assertion");
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/react/index.ts"],"names":[],"mappings":";;;AAAA,yCAG0B;AAFxB,+GAAA,uBAAuB,OAAA;AACvB,6GAAA,qBAAqB,OAAA;AAEvB,6CAA4D;AAAnD,gHAAA,sBAAsB,OAAA;AAC/B,mDAAyD;AAAhD,6GAAA,gBAAgB,OAAA;AACzB,iDAAqE;AAA5D,2GAAA,eAAe,OAAA;AAAE,wGAAA,YAAY,OAAA;AACtC,wEAAgF;AAAvE,mHAAA,oBAAoB,OAAA;AAC7B,kEAA0E;AAAjE,+GAAA,kBAAkB,OAAA;AAC3B,mDAA2D;AAAlD,qGAAA,aAAa,OAAA;AACtB,yGAA2G;AAAlG,mIAAA,yBAAyB,OAAA;AAClC,oFAA2F;AAAlF,0HAAA,uBAAuB,OAAA;AAChC,4DAAoE;AAA3D,2GAAA,gBAAgB,OAAA;AACzB,mDAAgE;AAAvD,0GAAA,kBAAkB,OAAA;AAC3B,sDAA8D;AAArD,uGAAA,cAAc,OAAA;AACvB,4DAAoE;AAA3D,2GAAA,gBAAgB,OAAA;AACzB,wFAAyG;AAAhG,gIAAA,+BAA+B,OAAA;AACxC,mDAA2D;AAAlD,qGAAA,aAAa,OAAA;AACtB,yDAAiE;AAAxD,yGAAA,eAAe,OAAA;AACxB,oIAAmI;AAA1H,kJAAA,+BAA+B,OAAA;AACxC,iFAAwF;AAA/E,wHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/react/index.ts"],"names":[],"mappings":";;;AAAA,yCAI0B;AAHxB,+GAAA,uBAAuB,OAAA;AACvB,6GAAA,qBAAqB,OAAA;AACrB,6GAAA,qBAAqB,OAAA;AAEvB,6CAA4D;AAAnD,gHAAA,sBAAsB,OAAA;AAC/B,mDAAyD;AAAhD,6GAAA,gBAAgB,OAAA;AACzB,iDAAqE;AAA5D,2GAAA,eAAe,OAAA;AAAE,wGAAA,YAAY,OAAA;AACtC,wEAAgF;AAAvE,mHAAA,oBAAoB,OAAA;AAC7B,kEAA0E;AAAjE,+GAAA,kBAAkB,OAAA;AAC3B,mDAA2D;AAAlD,qGAAA,aAAa,OAAA;AACtB,yGAA2G;AAAlG,mIAAA,yBAAyB,OAAA;AAClC,oFAA2F;AAAlF,0HAAA,uBAAuB,OAAA;AAChC,4DAAoE;AAA3D,2GAAA,gBAAgB,OAAA;AACzB,mDAAgE;AAAvD,0GAAA,kBAAkB,OAAA;AAC3B,sDAA8D;AAArD,uGAAA,cAAc,OAAA;AACvB,4DAAoE;AAA3D,2GAAA,gBAAgB,OAAA;AACzB,wFAAyG;AAAhG,gIAAA,+BAA+B,OAAA;AACxC,mDAA2D;AAAlD,qGAAA,aAAa,OAAA;AACtB,yDAAiE;AAAxD,yGAAA,eAAe,OAAA;AACxB,oIAAmI;AAA1H,kJAAA,+BAA+B,OAAA;AACxC,iFAAwF;AAA/E,wHAAA,sBAAsB,OAAA"}
package/migrations.json CHANGED
@@ -65,6 +65,12 @@
65
65
  "version": "14.6.0-beta.0",
66
66
  "description": "Update babel-jest to include the @nrwl/react/babel preset in project jest config",
67
67
  "factory": "./src/migrations/update-14-6-0/add-preset-jest-config"
68
+ },
69
+ "update-rollup-executor": {
70
+ "cli": "nx",
71
+ "version": "15.3.0-beta.0",
72
+ "description": "Update projects using @nrwl/web:rollup to @nrwl/rollup:rollup for build.",
73
+ "factory": "./src/migrations/update-15-3-0/update-rollup-executor"
68
74
  }
69
75
  },
70
76
  "packageJsonUpdates": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/react",
3
- "version": "15.3.0-beta.1",
3
+ "version": "15.3.0-beta.11",
4
4
  "private": false,
5
5
  "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.",
6
6
  "repository": {
@@ -33,16 +33,16 @@
33
33
  "dependencies": {
34
34
  "@babel/core": "^7.15.0",
35
35
  "@babel/preset-react": "^7.14.5",
36
- "@nrwl/cypress": "15.3.0-beta.1",
37
- "@nrwl/devkit": "15.3.0-beta.1",
38
- "@nrwl/jest": "15.3.0-beta.1",
39
- "@nrwl/js": "15.3.0-beta.1",
40
- "@nrwl/linter": "15.3.0-beta.1",
41
- "@nrwl/storybook": "15.3.0-beta.1",
42
- "@nrwl/vite": "15.3.0-beta.1",
43
- "@nrwl/web": "15.3.0-beta.1",
44
- "@nrwl/webpack": "15.3.0-beta.1",
45
- "@nrwl/workspace": "15.3.0-beta.1",
36
+ "@nrwl/cypress": "15.3.0-beta.11",
37
+ "@nrwl/devkit": "15.3.0-beta.11",
38
+ "@nrwl/jest": "15.3.0-beta.11",
39
+ "@nrwl/js": "15.3.0-beta.11",
40
+ "@nrwl/linter": "15.3.0-beta.11",
41
+ "@nrwl/storybook": "15.3.0-beta.11",
42
+ "@nrwl/vite": "15.3.0-beta.11",
43
+ "@nrwl/web": "15.3.0-beta.11",
44
+ "@nrwl/webpack": "15.3.0-beta.11",
45
+ "@nrwl/workspace": "15.3.0-beta.11",
46
46
  "@phenomnomnominal/tsquery": "4.1.1",
47
47
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
48
48
  "@svgr/webpack": "^6.1.2",
@@ -62,5 +62,5 @@
62
62
  "access": "public"
63
63
  },
64
64
  "types": "./index.d.ts",
65
- "gitHead": "2d43fddb87f6044faf72cb3d3bc7ca82d36b3237"
65
+ "gitHead": "4c723de4448fef0b7d0da2f47af3b27d847b2816"
66
66
  }
@@ -19,6 +19,7 @@ const linter_1 = require("@nrwl/linter");
19
19
  const versions_1 = require("@nrwl/js/src/utils/versions");
20
20
  const versions_2 = require("@nrwl/webpack/src/utils/versions");
21
21
  const vite_1 = require("@nrwl/vite");
22
+ const lint_project_1 = require("@nrwl/linter/src/generators/lint-project/lint-project");
22
23
  function addLinting(host, options) {
23
24
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
25
  const tasks = [];
@@ -30,12 +31,14 @@ function addLinting(host, options) {
30
31
  (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json'),
31
32
  ],
32
33
  unitTestRunner: options.unitTestRunner,
33
- eslintFilePatterns: [`${options.appProjectRoot}/**/*.{ts,tsx,js,jsx}`],
34
+ eslintFilePatterns: [
35
+ (0, lint_project_1.mapLintPattern)(options.appProjectRoot, '{ts,tsx,js,jsx}', options.rootProject),
36
+ ],
34
37
  skipFormat: true,
38
+ rootProject: options.rootProject,
35
39
  });
36
40
  tasks.push(lintTask);
37
- const reactEslintJson = (0, lint_1.createReactEslintJson)(options.appProjectRoot, options.setParserOptionsProject);
38
- (0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.appProjectRoot, '.eslintrc.json'), () => reactEslintJson);
41
+ (0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.appProjectRoot, '.eslintrc.json'), lint_1.extendReactEslintJson);
39
42
  const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, Object.assign(Object.assign({}, lint_1.extraEslintDependencies.devDependencies), (options.compiler === 'swc'
40
43
  ? { '@swc/core': versions_1.swcCoreVersion, 'swc-loader': versions_2.swcLoaderVersion }
41
44
  : {})));
@@ -48,11 +51,14 @@ function applicationGenerator(host, schema) {
48
51
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
52
  const tasks = [];
50
53
  const options = (0, normalize_options_1.normalizeOptions)(host, schema);
51
- const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true }));
54
+ const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true, skipBabelConfig: options.bundler === 'vite', skipHelperLibs: options.bundler === 'vite' }));
52
55
  tasks.push(initTask);
53
56
  (0, create_application_files_1.createApplicationFiles)(host, options);
54
57
  (0, add_project_1.addProject)(host, options);
55
58
  if (options.bundler === 'vite') {
59
+ // We recommend users use `import.meta.env.MODE` and other variables in their code to differentiate between production and development.
60
+ // See: https://vitejs.dev/guide/env-and-mode.html
61
+ host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, 'src/environments'));
56
62
  const viteTask = yield (0, vite_1.viteConfigurationGenerator)(host, {
57
63
  uiFramework: 'react',
58
64
  project: options.projectName,
@@ -69,12 +75,19 @@ function applicationGenerator(host, schema) {
69
75
  });
70
76
  tasks.push(vitestTask);
71
77
  }
78
+ if ((options.bundler === 'vite' || options.unitTestRunner === 'vitest') &&
79
+ options.inSourceTests) {
80
+ host.delete((0, devkit_1.joinPathFragments)(options.appProjectRoot, `src/app/${options.fileName}.spec.tsx`));
81
+ }
72
82
  const lintTask = yield addLinting(host, options);
73
83
  tasks.push(lintTask);
74
84
  const cypressTask = yield (0, add_cypress_1.addCypress)(host, options);
75
85
  tasks.push(cypressTask);
76
- const jestTask = yield (0, add_jest_1.addJest)(host, options);
77
- tasks.push(jestTask);
86
+ if (options.unitTestRunner === 'jest') {
87
+ const jestTask = yield (0, add_jest_1.addJest)(host, options);
88
+ tasks.push(jestTask);
89
+ }
90
+ // Handle tsconfig.spec.json for jest or vitest
78
91
  (0, update_jest_config_1.updateSpecConfig)(host, options);
79
92
  const styledTask = (0, add_styled_dependencies_1.addStyledModuleDependencies)(host, options.styledModule);
80
93
  tasks.push(styledTask);
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/application/application.ts"],"names":[],"mappings":";;;;AAAA,2CAG0B;AAE1B,6EAAwE;AACxE,iEAA4D;AAC5D,+DAA2D;AAC3D,mDAA+C;AAC/C,mDAA+C;AAC/C,6CAAyC;AACzC,mDAA+C;AAC/C,qDAAiD;AACjD,iFAAkF;AAClF,yCAQsB;AACtB,2FAAqF;AACrF,uCAA8C;AAC9C,yCAA4D;AAC5D,0DAA6D;AAC7D,+DAAoE;AACpE,qCAAyE;AAEzE,SAAe,UAAU,CAAC,IAAU,EAAE,OAAyB;;QAC7D,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,MAAM,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,WAAW;gBAC5B,aAAa,EAAE;oBACb,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC;iBAC/D;gBACD,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,uBAAuB,CAAC;gBACtE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErB,MAAM,eAAe,GAAG,IAAA,4BAAqB,EAC3C,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,uBAAuB,CAChC,CAAC;YAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC3D,GAAG,EAAE,CAAC,eAAe,CACtB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,8BAAuB,CAAC,YAAY,kCAE/B,8BAAuB,CAAC,eAAe,GACvC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC5B,CAAC,CAAC,EAAE,WAAW,EAAE,yBAAc,EAAE,YAAY,EAAE,2BAAgB,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAC,EAEV,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QACD,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAED,SAAsB,oBAAoB,CAAC,IAAU,EAAE,MAAc;;QACnE,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAkB,EAAC,IAAI,kCACzC,OAAO,KACV,UAAU,EAAE,IAAI,IAChB,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,iDAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAA0B,EAAC,IAAI,EAAE;gBACtD,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,OAAO,CAAC,WAAW;gBAC5B,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE;YACrE,MAAM,UAAU,GAAG,MAAM,IAAA,sBAAe,EAAC,IAAI,EAAE;gBAC7C,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,OAAO,CAAC,WAAW;gBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxB;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAA,qCAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAA,qDAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,IAAA,0BAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AArDD,oDAqDC;AAED,kBAAe,oBAAoB,CAAC;AACvB,QAAA,oBAAoB,GAAG,IAAA,2BAAkB,EAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/application/application.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@
6
6
  <base href="/" />
7
7
 
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1" />
9
- <link rel="icon" type="image/x-icon" href="favicon.ico" />
9
+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
10
+ <% if (!styledModule && style !== 'none') { %><link rel="stylesheet" href="/src/styles.<%= style %>" /><% } %>
10
11
  </head>
11
12
  <body>
12
13
  <div id="root"></div>
@@ -8,7 +8,7 @@ function addCypress(host, options) {
8
8
  if (options.e2eTestRunner !== 'cypress') {
9
9
  return () => { };
10
10
  }
11
- return yield (0, cypress_1.cypressProjectGenerator)(host, Object.assign(Object.assign({}, options), { name: options.e2eProjectName, directory: options.directory, project: options.projectName }));
11
+ return yield (0, cypress_1.cypressProjectGenerator)(host, Object.assign(Object.assign({}, options), { name: options.e2eProjectName, directory: options.directory, project: options.projectName, rootProject: options.rootProject }));
12
12
  });
13
13
  }
14
14
  exports.addCypress = addCypress;
@@ -1 +1 @@
1
- {"version":3,"file":"add-cypress.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/add-cypress.ts"],"names":[],"mappings":";;;;AAAA,2CAAwD;AAIxD,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE;YACvC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,MAAM,IAAA,iCAAuB,EAAC,IAAI,kCACpC,OAAO,KACV,IAAI,EAAE,OAAO,CAAC,cAAc,EAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,OAAO,CAAC,WAAW,IAC5B,CAAC;IACL,CAAC;CAAA;AAXD,gCAWC"}
1
+ {"version":3,"file":"add-cypress.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/add-cypress.ts"],"names":[],"mappings":";;;;AAAA,2CAAwD;AAIxD,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE;YACvC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,MAAM,IAAA,iCAAuB,EAAC,IAAI,kCACpC,OAAO,KACV,IAAI,EAAE,OAAO,CAAC,cAAc,EAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,IAChC,CAAC;IACL,CAAC;CAAA;AAZD,gCAYC"}
@@ -8,7 +8,7 @@ function addJest(host, options) {
8
8
  if (options.unitTestRunner !== 'jest') {
9
9
  return () => { };
10
10
  }
11
- return yield (0, jest_1.jestProjectGenerator)(host, Object.assign(Object.assign({}, options), { project: options.projectName, supportTsx: true, skipSerializers: true, setupFile: 'none', compiler: options.compiler }));
11
+ return yield (0, jest_1.jestProjectGenerator)(host, Object.assign(Object.assign({}, options), { project: options.projectName, supportTsx: true, skipSerializers: true, setupFile: 'none', compiler: options.compiler, rootProject: options.rootProject }));
12
12
  });
13
13
  }
14
14
  exports.addJest = addJest;
@@ -1 +1 @@
1
- {"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/add-jest.ts"],"names":[],"mappings":";;;;AACA,qCAAkD;AAGlD,SAAsB,OAAO,CAAC,IAAU,EAAE,OAAyB;;QACjE,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;YACrC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,MAAM,IAAA,2BAAoB,EAAC,IAAI,kCACjC,OAAO,KACV,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,UAAU,EAAE,IAAI,EAChB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAC1B,CAAC;IACL,CAAC;CAAA;AAbD,0BAaC"}
1
+ {"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/add-jest.ts"],"names":[],"mappings":";;;;AACA,qCAAkD;AAGlD,SAAsB,OAAO,CAAC,IAAU,EAAE,OAAyB;;QACjE,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;YACrC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,MAAM,IAAA,2BAAoB,EAAC,IAAI,kCACjC,OAAO,KACV,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,UAAU,EAAE,IAAI,EAChB,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAChC,CAAC;IACL,CAAC;CAAA;AAdD,0BAcC"}
@@ -2,4 +2,4 @@ import { NormalizedSchema, Schema } from '../schema';
2
2
  import { Tree } from '@nrwl/devkit';
3
3
  export declare function normalizeDirectory(options: Schema): string;
4
4
  export declare function normalizeProjectName(options: Schema): string;
5
- export declare function normalizeOptions(host: Tree, options: Schema): NormalizedSchema;
5
+ export declare function normalizeOptions<T extends Schema = Schema>(host: Tree, options: Schema): NormalizedSchema<T>;
@@ -5,8 +5,9 @@ const assertion_1 = require("../../../utils/assertion");
5
5
  const devkit_1 = require("@nrwl/devkit");
6
6
  const find_free_port_1 = require("./find-free-port");
7
7
  function normalizeDirectory(options) {
8
- return options.directory
9
- ? `${(0, devkit_1.names)(options.directory).fileName}/${(0, devkit_1.names)(options.name).fileName}`
8
+ const { projectDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
9
+ return projectDirectory
10
+ ? `${(0, devkit_1.names)(projectDirectory).fileName}/${(0, devkit_1.names)(options.name).fileName}`
10
11
  : (0, devkit_1.names)(options.name).fileName;
11
12
  }
12
13
  exports.normalizeDirectory = normalizeDirectory;
@@ -21,7 +22,8 @@ function normalizeOptions(host, options) {
21
22
  const e2eProjectName = options.rootProject
22
23
  ? 'e2e'
23
24
  : `${(0, devkit_1.names)(options.name).fileName}-e2e`;
24
- const { appsDir } = (0, devkit_1.getWorkspaceLayout)(host);
25
+ const { layoutDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
26
+ const appsDir = layoutDirectory !== null && layoutDirectory !== void 0 ? layoutDirectory : (0, devkit_1.getWorkspaceLayout)(host).appsDir;
25
27
  const appProjectRoot = options.rootProject
26
28
  ? '.'
27
29
  : (0, devkit_1.normalizePath)(`${appsDir}/${appDirectory}`);
@@ -36,19 +38,22 @@ function normalizeOptions(host, options) {
36
38
  if (options.bundler === 'vite') {
37
39
  options.unitTestRunner = 'vitest';
38
40
  }
39
- options.routing = (_a = options.routing) !== null && _a !== void 0 ? _a : false;
40
- options.strict = (_b = options.strict) !== null && _b !== void 0 ? _b : true;
41
- options.classComponent = (_c = options.classComponent) !== null && _c !== void 0 ? _c : false;
42
- options.unitTestRunner = (_d = options.unitTestRunner) !== null && _d !== void 0 ? _d : 'jest';
43
- options.e2eTestRunner = (_e = options.e2eTestRunner) !== null && _e !== void 0 ? _e : 'cypress';
44
- options.compiler = (_f = options.compiler) !== null && _f !== void 0 ? _f : 'babel';
45
- options.bundler = (_g = options.bundler) !== null && _g !== void 0 ? _g : 'webpack';
46
- (_h = options.devServerPort) !== null && _h !== void 0 ? _h : (options.devServerPort = (0, find_free_port_1.findFreePort)(host));
47
- return Object.assign(Object.assign({}, options), { name: (0, devkit_1.names)(options.name).fileName, projectName: appProjectName, appProjectRoot,
41
+ const normalized = Object.assign(Object.assign({}, options), { name: (0, devkit_1.names)(options.name).fileName, projectName: appProjectName, appProjectRoot,
48
42
  e2eProjectName,
49
43
  parsedTags,
50
44
  fileName,
51
45
  styledModule, hasStyles: options.style !== 'none' });
46
+ normalized.routing = (_a = normalized.routing) !== null && _a !== void 0 ? _a : false;
47
+ normalized.strict = (_b = normalized.strict) !== null && _b !== void 0 ? _b : true;
48
+ normalized.classComponent = (_c = normalized.classComponent) !== null && _c !== void 0 ? _c : false;
49
+ normalized.compiler = (_d = normalized.compiler) !== null && _d !== void 0 ? _d : 'babel';
50
+ normalized.bundler = (_e = normalized.bundler) !== null && _e !== void 0 ? _e : 'webpack';
51
+ normalized.unitTestRunner =
52
+ (_f = normalized.unitTestRunner) !== null && _f !== void 0 ? _f : (normalized.bundler === 'vite' ? 'vitest' : 'jest');
53
+ normalized.e2eTestRunner = (_g = normalized.e2eTestRunner) !== null && _g !== void 0 ? _g : 'cypress';
54
+ normalized.inSourceTests = normalized.minimal || normalized.inSourceTests;
55
+ (_h = normalized.devServerPort) !== null && _h !== void 0 ? _h : (normalized.devServerPort = (0, find_free_port_1.findFreePort)(host));
56
+ return normalized;
52
57
  }
53
58
  exports.normalizeOptions = normalizeOptions;
54
59
  //# sourceMappingURL=normalize-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,wDAA4D;AAC5D,yCAMsB;AACtB,qDAAgD;AAEhD,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvE,OAAO,gBAAgB;QACrB,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAC,QAAQ,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QACvE,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AACnC,CAAC;AALD,gDAKC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC;AAFD,oDAEC;AAED,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;;IAEf,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW;QACxC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,MAAM,CAAC;IAE1C,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,+BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IACpE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW;QACxC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAA,sBAAa,EAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzD,MAAM,YAAY,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACpE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAElB,IAAA,4BAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE;QAC9B,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC;KACnC;IAED,MAAM,UAAU,GAAG,gCACd,OAAO,KACV,IAAI,EAAE,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAClC,WAAW,EAAE,cAAc,EAC3B,cAAc;QACd,cAAc;QACd,UAAU;QACV,QAAQ;QACR,YAAY,EACZ,SAAS,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,GAChB,CAAC;IAEtB,UAAU,CAAC,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,mCAAI,KAAK,CAAC;IACjD,UAAU,CAAC,MAAM,GAAG,MAAA,UAAU,CAAC,MAAM,mCAAI,IAAI,CAAC;IAC9C,UAAU,CAAC,cAAc,GAAG,MAAA,UAAU,CAAC,cAAc,mCAAI,KAAK,CAAC;IAC/D,UAAU,CAAC,QAAQ,GAAG,MAAA,UAAU,CAAC,QAAQ,mCAAI,OAAO,CAAC;IACrD,UAAU,CAAC,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,mCAAI,SAAS,CAAC;IACrD,UAAU,CAAC,cAAc;QACvB,MAAA,UAAU,CAAC,cAAc,mCACzB,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,UAAU,CAAC,aAAa,GAAG,MAAA,UAAU,CAAC,aAAa,mCAAI,SAAS,CAAC;IACjE,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC;IAC1E,MAAA,UAAU,CAAC,aAAa,oCAAxB,UAAU,CAAC,aAAa,GAAK,IAAA,6BAAY,EAAC,IAAI,CAAC,EAAC;IAEhD,OAAO,UAAU,CAAC;AACpB,CAAC;AAzDD,4CAyDC"}
@@ -14,7 +14,7 @@ function setDefaults(host, options) {
14
14
  workspace.generators['@nrwl/react'] =
15
15
  workspace.generators['@nrwl/react'] || {};
16
16
  const prev = Object.assign({}, workspace.generators['@nrwl/react']);
17
- workspace.generators = Object.assign(Object.assign({}, workspace.generators), { '@nrwl/react': Object.assign(Object.assign({}, prev), { application: Object.assign({ style: options.style, unitTestRunner: options.unitTestRunner, linter: options.linter }, prev.application), component: Object.assign({ style: options.style }, prev.component), library: Object.assign({ style: options.style, unitTestRunner: options.unitTestRunner, linter: options.linter }, prev.library) }) });
17
+ workspace.generators = Object.assign(Object.assign({}, workspace.generators), { '@nrwl/react': Object.assign(Object.assign({}, prev), { application: Object.assign({ style: options.style, linter: options.linter, bundler: options.bundler }, prev.application), component: Object.assign({ style: options.style }, prev.component), library: Object.assign({ style: options.style, linter: options.linter }, prev.library) }) });
18
18
  (0, devkit_1.updateWorkspaceConfiguration)(host, workspace);
19
19
  }
20
20
  exports.setDefaults = setDefaults;
@@ -1 +1 @@
1
- {"version":3,"file":"set-defaults.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/set-defaults.ts"],"names":[],"mappings":";;;AAAA,yCAIsB;AAGtB,SAAgB,WAAW,CAAC,IAAU,EAAE,OAAyB;IAC/D,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,SAAS,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;QAC5D,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;KAChD;IAED,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAClD,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;QACjC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAE5C,MAAM,IAAI,qBAAQ,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAE,CAAC;IAExD,SAAS,CAAC,UAAU,mCACf,SAAS,CAAC,UAAU,KACvB,aAAa,kCACR,IAAI,KACP,WAAW,kBACT,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,cAAc,EAAE,OAAO,CAAC,cAAc,EACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IACnB,IAAI,CAAC,WAAW,GAErB,SAAS,kBACP,KAAK,EAAE,OAAO,CAAC,KAAK,IACjB,IAAI,CAAC,SAAS,GAEnB,OAAO,kBACL,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,cAAc,EAAE,OAAO,CAAC,cAAc,EACtC,MAAM,EAAE,OAAO,CAAC,MAAM,IACnB,IAAI,CAAC,OAAO,OAGpB,CAAC;IAEF,IAAA,qCAA4B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAzCD,kCAyCC"}
1
+ {"version":3,"file":"set-defaults.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/application/lib/set-defaults.ts"],"names":[],"mappings":";;;AAAA,yCAIsB;AAGtB,SAAgB,WAAW,CAAC,IAAU,EAAE,OAAyB;IAC/D,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,SAAS,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;QAC5D,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;KAChD;IAED,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAClD,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;QACjC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAE5C,MAAM,IAAI,qBAAQ,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAE,CAAC;IAExD,SAAS,CAAC,UAAU,mCACf,SAAS,CAAC,UAAU,KACvB,aAAa,kCACR,IAAI,KACP,WAAW,kBACT,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IACrB,IAAI,CAAC,WAAW,GAErB,SAAS,kBACP,KAAK,EAAE,OAAO,CAAC,KAAK,IACjB,IAAI,CAAC,SAAS,GAEnB,OAAO,kBACL,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,MAAM,EAAE,OAAO,CAAC,MAAM,IACnB,IAAI,CAAC,OAAO,OAGpB,CAAC;IAEF,IAAA,qCAA4B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAxCD,kCAwCC"}
@@ -4,10 +4,10 @@ import { SupportedStyles } from '../../../typings/style';
4
4
  export interface Schema {
5
5
  name: string;
6
6
  style: SupportedStyles;
7
- skipFormat: boolean;
7
+ skipFormat?: boolean;
8
8
  directory?: string;
9
9
  tags?: string;
10
- unitTestRunner: 'jest' | 'vitest' | 'none';
10
+ unitTestRunner?: 'jest' | 'vitest' | 'none';
11
11
  inSourceTests?: boolean;
12
12
  /**
13
13
  * @deprecated
@@ -31,9 +31,10 @@ export interface Schema {
31
31
  skipPackageJson?: boolean;
32
32
  rootProject?: boolean;
33
33
  bundler?: 'webpack' | 'vite';
34
+ minimal?: boolean;
34
35
  }
35
36
 
36
- export interface NormalizedSchema extends Schema {
37
+ export interface NormalizedSchema<T extends Schema = Schema> extends T {
37
38
  projectName: string;
38
39
  appProjectRoot: string;
39
40
  e2eProjectName: string;
@@ -41,4 +42,5 @@ export interface NormalizedSchema extends Schema {
41
42
  fileName: string;
42
43
  styledModule: null | SupportedStyles;
43
44
  hasStyles: boolean;
45
+ unitTestRunner: 'jest' | 'vitest' | 'none';
44
46
  }
@@ -185,8 +185,13 @@
185
185
  "description": "The bundler to use.",
186
186
  "type": "string",
187
187
  "enum": ["vite", "webpack"],
188
- "x-prompt": "Which bundler do you want to use?",
188
+ "x-prompt": "Which bundler do you want to use to build the application?",
189
189
  "default": "webpack"
190
+ },
191
+ "minimal": {
192
+ "description": "Generate a React app with a minimal setup, no separate test files.",
193
+ "type": "boolean",
194
+ "default": false
190
195
  }
191
196
  },
192
197
  "required": [],
@@ -0,0 +1,13 @@
1
+ // @ts-check
2
+
3
+ /**
4
+ * @type {import('@nrwl/devkit').ModuleFederationConfig}
5
+ **/
6
+ const moduleFederationConfig = {
7
+ name: '<%= projectName %>',
8
+ remotes: [
9
+ <% remotes.forEach(function(r) {%> "<%= r.fileName %>", <% }); %>
10
+ ],
11
+ };
12
+
13
+ module.exports = moduleFederationConfig;
@@ -0,0 +1,8 @@
1
+ const { withModuleFederationForSSR } = require('@nrwl/react/module-federation');
2
+ const baseConfig = require("./module-federation.server.config");
3
+
4
+ const defaultConfig = {
5
+ ...baseConfig
6
+ };
7
+
8
+ module.exports = withModuleFederationForSSR(defaultConfig);
@@ -1,4 +1,4 @@
1
- import { Tree } from '@nrwl/devkit';
1
+ import { GeneratorCallback, Tree } from '@nrwl/devkit';
2
2
  import { Schema } from './schema';
3
- export declare function hostGenerator(host: Tree, schema: Schema): Promise<import("@nrwl/devkit").GeneratorCallback>;
3
+ export declare function hostGenerator(host: Tree, schema: Schema): Promise<GeneratorCallback>;
4
4
  export default hostGenerator;
@@ -9,14 +9,19 @@ const update_module_federation_project_1 = require("../../rules/update-module-fe
9
9
  const add_module_federation_files_1 = require("./lib/add-module-federation-files");
10
10
  const update_module_federation_e2e_project_1 = require("./lib/update-module-federation-e2e-project");
11
11
  const remote_1 = require("../remote/remote");
12
+ const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
13
+ const setup_ssr_1 = require("../setup-ssr/setup-ssr");
14
+ const setup_ssr_for_host_1 = require("./lib/setup-ssr-for-host");
12
15
  function hostGenerator(host, schema) {
13
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const tasks = [];
14
18
  const options = (0, normalize_options_1.normalizeOptions)(host, schema);
15
19
  const initTask = yield (0, application_1.default)(host, Object.assign(Object.assign({}, options), {
16
20
  // The target use-case is loading remotes as child routes, thus always enable routing.
17
21
  routing: true,
18
22
  // Only webpack works with module federation for now.
19
23
  bundler: 'webpack' }));
24
+ tasks.push(initTask);
20
25
  const remotesWithPorts = [];
21
26
  if (schema.remotes) {
22
27
  let remotePort = options.devServerPort + 1;
@@ -31,6 +36,7 @@ function hostGenerator(host, schema) {
31
36
  e2eTestRunner: options.e2eTestRunner,
32
37
  linter: options.linter,
33
38
  devServerPort: remotePort,
39
+ ssr: options.ssr,
34
40
  });
35
41
  remotePort++;
36
42
  }
@@ -38,10 +44,21 @@ function hostGenerator(host, schema) {
38
44
  (0, add_module_federation_files_1.addModuleFederationFiles)(host, options, remotesWithPorts);
39
45
  (0, update_module_federation_project_1.updateModuleFederationProject)(host, options);
40
46
  (0, update_module_federation_e2e_project_1.updateModuleFederationE2eProject)(host, options);
47
+ if (options.ssr) {
48
+ const setupSsrTask = yield (0, setup_ssr_1.default)(host, {
49
+ project: options.projectName,
50
+ });
51
+ tasks.push(setupSsrTask);
52
+ const setupSsrForHostTask = yield (0, setup_ssr_for_host_1.setupSsrForHost)(host, options, options.projectName, remotesWithPorts);
53
+ tasks.push(setupSsrForHostTask);
54
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
55
+ projectConfig.targets.server.options.webpackConfig = (0, devkit_1.joinPathFragments)(projectConfig.root, 'webpack.server.config.js');
56
+ (0, devkit_1.updateProjectConfiguration)(host, options.projectName, projectConfig);
57
+ }
41
58
  if (!options.skipFormat) {
42
59
  yield (0, devkit_1.formatFiles)(host);
43
60
  }
44
- return initTask;
61
+ return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks);
45
62
  });
46
63
  }
47
64
  exports.hostGenerator = hostGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/host/host.ts"],"names":[],"mappings":";;;;AAAA,yCAAiD;AAEjD,4DAA8D;AAC9D,4EAAwE;AACxE,mGAA6F;AAC7F,mFAA6E;AAC7E,qGAA8F;AAE9F,6CAA+C;AAE/C,SAAsB,aAAa,CAAC,IAAU,EAAE,MAAc;;QAC5D,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAoB,EAAC,IAAI,kCAC3C,OAAO;YACV,sFAAsF;YACtF,OAAO,EAAE,IAAI;YACb,qDAAqD;YACrD,OAAO,EAAE,SAAS,IAClB,CAAC;QAEH,MAAM,gBAAgB,GAAqC,EAAE,CAAC;QAE9D,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC1D,MAAM,IAAA,gBAAe,EAAC,IAAI,EAAE;oBAC1B,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,UAAU;iBAC1B,CAAC,CAAC;gBACH,UAAU,EAAE,CAAC;aACd;SACF;QAED,IAAA,sDAAwB,EAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IAAA,gEAA6B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAA,uEAAgC,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAxCD,sCAwCC;AAED,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/host/host.ts"],"names":[],"mappings":";;;;AAAA,yCAOsB;AAEtB,4DAA8D;AAC9D,4EAAwE;AACxE,mGAA6F;AAC7F,mFAA6E;AAC7E,qGAA8F;AAG9F,6CAA+C;AAC/C,2FAAqF;AACrF,sDAAuD;AACvD,iEAA2D;AAE3D,SAAsB,aAAa,CAAC,IAAU,EAAE,MAAc;;QAC5D,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAS,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAoB,EAAC,IAAI,kCAC3C,OAAO;YACV,sFAAsF;YACtF,OAAO,EAAE,IAAI;YACb,qDAAqD;YACrD,OAAO,EAAE,SAAS,IAClB,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,MAAM,gBAAgB,GAAqC,EAAE,CAAC;QAE9D,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC1D,MAAM,IAAA,gBAAe,EAAC,IAAI,EAAE;oBAC1B,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;oBACtC,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,aAAa,EAAE,UAAU;oBACzB,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC,CAAC;gBACH,UAAU,EAAE,CAAC;aACd;SACF;QAED,IAAA,sDAAwB,EAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IAAA,gEAA6B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAA,uEAAgC,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAiB,EAAC,IAAI,EAAE;gBACjD,OAAO,EAAE,OAAO,CAAC,WAAW;aAC7B,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzB,MAAM,mBAAmB,GAAG,MAAM,IAAA,oCAAe,EAC/C,IAAI,EACJ,OAAO,EACP,OAAO,CAAC,WAAW,EACnB,gBAAgB,CACjB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEhC,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1E,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,IAAA,0BAAiB,EACpE,aAAa,CAAC,IAAI,EAClB,0BAA0B,CAC3B,CAAC;YACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SACtE;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAjED,sCAiEC;AAED,kBAAe,aAAa,CAAC"}
@@ -13,9 +13,9 @@ function addModuleFederationFiles(host, options, defaultRemoteManifest) {
13
13
  // Renaming original entry file so we can use `import(./bootstrap)` in
14
14
  // new entry file.
15
15
  host.rename((0, path_1.join)(options.appProjectRoot, 'src/main.tsx'), (0, path_1.join)(options.appProjectRoot, 'src/bootstrap.tsx'));
16
+ (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/common`), options.appProjectRoot, templateVariables);
16
17
  // New entry file is created here.
17
18
  (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/module-federation`), options.appProjectRoot, templateVariables);
18
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, `../files/common`), options.appProjectRoot, templateVariables);
19
19
  }
20
20
  exports.addModuleFederationFiles = addModuleFederationFiles;
21
21
  //# sourceMappingURL=add-module-federation-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-module-federation-files.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/host/lib/add-module-federation-files.ts"],"names":[],"mappings":";;;AACA,yCAAoD;AACpD,+BAA4B;AAC5B,+EAA+E;AAE/E,SAAgB,wBAAwB,CACtC,IAAI,EACJ,OAAyB,EACzB,qBAAuD;IAEvD,MAAM,iBAAiB,iDAClB,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,GACnB,OAAO,KACV,IAAI,EAAE,EAAE,EACR,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,IAAA,wCAAoB,kCAAM,OAAO,KAAE,IAAI,IAAG,CAAC;YAC1D,uCACK,IAAA,cAAK,EAAC,MAAM,CAAC,KAChB,IAAI,IACJ;QACJ,CAAC,CAAC,GACH,CAAC;IAEF,wEAAwE;IACxE,sEAAsE;IACtE,kBAAkB;IAClB,IAAI,CAAC,MAAM,CACT,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,EAC5C,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAClD,CAAC;IAEF,kCAAkC;IAClC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,4BAA4B,CAAC,EAC7C,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAClC,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAxCD,4DAwCC"}
1
+ {"version":3,"file":"add-module-federation-files.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/host/lib/add-module-federation-files.ts"],"names":[],"mappings":";;;AACA,yCAAoD;AACpD,+BAA4B;AAC5B,+EAA+E;AAE/E,SAAgB,wBAAwB,CACtC,IAAI,EACJ,OAAyB,EACzB,qBAAuD;IAEvD,MAAM,iBAAiB,iDAClB,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,GACnB,OAAO,KACV,IAAI,EAAE,EAAE,EACR,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,IAAA,wCAAoB,kCAAM,OAAO,KAAE,IAAI,IAAG,CAAC;YAC1D,uCACK,IAAA,cAAK,EAAC,MAAM,CAAC,KAChB,IAAI,IACJ;QACJ,CAAC,CAAC,GACH,CAAC;IAEF,wEAAwE;IACxE,sEAAsE;IACtE,kBAAkB;IAClB,IAAI,CAAC,MAAM,CACT,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,EAC5C,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAClD,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAClC,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;IAEF,kCAAkC;IAClC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,4BAA4B,CAAC,EAC7C,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAxCD,4DAwCC"}
@@ -0,0 +1,6 @@
1
+ import type { GeneratorCallback, Tree } from '@nrwl/devkit';
2
+ import type { Schema } from '../schema';
3
+ export declare function setupSsrForHost(tree: Tree, options: Schema, appName: string, defaultRemoteManifest: {
4
+ name: string;
5
+ port: number;
6
+ }[]): Promise<GeneratorCallback>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupSsrForHost = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
7
+ const versions_1 = require("../../../utils/versions");
8
+ const normalize_options_1 = require("../../application/lib/normalize-options");
9
+ function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const tasks = [];
12
+ const project = (0, devkit_1.readProjectConfiguration)(tree, appName);
13
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/module-federation-ssr'), project.root, Object.assign(Object.assign({}, options), { remotes: defaultRemoteManifest.map(({ name, port }) => {
14
+ const remote = (0, normalize_options_1.normalizeProjectName)(Object.assign(Object.assign({}, options), { name }));
15
+ return Object.assign(Object.assign({}, (0, devkit_1.names)(remote)), { port });
16
+ }), appName, tmpl: '' }));
17
+ const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
18
+ '@module-federation/node': versions_1.moduleFederationNodeVersion,
19
+ }, {});
20
+ tasks.push(installTask);
21
+ return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks);
22
+ });
23
+ }
24
+ exports.setupSsrForHost = setupSsrForHost;
25
+ //# sourceMappingURL=setup-ssr-for-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ssr-for-host.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/host/lib/setup-ssr-for-host.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AACtB,2FAAqF;AAGrF,sDAAsE;AACtE,+EAA+E;AAE/E,SAAsB,eAAe,CACnC,IAAU,EACV,OAAe,EACf,OAAe,EACf,qBAAuD;;QAEvD,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAExD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,gCAAgC,CAAC,EAC9D,OAAO,CAAC,IAAI,kCAEP,OAAO,KACV,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,IAAA,wCAAoB,kCAAM,OAAO,KAAE,IAAI,IAAG,CAAC;gBAC1D,uCACK,IAAA,cAAK,EAAC,MAAM,CAAC,KAChB,IAAI,IACJ;YACJ,CAAC,CAAC,EACF,OAAO,EACP,IAAI,EAAE,EAAE,IAEX,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,qCAA4B,EAC9C,IAAI,EACJ;YACE,yBAAyB,EAAE,sCAA2B;SACvD,EACD,EAAE,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExB,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AArCD,0CAqCC"}
@@ -2,29 +2,30 @@ import { Linter } from '@nrwl/linter';
2
2
  import { SupportedStyles } from '../../../typings';
3
3
 
4
4
  export interface Schema {
5
- name: string;
6
- style: SupportedStyles;
7
- skipFormat: boolean;
5
+ classComponent?: boolean;
6
+ compiler?: 'babel' | 'swc';
7
+ devServerPort?: number;
8
8
  directory?: string;
9
- tags?: string;
10
- unitTestRunner: 'jest' | 'vitest' | 'none';
11
9
  e2eTestRunner: 'cypress' | 'none';
10
+ globalCss?: boolean;
11
+ js?: boolean;
12
12
  linter: Linter;
13
+ name: string;
13
14
  pascalCaseFiles?: boolean;
14
- classComponent?: boolean;
15
- skipWorkspaceJson?: boolean;
16
- js?: boolean;
17
- globalCss?: boolean;
18
- strict?: boolean;
15
+ remotes?: string[];
19
16
  setParserOptionsProject?: boolean;
17
+ skipFormat?: boolean;
18
+ skipWorkspaceJson?: boolean;
19
+ ssr?: boolean;
20
20
  standaloneConfig?: boolean;
21
- compiler?: 'babel' | 'swc';
22
- devServerPort?: number;
23
- remotes?: string[];
21
+ strict?: boolean;
22
+ style: SupportedStyles;
23
+ tags?: string;
24
+ unitTestRunner: 'jest' | 'vitest' | 'none';
24
25
  }
25
26
 
26
27
  export interface NormalizedSchema extends Schema {
27
- projectName: string;
28
28
  appProjectRoot: string;
29
29
  e2eProjectName: string;
30
+ projectName: string;
30
31
  }
@@ -148,6 +148,11 @@
148
148
  "devServerPort": {
149
149
  "type": "number",
150
150
  "description": "The port for the dev server of the remote app."
151
+ },
152
+ "ssr": {
153
+ "description": "Whether to configure SSR for the host application",
154
+ "type": "boolean",
155
+ "default": false
151
156
  }
152
157
  },
153
158
  "required": ["name"],