@nrwl/react 15.3.2 → 15.4.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.
- package/CHANGELOG.md +1 -1
- package/package.json +6 -5
- package/plugins/component-testing/index.d.ts +4 -3
- package/plugins/component-testing/index.js +11 -8
- package/plugins/component-testing/index.js.map +1 -1
- package/plugins/component-testing/webpack-fallback.js +1 -1
- package/plugins/component-testing/webpack-fallback.js.map +1 -1
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +1 -1
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js.map +1 -1
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -5
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +26 -7
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js.map +1 -1
- package/src/generators/application/application.js +2 -1
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/common/src/app/__fileName__.spec.tsx__tmpl__ +1 -17
- package/src/generators/application/files/common-vite/src/app/__fileName__.spec.tsx__tmpl__ +1 -17
- package/src/generators/application/files/css-module/src/app/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/application/files/global-css/src/app/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/application/files/none/src/app/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/application/files/styled-jsx/src/app/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/application/files/styled-module/src/app/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/application/lib/add-cypress.js +1 -1
- package/src/generators/application/lib/add-cypress.js.map +1 -1
- package/src/generators/application/lib/create-application-files.js +4 -12
- package/src/generators/application/lib/create-application-files.js.map +1 -1
- package/src/generators/application/lib/get-app-tests.d.ts +2 -0
- package/src/generators/application/lib/get-app-tests.js +22 -0
- package/src/generators/application/lib/get-app-tests.js.map +1 -0
- package/src/generators/application/lib/set-defaults.js +0 -6
- package/src/generators/application/lib/set-defaults.js.map +1 -1
- package/src/generators/component/component.js +8 -3
- package/src/generators/component/component.js.map +1 -1
- package/src/generators/component/files/__fileName__.spec.tsx__tmpl__ +1 -4
- package/src/generators/component/files/__fileName__.tsx__tmpl__ +2 -0
- package/src/generators/component/get-component-tests.d.ts +2 -0
- package/src/generators/component/get-component-tests.js +13 -0
- package/src/generators/component/get-component-tests.js.map +1 -0
- package/src/generators/component/noramlized-schema.d.ts +8 -0
- package/src/generators/component/noramlized-schema.js +3 -0
- package/src/generators/component/noramlized-schema.js.map +1 -0
- package/src/generators/component/schema.d.ts +1 -0
- package/src/generators/component/schema.json +5 -0
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +2 -2
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js.map +1 -1
- package/src/generators/cypress-component-configuration/files/cypress.config.ts__tpl__ +4 -2
- package/src/generators/cypress-component-configuration/lib/add-files.d.ts +2 -1
- package/src/generators/cypress-component-configuration/lib/add-files.js +24 -1
- package/src/generators/cypress-component-configuration/lib/add-files.js.map +1 -1
- package/src/generators/cypress-component-configuration/lib/update-configs.d.ts +6 -2
- package/src/generators/cypress-component-configuration/lib/update-configs.js +1 -0
- package/src/generators/cypress-component-configuration/lib/update-configs.js.map +1 -1
- package/src/generators/cypress-component-configuration/schema.d.ts +1 -0
- package/src/generators/cypress-component-configuration/schema.json +6 -0
- package/src/generators/host/files/module-federation/webpack.config.prod.js__tmpl__ +5 -5
- package/src/generators/host/files/module-federation-ssr/server.ts__tmpl__ +28 -0
- package/src/generators/host/host.js +1 -0
- package/src/generators/host/host.js.map +1 -1
- package/src/generators/host/lib/setup-ssr-for-host.js +5 -2
- package/src/generators/host/lib/setup-ssr-for-host.js.map +1 -1
- package/src/generators/host/schema.json +2 -1
- package/src/generators/library/lib/normalize-options.js +14 -4
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/lib/set-defaults.d.ts +3 -0
- package/src/generators/library/lib/set-defaults.js +17 -0
- package/src/generators/library/lib/set-defaults.js.map +1 -0
- package/src/generators/library/library.js +16 -1
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/remote/files/module-federation-ssr/server.ts__tmpl__ +45 -0
- package/src/generators/remote/lib/setup-ssr-for-remote.js +13 -1
- package/src/generators/remote/lib/setup-ssr-for-remote.js.map +1 -1
- package/src/generators/remote/remote.js +1 -0
- package/src/generators/remote/remote.js.map +1 -1
- package/src/generators/remote/schema.json +2 -1
- package/src/generators/setup-ssr/files/server.ts__tmpl__ +1 -1
- package/src/generators/setup-ssr/setup-ssr.js +1 -0
- package/src/generators/setup-ssr/setup-ssr.js.map +1 -1
- package/src/module-federation/with-module-federation-ssr.js +2 -2
- package/src/module-federation/with-module-federation-ssr.js.map +1 -1
- package/src/module-federation/with-module-federation.js +2 -2
- package/src/module-federation/with-module-federation.js.map +1 -1
- package/src/utils/ast-utils.js +1 -1
- package/src/utils/ast-utils.js.map +1 -1
- package/src/utils/get-in-source-vitest-tests-template.d.ts +1 -0
- package/src/utils/get-in-source-vitest-tests-template.js +22 -0
- package/src/utils/get-in-source-vitest-tests-template.js.map +1 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getComponentTests = void 0;
|
|
4
|
+
function getComponentTests(schema) {
|
|
5
|
+
return `
|
|
6
|
+
it('should render successfully', () => {
|
|
7
|
+
const { baseElement } = render(<${schema.className} />);
|
|
8
|
+
expect(baseElement).toBeTruthy();
|
|
9
|
+
});
|
|
10
|
+
`;
|
|
11
|
+
}
|
|
12
|
+
exports.getComponentTests = getComponentTests;
|
|
13
|
+
//# sourceMappingURL=get-component-tests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-component-tests.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/component/get-component-tests.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,MAAwB;IACxD,OAAO;;sCAE6B,MAAM,CAAC,SAAS;;;GAGnD,CAAC;AACJ,CAAC;AAPD,8CAOC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noramlized-schema.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/component/noramlized-schema.ts"],"names":[],"mappings":""}
|
|
@@ -132,6 +132,11 @@
|
|
|
132
132
|
"fileName": {
|
|
133
133
|
"type": "string",
|
|
134
134
|
"description": "Create a component with this file name."
|
|
135
|
+
},
|
|
136
|
+
"inSourceTests": {
|
|
137
|
+
"type": "boolean",
|
|
138
|
+
"default": false,
|
|
139
|
+
"description": "When using Vitest, separate spec files will not be generated and instead will be included within the source files. Read more on the Vitest docs site: https://vitest.dev/guide/in-source.html"
|
|
135
140
|
}
|
|
136
141
|
},
|
|
137
142
|
"required": ["name", "project"]
|
|
@@ -20,8 +20,8 @@ function cypressComponentConfigGenerator(tree, options) {
|
|
|
20
20
|
project: options.project,
|
|
21
21
|
skipFormat: true,
|
|
22
22
|
});
|
|
23
|
-
yield (0, update_configs_1.updateProjectConfig)(tree, options);
|
|
24
|
-
yield (0, add_files_1.addFiles)(tree, projectConfig, options);
|
|
23
|
+
const found = yield (0, update_configs_1.updateProjectConfig)(tree, options);
|
|
24
|
+
yield (0, add_files_1.addFiles)(tree, projectConfig, options, found);
|
|
25
25
|
if (options.skipFormat) {
|
|
26
26
|
yield (0, devkit_1.formatFiles)(tree);
|
|
27
27
|
}
|
package/src/generators/cypress-component-configuration/cypress-component-configuration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress-component-configuration.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/cypress-component-configuration/cypress-component-configuration.ts"],"names":[],"mappings":";;;;AAAA,yCAKsB;AACtB,mDAAiD;AACjD,+CAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"cypress-component-configuration.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/cypress-component-configuration/cypress-component-configuration.ts"],"names":[],"mappings":";;;;AAAA,yCAKsB;AACtB,mDAAiD;AACjD,+CAA2C;AAC3C,yDAAwE;AAGxE;;;;GAIG;AACH,SAAsB,+BAA+B,CACnD,IAAU,EACV,OAA4C;;QAE5C,MAAM,IAAA,sBAAa,EAAC,IAAI,EAAE,eAAe,EAAE,oBAAS,CAAC,CAAC;QACtD,MAAM,EAAE,uBAAuB,EAAE,GAAG,2CAAa,eAAe,EAAC,CAAC;QAClE,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE;YACtD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAgB,MAAM,IAAA,oCAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAA,oBAAQ,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,GAAG,EAAE;YACV,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CAAA;AArBD,0EAqBC;AAED,kBAAe,+BAA+B,CAAC"}
|
|
@@ -2,5 +2,7 @@ import { defineConfig } from 'cypress';
|
|
|
2
2
|
import { nxComponentTestingPreset } from '@nrwl/react/plugins/component-testing';
|
|
3
3
|
|
|
4
4
|
export default defineConfig({
|
|
5
|
-
component: nxComponentTestingPreset(__filename
|
|
6
|
-
|
|
5
|
+
component: nxComponentTestingPreset(__filename, {
|
|
6
|
+
bundler: '<%= bundler %>'
|
|
7
|
+
}) as any,
|
|
8
|
+
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { ProjectConfiguration, Tree } from '@nrwl/devkit';
|
|
2
2
|
import { CypressComponentConfigurationSchema } from '../schema';
|
|
3
|
-
|
|
3
|
+
import { FoundTarget } from './update-configs';
|
|
4
|
+
export declare function addFiles(tree: Tree, projectConfig: ProjectConfiguration, options: CypressComponentConfigurationSchema, found: FoundTarget): Promise<void>;
|
|
@@ -3,20 +3,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addFiles = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
+
const versions_1 = require("nx/src/utils/versions");
|
|
6
7
|
const ts = require("typescript");
|
|
7
8
|
const ast_utils_1 = require("../../../utils/ast-utils");
|
|
8
9
|
const component_test_1 = require("../../component-test/component-test");
|
|
9
10
|
const allowedFileExt = new RegExp(/\.[jt]sx?/g);
|
|
10
11
|
const isSpecFile = new RegExp(/(spec|test)\./g);
|
|
11
|
-
function addFiles(tree, projectConfig, options) {
|
|
12
|
+
function addFiles(tree, projectConfig, options, found) {
|
|
13
|
+
var _a;
|
|
12
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
15
|
const cypressConfigPath = (0, devkit_1.joinPathFragments)(projectConfig.root, 'cypress.config.ts');
|
|
14
16
|
if (tree.exists(cypressConfigPath)) {
|
|
15
17
|
tree.delete(cypressConfigPath);
|
|
16
18
|
}
|
|
19
|
+
const actualBundler = getBundler(found, tree);
|
|
20
|
+
if (options.bundler && options.bundler !== actualBundler) {
|
|
21
|
+
devkit_1.logger.warn(`You have specified ${options.bundler} as the bundler but this project is configured to use ${actualBundler}.
|
|
22
|
+
This may cause errors. If you are seeing errors, try removing the --bundler option.`);
|
|
23
|
+
}
|
|
17
24
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files'), projectConfig.root, {
|
|
18
25
|
tpl: '',
|
|
26
|
+
bundler: (_a = options.bundler) !== null && _a !== void 0 ? _a : actualBundler,
|
|
19
27
|
});
|
|
28
|
+
if (options.bundler === 'webpack' ||
|
|
29
|
+
(!options.bundler && actualBundler === 'webpack')) {
|
|
30
|
+
yield (0, devkit_1.ensurePackage)(tree, '@nrwl/webpack', versions_1.nxVersion);
|
|
31
|
+
}
|
|
20
32
|
if (options.generateTests) {
|
|
21
33
|
const filePaths = [];
|
|
22
34
|
(0, devkit_1.visitNotIgnoredFiles)(tree, projectConfig.sourceRoot, (filePath) => {
|
|
@@ -34,6 +46,17 @@ function addFiles(tree, projectConfig, options) {
|
|
|
34
46
|
});
|
|
35
47
|
}
|
|
36
48
|
exports.addFiles = addFiles;
|
|
49
|
+
function getBundler(found, tree) {
|
|
50
|
+
var _a, _b, _c;
|
|
51
|
+
if (found.target && ((_a = found.config) === null || _a === void 0 ? void 0 : _a.executor)) {
|
|
52
|
+
return found.config.executor === '@nrwl/vite:build' ? 'vite' : 'webpack';
|
|
53
|
+
}
|
|
54
|
+
const { target, project } = (0, devkit_1.parseTargetString)(found.target);
|
|
55
|
+
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
|
|
56
|
+
return ((_c = (_b = projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.targets) === null || _b === void 0 ? void 0 : _b[target]) === null || _c === void 0 ? void 0 : _c.executor) === '@nrwl/vite:build'
|
|
57
|
+
? 'vite'
|
|
58
|
+
: 'webpack';
|
|
59
|
+
}
|
|
37
60
|
function isComponent(tree, filePath) {
|
|
38
61
|
if (isSpecFile.test(filePath) || !allowedFileExt.test(filePath)) {
|
|
39
62
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-files.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/cypress-component-configuration/lib/add-files.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"add-files.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/cypress-component-configuration/lib/add-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import { Tree } from '@nrwl/devkit';
|
|
1
|
+
import { TargetConfiguration, Tree } from '@nrwl/devkit';
|
|
2
2
|
import { CypressComponentConfigurationSchema } from '../schema';
|
|
3
|
-
export
|
|
3
|
+
export interface FoundTarget {
|
|
4
|
+
config?: TargetConfiguration;
|
|
5
|
+
target: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function updateProjectConfig(tree: Tree, options: CypressComponentConfigurationSchema): Promise<FoundTarget>;
|
|
@@ -18,6 +18,7 @@ function updateProjectConfig(tree, options) {
|
|
|
18
18
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
19
19
|
projectConfig.targets['component-test'].options = Object.assign(Object.assign({}, projectConfig.targets['component-test'].options), { devServerTarget: found.target, skipServe: true });
|
|
20
20
|
(0, devkit_1.updateProjectConfiguration)(tree, options.project, projectConfig);
|
|
21
|
+
return found;
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
24
|
exports.updateProjectConfig = updateProjectConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-configs.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/cypress-component-configuration/lib/update-configs.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-configs.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/cypress-component-configuration/lib/update-configs.ts"],"names":[],"mappings":";;;;AAAA,yCAKsB;AAQtB,SAAsB,mBAAmB,CACvC,IAAU,EACV,OAA4C;;QAE5C,MAAM,EAAE,eAAe,EAAE,GAAG,2CAC1B,6CAA6C,EAC9C,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,kBAAkB,EAAE,IAAI,GAAG,CAAS;gBAClC,uBAAuB;gBACvB,kBAAkB;aACnB,CAAC;SACH,CAAC,CAAC;QAEH,gBAAgB,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC;QAEhC,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,mCAC1C,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,KAClD,eAAe,EAAE,KAAK,CAAC,MAAM,EAC7B,SAAS,EAAE,IAAI,GAChB,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEjE,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AA3BD,kDA2BC;AAED,SAAS,gBAAgB,CAAC,MAAe;IACvC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CACb,0IAA0I,CAC3I,CAAC;KACH;AACH,CAAC"}
|
|
@@ -37,6 +37,12 @@
|
|
|
37
37
|
"type": "boolean",
|
|
38
38
|
"description": "Skip formatting files",
|
|
39
39
|
"default": false
|
|
40
|
+
},
|
|
41
|
+
"bundler": {
|
|
42
|
+
"description": "The bundler to use for Cypress Component Testing.",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": ["vite", "webpack"],
|
|
45
|
+
"hidden": true
|
|
40
46
|
}
|
|
41
47
|
},
|
|
42
48
|
"required": ["project"],
|
|
@@ -14,19 +14,19 @@ const prodConfig = {
|
|
|
14
14
|
*
|
|
15
15
|
* e.g.
|
|
16
16
|
* remotes: [
|
|
17
|
-
* ['app1', '
|
|
18
|
-
* ['app2', '
|
|
17
|
+
* ['app1', 'http://app1.example.com'],
|
|
18
|
+
* ['app2', 'http://app2.example.com'],
|
|
19
19
|
* ]
|
|
20
20
|
*
|
|
21
21
|
* You can also use a full path to the remoteEntry.js file if desired.
|
|
22
22
|
*
|
|
23
23
|
* remotes: [
|
|
24
|
-
* ['app1', '
|
|
25
|
-
* ['app2', '
|
|
24
|
+
* ['app1', 'http://example.com/path/to/app1/remoteEntry.js'],
|
|
25
|
+
* ['app2', 'http://example.com/path/to/app2/remoteEntry.js'],
|
|
26
26
|
* ]
|
|
27
27
|
*/
|
|
28
28
|
remotes: [
|
|
29
|
-
<% remotes.forEach(function(r) {%>['<%= r.fileName %>', '
|
|
29
|
+
<% remotes.forEach(function(r) {%>['<%= r.fileName %>', 'http://localhost:<%= r.port %>/'],<% }); %>
|
|
30
30
|
],
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import express from 'express';
|
|
3
|
+
import cors from 'cors';
|
|
4
|
+
|
|
5
|
+
import { handleRequest } from './src/main.server';
|
|
6
|
+
|
|
7
|
+
const port = process.env['PORT'] || 4200;
|
|
8
|
+
const app = express();
|
|
9
|
+
|
|
10
|
+
const browserDist = path.join(process.cwd(), '<%= browserBuildOutputPath %>');
|
|
11
|
+
const indexPath = path.join(browserDist, 'index.html');
|
|
12
|
+
|
|
13
|
+
app.use(cors());
|
|
14
|
+
|
|
15
|
+
app.get(
|
|
16
|
+
'*.*',
|
|
17
|
+
express.static(browserDist, {
|
|
18
|
+
maxAge: '1y',
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
app.use('*', handleRequest(indexPath));
|
|
23
|
+
|
|
24
|
+
const server = app.listen(port, () => {
|
|
25
|
+
console.log(`Express server listening on http://localhost:${port}`);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
server.on('error', console.error);
|
|
@@ -47,6 +47,7 @@ function hostGenerator(host, schema) {
|
|
|
47
47
|
if (options.ssr) {
|
|
48
48
|
const setupSsrTask = yield (0, setup_ssr_1.default)(host, {
|
|
49
49
|
project: options.projectName,
|
|
50
|
+
serverPort: options.devServerPort,
|
|
50
51
|
});
|
|
51
52
|
tasks.push(setupSsrTask);
|
|
52
53
|
const setupSsrForHostTask = yield (0, setup_ssr_for_host_1.setupSsrForHost)(host, options, options.projectName, remotesWithPorts);
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;gBAC5B,UAAU,EAAE,OAAO,CAAC,aAAa;aAClC,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;AAlED,sCAkEC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -9,11 +9,14 @@ const normalize_options_1 = require("../../application/lib/normalize-options");
|
|
|
9
9
|
function setupSsrForHost(tree, options, appName, defaultRemoteManifest) {
|
|
10
10
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
11
|
const tasks = [];
|
|
12
|
-
|
|
12
|
+
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
13
|
+
project.targets.serve.executor =
|
|
14
|
+
'@nrwl/react:module-federation-ssr-dev-server';
|
|
15
|
+
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
13
16
|
(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
17
|
const remote = (0, normalize_options_1.normalizeProjectName)(Object.assign(Object.assign({}, options), { name }));
|
|
15
18
|
return Object.assign(Object.assign({}, (0, devkit_1.names)(remote)), { port });
|
|
16
|
-
}), appName, tmpl: '' }));
|
|
19
|
+
}), appName, tmpl: '', browserBuildOutputPath: project.targets.build.options.outputPath }));
|
|
17
20
|
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
18
21
|
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
19
22
|
}, {});
|
|
@@ -1 +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,
|
|
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,yCAOsB;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,IAAI,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ;YAC5B,8CAA8C,CAAC;QACjD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnD,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,EACR,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,IAEnE,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;AAzCD,0CAyCC"}
|
|
@@ -147,7 +147,8 @@
|
|
|
147
147
|
},
|
|
148
148
|
"devServerPort": {
|
|
149
149
|
"type": "number",
|
|
150
|
-
"description": "The port for the dev server of the remote app."
|
|
150
|
+
"description": "The port for the dev server of the remote app.",
|
|
151
|
+
"default": 4200
|
|
151
152
|
},
|
|
152
153
|
"ssr": {
|
|
153
154
|
"description": "Whether to configure SSR for the host application",
|
|
@@ -4,7 +4,7 @@ exports.normalizeOptions = void 0;
|
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
const assertion_1 = require("../../../utils/assertion");
|
|
6
6
|
function normalizeOptions(host, options) {
|
|
7
|
-
var _a, _b
|
|
7
|
+
var _a, _b;
|
|
8
8
|
const name = (0, devkit_1.names)(options.name).fileName;
|
|
9
9
|
const { projectDirectory, layoutDirectory } = (0, devkit_1.extractLayoutDirectory)(options.directory);
|
|
10
10
|
const fullProjectDirectory = projectDirectory
|
|
@@ -19,13 +19,23 @@ function normalizeOptions(host, options) {
|
|
|
19
19
|
? options.tags.split(',').map((s) => s.trim())
|
|
20
20
|
: [];
|
|
21
21
|
const importPath = options.importPath || (0, devkit_1.getImportPath)(npmScope, fullProjectDirectory);
|
|
22
|
-
|
|
22
|
+
let bundler = (_a = options.bundler) !== null && _a !== void 0 ? _a : 'none';
|
|
23
|
+
if (bundler === 'none') {
|
|
24
|
+
if (options.publishable) {
|
|
25
|
+
devkit_1.logger.warn(`Publishable libraries cannot be used with bundler: 'none'. Defaulting to 'rollup'.`);
|
|
26
|
+
bundler = 'rollup';
|
|
27
|
+
}
|
|
28
|
+
if (options.buildable) {
|
|
29
|
+
devkit_1.logger.warn(`Buildable libraries cannot be used with bundler: 'none'. Defaulting to 'rollup'.`);
|
|
30
|
+
bundler = 'rollup';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const normalized = Object.assign(Object.assign({}, options), { compiler: (_b = options.compiler) !== null && _b !== void 0 ? _b : 'babel', bundler,
|
|
34
|
+
fileName, routePath: `/${name}`, name: projectName, projectRoot, projectDirectory: fullProjectDirectory, parsedTags,
|
|
23
35
|
importPath,
|
|
24
36
|
libsDir });
|
|
25
37
|
// Libraries with a bundler or is publishable must also be buildable.
|
|
26
38
|
normalized.buildable = Boolean(normalized.bundler !== 'none' || options.buildable || options.publishable);
|
|
27
|
-
normalized.unitTestRunner =
|
|
28
|
-
(_c = normalized.unitTestRunner) !== null && _c !== void 0 ? _c : (normalized.bundler === 'vite' ? 'vitest' : 'jest');
|
|
29
39
|
normalized.inSourceTests === normalized.minimal || normalized.inSourceTests;
|
|
30
40
|
if (options.appProject) {
|
|
31
41
|
const appProjectConfig = (0, devkit_1.getProjects)(host).get(options.appProject);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/library/lib/normalize-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setDefaults = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
function setDefaults(host, options) {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
const workspace = (0, devkit_1.readWorkspaceConfiguration)(host);
|
|
8
|
+
workspace.generators = workspace.generators || {};
|
|
9
|
+
workspace.generators['@nrwl/react'] =
|
|
10
|
+
workspace.generators['@nrwl/react'] || {};
|
|
11
|
+
const prev = Object.assign({}, workspace.generators['@nrwl/react']);
|
|
12
|
+
const libDefaults = Object.assign(Object.assign({}, prev.library), { unitTestRunner: (_b = (_a = prev.library) === null || _a === void 0 ? void 0 : _a.unitTestRunner) !== null && _b !== void 0 ? _b : options.unitTestRunner });
|
|
13
|
+
workspace.generators = Object.assign(Object.assign({}, workspace.generators), { '@nrwl/react': Object.assign(Object.assign({}, prev), { library: libDefaults }) });
|
|
14
|
+
(0, devkit_1.updateWorkspaceConfiguration)(host, workspace);
|
|
15
|
+
}
|
|
16
|
+
exports.setDefaults = setDefaults;
|
|
17
|
+
//# sourceMappingURL=set-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-defaults.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/library/lib/set-defaults.ts"],"names":[],"mappings":";;;AAAA,yCAIsB;AAGtB,SAAgB,WAAW,CAAC,IAAU,EAAE,OAAyB;;IAC/D,MAAM,SAAS,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;IAEnD,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,MAAM,WAAW,mCACZ,IAAI,CAAC,OAAO,KACf,cAAc,EAAE,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,mCAAI,OAAO,CAAC,cAAc,GACvE,CAAC;IAEF,SAAS,CAAC,UAAU,mCACf,SAAS,CAAC,UAAU,KACvB,aAAa,kCACR,IAAI,KACP,OAAO,EAAE,WAAW,MAEvB,CAAC;IAEF,IAAA,qCAA4B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAvBD,kCAuBC"}
|
|
@@ -16,9 +16,22 @@ const create_files_1 = require("./lib/create-files");
|
|
|
16
16
|
const update_base_tsconfig_1 = require("./lib/update-base-tsconfig");
|
|
17
17
|
const create_ts_config_1 = require("../../utils/create-ts-config");
|
|
18
18
|
const install_common_dependencies_1 = require("./lib/install-common-dependencies");
|
|
19
|
+
const enquirer_1 = require("enquirer");
|
|
20
|
+
const set_defaults_1 = require("./lib/set-defaults");
|
|
19
21
|
function libraryGenerator(host, schema) {
|
|
20
22
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
23
|
const tasks = [];
|
|
24
|
+
// Check if unit test runner was provided or if we have a default
|
|
25
|
+
if (!schema.unitTestRunner) {
|
|
26
|
+
schema.unitTestRunner = (yield (0, enquirer_1.prompt)([
|
|
27
|
+
{
|
|
28
|
+
message: 'What unit test runner should be used?',
|
|
29
|
+
type: 'select',
|
|
30
|
+
name: 'runner',
|
|
31
|
+
choices: ['vitest', 'jest', 'none'],
|
|
32
|
+
},
|
|
33
|
+
])).runner;
|
|
34
|
+
}
|
|
22
35
|
const options = (0, normalize_options_1.normalizeOptions)(host, schema);
|
|
23
36
|
if (options.publishable === true && !schema.importPath) {
|
|
24
37
|
throw new Error(`For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)`);
|
|
@@ -52,7 +65,7 @@ function libraryGenerator(host, schema) {
|
|
|
52
65
|
newProject: true,
|
|
53
66
|
includeLib: true,
|
|
54
67
|
inSourceTests: options.inSourceTests,
|
|
55
|
-
includeVitest:
|
|
68
|
+
includeVitest: options.unitTestRunner === 'vitest',
|
|
56
69
|
});
|
|
57
70
|
tasks.push(viteTask);
|
|
58
71
|
}
|
|
@@ -97,6 +110,7 @@ function libraryGenerator(host, schema) {
|
|
|
97
110
|
routing: options.routing,
|
|
98
111
|
js: options.js,
|
|
99
112
|
pascalCaseFiles: options.pascalCaseFiles,
|
|
113
|
+
inSourceTests: options.inSourceTests,
|
|
100
114
|
});
|
|
101
115
|
tasks.push(componentTask);
|
|
102
116
|
}
|
|
@@ -112,6 +126,7 @@ function libraryGenerator(host, schema) {
|
|
|
112
126
|
}
|
|
113
127
|
const routeTask = (0, update_app_routes_1.updateAppRoutes)(host, options);
|
|
114
128
|
tasks.push(routeTask);
|
|
129
|
+
(0, set_defaults_1.setDefaults)(host, options);
|
|
115
130
|
if (!options.skipFormat) {
|
|
116
131
|
yield (0, devkit_1.formatFiles)(host);
|
|
117
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/library/library.ts"],"names":[],"mappings":";;;;AAAA,yCASsB;AACtB,2FAAqF;AAErF,mDAAiD;AACjD,sDAAwD;AACxD,uCAAyC;AAEzC,uDAAiE;AACjE,+DAA2D;AAC3D,2EAAqE;AACrE,mDAA+C;AAC/C,+DAA0D;AAC1D,qDAAiD;AACjD,qEAAgE;AAChE,mEAAmE;AACnE,mFAA8E;
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/library/library.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import express from 'express';
|
|
3
|
+
import cors from 'cors';
|
|
4
|
+
|
|
5
|
+
import { handleRequest } from './src/main.server';
|
|
6
|
+
|
|
7
|
+
const port = process.env['PORT'] || 4200;
|
|
8
|
+
const app = express();
|
|
9
|
+
|
|
10
|
+
const browserDist = path.join(process.cwd(), '<%= browserBuildOutputPath %>');
|
|
11
|
+
const serverDist = path.join(process.cwd(), '<%= serverBuildOutputPath %>');
|
|
12
|
+
const indexPath = path.join(browserDist, 'index.html');
|
|
13
|
+
|
|
14
|
+
app.use(cors());
|
|
15
|
+
|
|
16
|
+
// Client-side static bundles
|
|
17
|
+
app.get(
|
|
18
|
+
'*.*',
|
|
19
|
+
express.static(browserDist, {
|
|
20
|
+
maxAge: '1y',
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
// Static bundles for server-side module federation
|
|
25
|
+
app.use('/server',
|
|
26
|
+
express.static(serverDist, {
|
|
27
|
+
maxAge: '1y'
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
app.use('*', handleRequest(indexPath));
|
|
32
|
+
|
|
33
|
+
const server = app.listen(port, () => {
|
|
34
|
+
console.log(`Express server listening on http://localhost:${port}`);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* DO NOT REMOVE IF USING @nrwl/react:module-federation-dev-ssr executor
|
|
38
|
+
* to serve your Host application with this Remote application.
|
|
39
|
+
* This message allows Nx to determine when the Remote is ready to be
|
|
40
|
+
* consumed by the Host.
|
|
41
|
+
*/
|
|
42
|
+
process.send?.('nx.server.ready');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
server.on('error', console.error);
|
|
@@ -6,10 +6,22 @@ const devkit_1 = require("@nrwl/devkit");
|
|
|
6
6
|
const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
|
|
7
7
|
const versions_1 = require("../../../utils/versions");
|
|
8
8
|
function setupSsrForRemote(tree, options, appName) {
|
|
9
|
+
var _a, _b, _c;
|
|
9
10
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
11
|
const tasks = [];
|
|
11
12
|
const project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
12
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/module-federation-ssr'), project.root, Object.assign(Object.assign({}, options), { appName, tmpl: '' }));
|
|
13
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/module-federation-ssr'), project.root, Object.assign(Object.assign({}, options), { appName, tmpl: '', browserBuildOutputPath: project.targets.build.options.outputPath, serverBuildOutputPath: project.targets.server.options.outputPath }));
|
|
14
|
+
// For hosts to use when running remotes in static mode.
|
|
15
|
+
const originalOutputPath = (_b = (_a = project.targets.build) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.outputPath;
|
|
16
|
+
project.targets['serve-static'] = {
|
|
17
|
+
dependsOn: ['build', 'server'],
|
|
18
|
+
executor: 'nx:run-commands',
|
|
19
|
+
defaultConfiguration: 'development',
|
|
20
|
+
options: {
|
|
21
|
+
command: `PORT=${(_c = options.devServerPort) !== null && _c !== void 0 ? _c : 4200} node ${(0, devkit_1.joinPathFragments)(originalOutputPath, 'server', 'main.js')}`,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
13
25
|
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
14
26
|
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
15
27
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ssr-for-remote.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/remote/lib/setup-ssr-for-remote.ts"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"setup-ssr-for-remote.js","sourceRoot":"","sources":["../../../../../../../packages/react/src/generators/remote/lib/setup-ssr-for-remote.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AACtB,2FAAqF;AAIrF,sDAAsE;AAEtE,SAAsB,iBAAiB,CACrC,IAAU,EACV,OAAiC,EACjC,OAAe;;;QAEf,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,EACP,IAAI,EAAE,EAAE,EACR,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAChE,qBAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAEnE,CAAC;QAEF,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,KAAK,0CAAE,OAAO,0CAAE,UAAU,CAAC;QACtE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG;YAChC,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,QAAQ,EAAE,iBAAiB;YAC3B,oBAAoB,EAAE,aAAa;YACnC,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,SAAS,IAAA,0BAAiB,EACtE,kBAAkB,EAClB,QAAQ,EACR,SAAS,CACV,EAAE;aACJ;SACF,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnD,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;;CACnC;AA/CD,8CA+CC"}
|
|
@@ -36,6 +36,7 @@ function remoteGenerator(host, schema) {
|
|
|
36
36
|
if (options.ssr) {
|
|
37
37
|
const setupSsrTask = yield (0, setup_ssr_1.default)(host, {
|
|
38
38
|
project: options.projectName,
|
|
39
|
+
serverPort: options.devServerPort,
|
|
39
40
|
});
|
|
40
41
|
tasks.push(setupSsrTask);
|
|
41
42
|
const setupSsrForRemoteTask = yield (0, setup_ssr_for_remote_1.setupSsrForRemote)(host, options, options.projectName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAC5B,yCASsB;AACtB,2FAAqF;AAErF,4EAAwE;AACxE,4DAA8D;AAE9D,2EAAqE;AACrE,mGAA6F;AAE7F,sDAAuD;AACvD,qEAA+D;AAE/D,SAAgB,wBAAwB,CACtC,IAAU,EACV,OAAyB;IAEzB,MAAM,iBAAiB,iDAClB,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,GACnB,OAAO,KACV,IAAI,EAAE,EAAE,GACT,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,2BAA2B,CAAC,EAC5C,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAhBD,4DAgBC;AAED,SAAsB,eAAe,CAAC,IAAU,EAAE,MAAc;;QAC9D,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAS,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAoB,EAAC,IAAI,kCAC9C,OAAO,KACV,kBAAkB,EAAE,IAAI;YACxB,qDAAqD;YACrD,OAAO,EAAE,SAAS,IAClB,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAA,8CAAoB,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SACvD;QAED,wEAAwE;QACxE,sEAAsE;QACtE,kBAAkB;QAClB,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;QAEF,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAA,gEAA6B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAiB,EAAC,IAAI,EAAE;gBACjD,OAAO,EAAE,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/react/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAC5B,yCASsB;AACtB,2FAAqF;AAErF,4EAAwE;AACxE,4DAA8D;AAE9D,2EAAqE;AACrE,mGAA6F;AAE7F,sDAAuD;AACvD,qEAA+D;AAE/D,SAAgB,wBAAwB,CACtC,IAAU,EACV,OAAyB;IAEzB,MAAM,iBAAiB,iDAClB,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,GACnB,OAAO,KACV,IAAI,EAAE,EAAE,GACT,CAAC;IAEF,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,WAAI,EAAC,SAAS,EAAE,2BAA2B,CAAC,EAC5C,OAAO,CAAC,cAAc,EACtB,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAhBD,4DAgBC;AAED,SAAsB,eAAe,CAAC,IAAU,EAAE,MAAc;;QAC9D,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAS,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,IAAA,qBAAoB,EAAC,IAAI,kCAC9C,OAAO,KACV,kBAAkB,EAAE,IAAI;YACxB,qDAAqD;YACrD,OAAO,EAAE,SAAS,IAClB,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExB,IAAI,MAAM,CAAC,IAAI,EAAE;YACf,IAAA,8CAAoB,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SACvD;QAED,wEAAwE;QACxE,sEAAsE;QACtE,kBAAkB;QAClB,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;QAEF,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAA,gEAA6B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAiB,EAAC,IAAI,EAAE;gBACjD,OAAO,EAAE,OAAO,CAAC,WAAW;gBAC5B,UAAU,EAAE,OAAO,CAAC,aAAa;aAClC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzB,MAAM,qBAAqB,GAAG,MAAM,IAAA,wCAAiB,EACnD,IAAI,EACJ,OAAO,EACP,OAAO,CAAC,WAAW,CACpB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAElC,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;AArDD,0CAqDC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -151,7 +151,8 @@
|
|
|
151
151
|
},
|
|
152
152
|
"devServerPort": {
|
|
153
153
|
"type": "number",
|
|
154
|
-
"description": "The port for the dev server of the remote app."
|
|
154
|
+
"description": "The port for the dev server of the remote app.",
|
|
155
|
+
"default": 4200
|
|
155
156
|
},
|
|
156
157
|
"ssr": {
|
|
157
158
|
"description": "Whether to configure SSR for the host application",
|
|
@@ -4,7 +4,7 @@ import cors from 'cors';
|
|
|
4
4
|
|
|
5
5
|
import { handleRequest } from './src/main.server';
|
|
6
6
|
|
|
7
|
-
const port = process.env['
|
|
7
|
+
const port = process.env['PORT'] || 4200;
|
|
8
8
|
const app = express();
|
|
9
9
|
|
|
10
10
|
const browserDist = path.join(process.cwd(), '<%= browserBuildOutputPath %>');
|