@nrwl/angular 15.2.1 → 15.3.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/fesm2015/nrwl-angular-mf.mjs +0 -1
- package/fesm2015/nrwl-angular-testing.mjs +0 -1
- package/fesm2015/nrwl-angular.mjs +0 -1
- package/fesm2020/nrwl-angular-mf.mjs +0 -1
- package/fesm2020/nrwl-angular-testing.mjs +0 -1
- package/fesm2020/nrwl-angular.mjs +0 -1
- package/migrations.json +17 -0
- package/package.json +9 -9
- package/plugins/component-testing.js +6 -5
- package/plugins/component-testing.js.map +1 -1
- package/src/builders/utilities/buildable-libs.d.ts +1 -1
- package/src/builders/utilities/buildable-libs.js +2 -2
- package/src/builders/utilities/buildable-libs.js.map +1 -1
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +1 -1
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js.map +1 -1
- package/src/builders/webpack-server/webpack-server.impl.js +18 -1
- package/src/builders/webpack-server/webpack-server.impl.js.map +1 -1
- package/src/generators/application/lib/add-e2e.js +1 -0
- package/src/generators/application/lib/add-e2e.js.map +1 -1
- package/src/generators/application/lib/add-protractor.d.ts +1 -1
- package/src/generators/application/lib/add-protractor.js.map +1 -1
- package/src/generators/application/lib/normalize-options.js +10 -7
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/application/lib/nrwl-home-tpl.js +1 -1
- package/src/generators/application/lib/update-config-files.js +1 -1
- package/src/generators/application/lib/update-config-files.js.map +1 -1
- package/src/generators/application/schema.d.ts +1 -0
- package/src/generators/application/schema.json +6 -0
- package/src/generators/component/lib/normalize-options.js +4 -10
- package/src/generators/component/lib/normalize-options.js.map +1 -1
- package/src/generators/component-cypress-spec/lib/get-component-selector.js +1 -1
- package/src/generators/component-cypress-spec/lib/get-component-selector.js.map +1 -1
- package/src/generators/host/host.js +0 -28
- package/src/generators/host/host.js.map +1 -1
- package/src/generators/karma-project/files/{karma.conf.js__tmpl__ → common/karma.conf.js__tmpl__} +1 -1
- package/src/generators/karma-project/files/{tsconfig.spec.json → common/tsconfig.spec.json} +0 -1
- package/src/generators/karma-project/files/root-project/karma.conf.js__tmpl__ +44 -0
- package/src/generators/karma-project/files/workspace-with-root-project/karma.conf.js__tmpl__ +15 -0
- package/src/generators/karma-project/karma-project.d.ts +2 -2
- package/src/generators/karma-project/karma-project.js +2 -1
- package/src/generators/karma-project/karma-project.js.map +1 -1
- package/src/generators/karma-project/lib/generate-karma-project-files.js +23 -2
- package/src/generators/karma-project/lib/generate-karma-project-files.js.map +1 -1
- package/src/generators/karma-project/lib/update-tsconfig.js +17 -3
- package/src/generators/karma-project/lib/update-tsconfig.js.map +1 -1
- package/src/generators/karma-project/lib/update-workspace-config.js +5 -2
- package/src/generators/karma-project/lib/update-workspace-config.js.map +1 -1
- package/src/generators/library/lib/update-ng-package.js +1 -1
- package/src/generators/library/lib/update-ng-package.js.map +1 -1
- package/src/generators/library/lib/update-tsconfig.d.ts +1 -1
- package/src/generators/library/lib/update-tsconfig.js +1 -1
- package/src/generators/library/lib/update-tsconfig.js.map +1 -1
- package/src/generators/remote/files/src/main.server.ts__tmpl__ +66 -0
- package/src/generators/remote/files/webpack.server.config.js__tmpl__ +3 -0
- package/src/generators/remote/lib/add-ssr.d.ts +3 -0
- package/src/generators/remote/lib/add-ssr.js +37 -0
- package/src/generators/remote/lib/add-ssr.js.map +1 -0
- package/src/generators/remote/lib/find-next-available-port.d.ts +2 -0
- package/src/generators/remote/lib/find-next-available-port.js +19 -0
- package/src/generators/remote/lib/find-next-available-port.js.map +1 -0
- package/src/generators/remote/lib/index.d.ts +2 -0
- package/src/generators/remote/lib/index.js +6 -0
- package/src/generators/remote/lib/index.js.map +1 -0
- package/src/generators/remote/remote.d.ts +1 -1
- package/src/generators/remote/remote.js +10 -70
- package/src/generators/remote/remote.js.map +1 -1
- package/src/generators/remote/schema.d.ts +1 -0
- package/src/generators/remote/schema.json +5 -0
- package/src/generators/{host/files → setup-mf/files/host-files}/app.component.spec.ts__tmpl__ +0 -0
- package/src/generators/setup-mf/lib/add-remote-entry.js +16 -18
- package/src/generators/setup-mf/lib/add-remote-entry.js.map +1 -1
- package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -1
- package/src/generators/setup-mf/lib/add-remote-to-host.js.map +1 -1
- package/src/generators/setup-mf/lib/generate-config.d.ts +1 -1
- package/src/generators/setup-mf/lib/generate-config.js +5 -5
- package/src/generators/setup-mf/lib/index.d.ts +2 -0
- package/src/generators/setup-mf/lib/index.js +2 -0
- package/src/generators/setup-mf/lib/index.js.map +1 -1
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +3 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +60 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js.map +1 -0
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -1
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js.map +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.d.ts +3 -0
- package/src/generators/setup-mf/lib/update-host-app-routes.js +34 -0
- package/src/generators/setup-mf/lib/update-host-app-routes.js.map +1 -0
- package/src/generators/setup-mf/setup-mf.js +9 -3
- package/src/generators/setup-mf/setup-mf.js.map +1 -1
- package/src/generators/setup-ssr/lib/update-app-module.js +1 -1
- package/src/generators/setup-ssr/lib/update-app-module.js.map +1 -1
- package/src/generators/utils/path.js +3 -3
- package/src/generators/utils/path.js.map +1 -1
- package/src/generators/utils/storybook-ast/module-info.js +1 -1
- package/src/generators/utils/storybook-ast/module-info.js.map +1 -1
- package/src/generators/utils/storybook-ast/storybook-inputs.js +10 -9
- package/src/generators/utils/storybook-ast/storybook-inputs.js.map +1 -1
- package/src/migrations/update-15-2-0/update-typescript-target.js +2 -0
- package/src/migrations/update-15-2-0/update-typescript-target.js.map +1 -1
- package/src/utils/nx-devkit/ast-utils.js +6 -6
- package/src/utils/nx-devkit/ast-utils.js.map +1 -1
- package/src/utils/versions.d.ts +4 -1
- package/src/utils/versions.js +5 -2
- package/src/utils/versions.js.map +1 -1
- package/src/generators/karma-project/files/src/test.ts__tmpl__ +0 -22
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Tree } from '@nrwl/devkit';
|
|
1
|
+
import type { GeneratorCallback, Tree } from '@nrwl/devkit';
|
|
2
2
|
import type { KarmaProjectOptions } from './schema';
|
|
3
|
-
export declare function karmaProjectGenerator(tree: Tree, options: KarmaProjectOptions): Promise<
|
|
3
|
+
export declare function karmaProjectGenerator(tree: Tree, options: KarmaProjectOptions): Promise<GeneratorCallback>;
|
|
4
4
|
export default karmaProjectGenerator;
|
|
@@ -10,7 +10,7 @@ const update_workspace_config_1 = require("./lib/update-workspace-config");
|
|
|
10
10
|
const karma_1 = require("../karma/karma");
|
|
11
11
|
function karmaProjectGenerator(tree, options) {
|
|
12
12
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
-
(0, karma_1.karmaGenerator)(tree, options);
|
|
13
|
+
const installTask = (0, karma_1.karmaGenerator)(tree, options);
|
|
14
14
|
(0, check_test_target_1.checkProjectTestTarget)(tree, options.project);
|
|
15
15
|
(0, generate_karma_project_files_1.generateKarmaProjectFiles)(tree, options.project);
|
|
16
16
|
(0, update_tsconfig_1.updateTsConfigs)(tree, options.project);
|
|
@@ -18,6 +18,7 @@ function karmaProjectGenerator(tree, options) {
|
|
|
18
18
|
if (!options.skipFormat) {
|
|
19
19
|
yield (0, devkit_1.formatFiles)(tree);
|
|
20
20
|
}
|
|
21
|
+
return installTask;
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
24
|
exports.karmaProjectGenerator = karmaProjectGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"karma-project.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma-project/karma-project.ts"],"names":[],"mappings":";;;;AACA,yCAA2C;AAC3C,+DAAiE;AACjE,qFAA+E;AAC/E,2DAAwD;AACxD,2EAAsE;AAEtE,0CAAgD;AAEhD,SAAsB,qBAAqB,CACzC,IAAU,EACV,OAA4B;;QAE5B,IAAA,sBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"karma-project.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/karma-project/karma-project.ts"],"names":[],"mappings":";;;;AACA,yCAA2C;AAC3C,+DAAiE;AACjE,qFAA+E;AAC/E,2DAAwD;AACxD,2EAAsE;AAEtE,0CAAgD;AAEhD,SAAsB,qBAAqB,CACzC,IAAU,EACV,OAA4B;;QAE5B,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAA,0CAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAA,wDAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,IAAA,iCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,IAAA,+CAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAfD,sDAeC;AAED,kBAAe,qBAAqB,CAAC"}
|
|
@@ -4,12 +4,33 @@ exports.generateKarmaProjectFiles = void 0;
|
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
function generateKarmaProjectFiles(tree, project) {
|
|
6
6
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
|
|
7
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files'), projectConfig.root, {
|
|
7
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files', 'common'), projectConfig.root, {
|
|
8
8
|
tmpl: '',
|
|
9
9
|
projectRoot: projectConfig.root,
|
|
10
|
-
isLibrary: projectConfig.projectType === 'library',
|
|
11
10
|
offsetFromRoot: (0, devkit_1.offsetFromRoot)(projectConfig.root),
|
|
12
11
|
});
|
|
12
|
+
if (projectConfig.root === '' || projectConfig.root === '.') {
|
|
13
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files', 'root-project'), projectConfig.root, {
|
|
14
|
+
tmpl: '',
|
|
15
|
+
projectName: project,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
else if (isWorkspaceWithProjectAtRoot(tree)) {
|
|
19
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files', 'workspace-with-root-project'), projectConfig.root, {
|
|
20
|
+
tmpl: '',
|
|
21
|
+
projectRoot: projectConfig.root,
|
|
22
|
+
offsetFromRoot: (0, devkit_1.offsetFromRoot)(projectConfig.root),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
13
25
|
}
|
|
14
26
|
exports.generateKarmaProjectFiles = generateKarmaProjectFiles;
|
|
27
|
+
function isWorkspaceWithProjectAtRoot(tree) {
|
|
28
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
29
|
+
for (const [, project] of projects) {
|
|
30
|
+
if (project.root === '.' || project.root === '') {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
15
36
|
//# sourceMappingURL=generate-karma-project-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-karma-project-files.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/generate-karma-project-files.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generate-karma-project-files.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/generate-karma-project-files.ts"],"names":[],"mappings":";;;AACA,yCAMsB;AAEtB,SAAgB,yBAAyB,CAAC,IAAU,EAAE,OAAe;IACnE,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,EACrD,aAAa,CAAC,IAAI,EAClB;QACE,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,aAAa,CAAC,IAAI;QAC/B,cAAc,EAAE,IAAA,uBAAc,EAAC,aAAa,CAAC,IAAI,CAAC;KACnD,CACF,CAAC;IAEF,IAAI,aAAa,CAAC,IAAI,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,KAAK,GAAG,EAAE;QAC3D,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,EAC3D,aAAa,CAAC,IAAI,EAClB;YACE,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,OAAO;SACrB,CACF,CAAC;KACH;SAAM,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE;QAC7C,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,IAAI,EACJ,OAAO,EACP,6BAA6B,CAC9B,EACD,aAAa,CAAC,IAAI,EAClB;YACE,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,aAAa,CAAC,IAAI;YAC/B,cAAc,EAAE,IAAA,uBAAc,EAAC,aAAa,CAAC,IAAI,CAAC;SACnD,CACF,CAAC;KACH;AACH,CAAC;AAxCD,8DAwCC;AAED,SAAS,4BAA4B,CAAC,IAAU;IAC9C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;QAClC,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateTsConfigs = void 0;
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
function updateTsConfigs(tree, project) {
|
|
6
|
+
var _a, _b;
|
|
6
7
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
|
|
7
8
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(projectConfig.root, 'tsconfig.json'), (json) => {
|
|
8
9
|
return Object.assign(Object.assign({}, json), { references: [
|
|
@@ -12,9 +13,22 @@ function updateTsConfigs(tree, project) {
|
|
|
12
13
|
},
|
|
13
14
|
] });
|
|
14
15
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
let extraFiles = [];
|
|
17
|
+
if (projectConfig.projectType == 'application' &&
|
|
18
|
+
((_b = (_a = projectConfig.targets.build) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.polyfills) &&
|
|
19
|
+
typeof projectConfig.targets.build.options.polyfills === 'string') {
|
|
20
|
+
let polyfillsPath = projectConfig.targets.build.options.polyfills;
|
|
21
|
+
polyfillsPath = polyfillsPath.startsWith(projectConfig.root)
|
|
22
|
+
? polyfillsPath.replace(`${projectConfig.root}/`, '')
|
|
23
|
+
: polyfillsPath;
|
|
24
|
+
extraFiles = [polyfillsPath];
|
|
25
|
+
}
|
|
26
|
+
if (!extraFiles.length) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(projectConfig.root, 'tsconfig.spec.json'), (json) => {
|
|
30
|
+
var _a;
|
|
31
|
+
return Object.assign(Object.assign({}, json), { files: [...((_a = json.files) !== null && _a !== void 0 ? _a : []), ...extraFiles] });
|
|
18
32
|
});
|
|
19
33
|
}
|
|
20
34
|
exports.updateTsConfigs = updateTsConfigs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-tsconfig.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/update-tsconfig.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe
|
|
1
|
+
{"version":3,"file":"update-tsconfig.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/update-tsconfig.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;;IACzD,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,EACtD,CAAC,IAAI,EAAE,EAAE;QACP,uCACK,IAAI,KACP,UAAU,EAAE;gBACV,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC1B;oBACE,IAAI,EAAE,sBAAsB;iBAC7B;aACF,IACD;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IACE,aAAa,CAAC,WAAW,IAAI,aAAa;SAC1C,MAAA,MAAA,aAAa,CAAC,OAAO,CAAC,KAAK,0CAAE,OAAO,0CAAE,SAAS,CAAA;QAC/C,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EACjE;QACA,IAAI,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAClE,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1D,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC;QAClB,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACtB,OAAO;KACR;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAC3D,CAAC,IAAI,EAAE,EAAE;;QACP,uCACK,IAAI,KACP,KAAK,EAAE,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,IAC7C;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AA9CD,0CA8CC"}
|
|
@@ -3,17 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateWorkspaceConfig = void 0;
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
function updateWorkspaceConfig(tree, project) {
|
|
6
|
+
var _a, _b;
|
|
6
7
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, project);
|
|
7
8
|
projectConfig.targets.test = {
|
|
8
9
|
executor: '@angular-devkit/build-angular:karma',
|
|
9
10
|
options: {
|
|
10
|
-
main: (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'test.ts'),
|
|
11
11
|
tsConfig: (0, devkit_1.joinPathFragments)(projectConfig.root, 'tsconfig.spec.json'),
|
|
12
12
|
karmaConfig: (0, devkit_1.joinPathFragments)(projectConfig.root, 'karma.conf.js'),
|
|
13
|
+
polyfills: ['zone.js', 'zone.js/testing'],
|
|
13
14
|
},
|
|
14
15
|
};
|
|
15
16
|
if (projectConfig.projectType === 'application') {
|
|
16
|
-
|
|
17
|
+
const polyfills = (_b = (_a = projectConfig.targets.build) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.polyfills;
|
|
18
|
+
let polyfillsPath = polyfills && typeof polyfills === 'string' ? polyfills : undefined;
|
|
19
|
+
projectConfig.targets.test.options = Object.assign(Object.assign({}, projectConfig.targets.test.options), { polyfills: polyfillsPath !== null && polyfillsPath !== void 0 ? polyfillsPath : projectConfig.targets.test.options.polyfills, styles: [], scripts: [], assets: [] });
|
|
17
20
|
}
|
|
18
21
|
if (projectConfig.targets.lint &&
|
|
19
22
|
projectConfig.targets.lint.executor ===
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-workspace-config.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/update-workspace-config.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,SAAgB,qBAAqB,CAAC,IAAU,EAAE,OAAe
|
|
1
|
+
{"version":3,"file":"update-workspace-config.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/karma-project/lib/update-workspace-config.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,SAAgB,qBAAqB,CAAC,IAAU,EAAE,OAAe;;IAC/D,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG;QAC3B,QAAQ,EAAE,qCAAqC;QAC/C,OAAO,EAAE;YACP,QAAQ,EAAE,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC;YACrE,WAAW,EAAE,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC;YACnE,SAAS,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;SAC1C;KACF,CAAC;IAEF,IAAI,aAAa,CAAC,WAAW,KAAK,aAAa,EAAE;QAC/C,MAAM,SAAS,GAAG,MAAA,MAAA,aAAa,CAAC,OAAO,CAAC,KAAK,0CAAE,OAAO,0CAAE,SAAS,CAAC;QAClE,IAAI,aAAa,GACf,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAErE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,mCAC7B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KACrC,SAAS,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EACxE,MAAM,EAAE,EAAE,EACV,OAAO,EAAE,EAAE,EACX,MAAM,EAAE,EAAE,GACX,CAAC;KACH;IAED,IACE,aAAa,CAAC,OAAO,CAAC,IAAI;QAC1B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;YACjC,sCAAsC,EACxC;QACA,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG;YAC5C,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC9C,IAAA,0BAAiB,EAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC;SAC5D,CAAC;KACH;IAED,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AArCD,sDAqCC"}
|
|
@@ -6,7 +6,7 @@ function updateNgPackage(host, options) {
|
|
|
6
6
|
if (!(options.publishable || options.buildable)) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
-
const dest = (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(options.projectRoot), 'dist',
|
|
9
|
+
const dest = (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(options.projectRoot), 'dist', options.projectRoot);
|
|
10
10
|
(0, devkit_1.updateJson)(host, `${options.projectRoot}/ng-package.json`, (json) => {
|
|
11
11
|
let $schema = json.$schema;
|
|
12
12
|
if (json.$schema && json.$schema.indexOf('node_modules') >= 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-ng-package.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/update-ng-package.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"update-ng-package.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/update-ng-package.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAGtB,SAAgB,eAAe,CAC7B,IAAU,EACV,OAA2C;IAE3C,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;QAC/C,OAAO;KACR;IAED,MAAM,IAAI,GAAG,IAAA,0BAAiB,EAC5B,IAAA,uBAAc,EAAC,OAAO,CAAC,WAAW,CAAC,EACnC,MAAM,EACN,OAAO,CAAC,WAAW,CACpB,CAAC;IAEF,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAClE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAC7D,OAAO,GAAG,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CACvE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,EAAE,CAAC;SACL;QACD,uCACK,IAAI,KACP,IAAI;YACJ,OAAO,IACP;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,0CA4BC"}
|
|
@@ -12,7 +12,7 @@ function updateRootConfig(host, options) {
|
|
|
12
12
|
throw new Error(`You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.`);
|
|
13
13
|
}
|
|
14
14
|
c.paths[options.importPath] = [
|
|
15
|
-
(0, devkit_1.joinPathFragments)(
|
|
15
|
+
(0, devkit_1.joinPathFragments)(options.projectRoot, '/src/index.ts'),
|
|
16
16
|
];
|
|
17
17
|
return json;
|
|
18
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-tsconfig.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/update-tsconfig.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"update-tsconfig.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/library/lib/update-tsconfig.ts"],"names":[],"mappings":";;;AACA,yCAA6D;AAC7D,yEAAqF;AAGrF,SAAS,gBAAgB,CACvB,IAAU,EACV,OAA2C;IAE3C,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAA,sCAAyB,EAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,CAAC,UAAU,uCAAuC,CAC/G,CAAC;SACH;QAED,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG;YAC5B,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC;SACxD,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAU,EACV,OAA2C;IAE3C,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QACpE,IAAI,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,GAAG,CAAC;gBACT,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvB,gBAAgB;gBAChB,cAAc;gBACd,cAAc;aACf,CAAC;SACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,OAAO,CAAC,WAAW,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iCAC9D,IAAI,KACP,eAAe,kCACV,IAAI,CAAC,eAAe,KACvB,MAAM,EAAE,QAAQ,EAChB,uBAAuB,EAAE,KAAK,OAEhC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAU,EACV,OAA2C;IAE3C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE;QAC5C,OAAO,IAAA,mBAAU,EACf,IAAI,EACJ,GAAG,OAAO,CAAC,WAAW,yBAAyB,EAC/C,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;gBAC5C,OAAO,CAAC,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;KACH;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAU,EACV,OAA2C;IAE3C,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAPD,wCAOC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import 'zone.js/dist/zone-node';
|
|
2
|
+
|
|
3
|
+
import { APP_BASE_HREF } from '@angular/common';
|
|
4
|
+
import { ngExpressEngine } from '@nguniversal/express-engine';
|
|
5
|
+
import * as express from 'express';
|
|
6
|
+
import * as cors from 'cors';
|
|
7
|
+
import { existsSync } from 'fs';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
|
|
10
|
+
import { AppServerModule } from './bootstrap.server';
|
|
11
|
+
|
|
12
|
+
// The Express app is exported so that it can be used by serverless Functions.
|
|
13
|
+
export function app(): express.Express {
|
|
14
|
+
const server = express();
|
|
15
|
+
const browserBundles = join(process.cwd(), 'dist/apps/<%= appName %>/browser');
|
|
16
|
+
const serverBundles = join(process.cwd(), 'dist/apps/<%= appName %>/server');
|
|
17
|
+
|
|
18
|
+
server.use(cors());
|
|
19
|
+
const indexHtml = existsSync(join(browserBundles, 'index.original.html'))
|
|
20
|
+
? 'index.original.html'
|
|
21
|
+
: 'index';
|
|
22
|
+
|
|
23
|
+
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/main/modules/express-engine)
|
|
24
|
+
server.engine(
|
|
25
|
+
'html',
|
|
26
|
+
ngExpressEngine({
|
|
27
|
+
bootstrap: AppServerModule,
|
|
28
|
+
})
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
server.set('view engine', 'html');
|
|
32
|
+
server.set('views', browserBundles);
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// Example Express Rest API endpoints
|
|
36
|
+
// server.get('/api/**', (req, res) => { });
|
|
37
|
+
// Serve static files from /browser
|
|
38
|
+
// serve static files
|
|
39
|
+
server.use('/', express.static(browserBundles, { maxAge: '1y' }));
|
|
40
|
+
server.use('/server', express.static(serverBundles, { maxAge: '1y' }));
|
|
41
|
+
|
|
42
|
+
// All regular routes use the Universal engine
|
|
43
|
+
server.get('*', (req, res) => {
|
|
44
|
+
|
|
45
|
+
res.render(indexHtml, {
|
|
46
|
+
req,
|
|
47
|
+
providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }],
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
return server;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function run(): void {
|
|
55
|
+
const port = process.env['PORT'] || 4000;
|
|
56
|
+
|
|
57
|
+
// Start up the Node server
|
|
58
|
+
const server = app();
|
|
59
|
+
server.listen(port, () => {
|
|
60
|
+
console.log(`Node Express server listening on http://localhost:${port}`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
run();
|
|
65
|
+
|
|
66
|
+
export * from './bootstrap.server';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addSsr = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
+
const setup_ssr_1 = require("../../setup-ssr/setup-ssr");
|
|
7
|
+
const versions_1 = require("../../../utils/versions");
|
|
8
|
+
function addSsr(tree, options, appName) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
11
|
+
yield (0, setup_ssr_1.default)(tree, {
|
|
12
|
+
project: appName,
|
|
13
|
+
});
|
|
14
|
+
tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'bootstrap.server.ts'));
|
|
15
|
+
tree.write((0, devkit_1.joinPathFragments)(project.root, 'server.ts'), "import('./src/main.server');");
|
|
16
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files'), project.root, {
|
|
17
|
+
appName,
|
|
18
|
+
tmpl: '',
|
|
19
|
+
});
|
|
20
|
+
console.log('after generate files');
|
|
21
|
+
// update project.json
|
|
22
|
+
project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
23
|
+
project.targets.server.executor = '@nrwl/angular:webpack-server';
|
|
24
|
+
project.targets.server.options.customWebpackConfig = {
|
|
25
|
+
path: (0, devkit_1.joinPathFragments)(project.root, 'webpack.server.config.js'),
|
|
26
|
+
};
|
|
27
|
+
(0, devkit_1.updateProjectConfiguration)(tree, appName, project);
|
|
28
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
29
|
+
cors: versions_1.corsVersion,
|
|
30
|
+
express: versions_1.expressVersion,
|
|
31
|
+
'@module-federation/node': versions_1.moduleFederationNodeVersion,
|
|
32
|
+
}, {});
|
|
33
|
+
return installTask;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.addSsr = addSsr;
|
|
37
|
+
//# sourceMappingURL=add-ssr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-ssr.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/add-ssr.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AAGtB,yDAAiD;AACjD,sDAIiC;AAEjC,SAAsB,MAAM,CAAC,IAAU,EAAE,OAAe,EAAE,OAAe;;QACvE,IAAI,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE;YACnB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CACT,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACvD,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAC7D,CAAC;QACF,IAAI,CAAC,KAAK,CACR,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAC5C,8BAA8B,CAC/B,CAAC;QAEF,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE;YAC1E,OAAO;YACP,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEpC,sBAAsB;QACtB,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,8BAA8B,CAAC;QACjE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG;YACnD,IAAI,EAAE,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC;SAClE,CAAC;QAEF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,IAAA,qCAA4B,EAC9C,IAAI,EACJ;YACE,IAAI,EAAE,sBAAW;YACjB,OAAO,EAAE,yBAAc;YACvB,yBAAyB,EAAE,sCAA2B;SACvD,EACD,EAAE,CACH,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AA3CD,wBA2CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findNextAvailablePort = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const get_mf_projects_1 = require("../../../utils/get-mf-projects");
|
|
6
|
+
function findNextAvailablePort(tree) {
|
|
7
|
+
var _a, _b, _c;
|
|
8
|
+
const mfProjects = (0, get_mf_projects_1.getMFProjects)(tree);
|
|
9
|
+
const ports = new Set([4200]);
|
|
10
|
+
for (const mfProject of mfProjects) {
|
|
11
|
+
const { targets } = (0, devkit_1.readProjectConfiguration)(tree, mfProject);
|
|
12
|
+
const port = (_c = (_b = (_a = targets === null || targets === void 0 ? void 0 : targets.serve) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.port) !== null && _c !== void 0 ? _c : 4200;
|
|
13
|
+
ports.add(port);
|
|
14
|
+
}
|
|
15
|
+
const nextAvailablePort = Math.max(...ports) + 1;
|
|
16
|
+
return nextAvailablePort;
|
|
17
|
+
}
|
|
18
|
+
exports.findNextAvailablePort = findNextAvailablePort;
|
|
19
|
+
//# sourceMappingURL=find-next-available-port.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-next-available-port.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/find-next-available-port.ts"],"names":[],"mappings":";;;AACA,yCAAwD;AACxD,oEAA+D;AAE/D,SAAgB,qBAAqB,CAAC,IAAU;;IAC9C,MAAM,UAAU,GAAG,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,0CAAE,IAAI,mCAAI,IAAI,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACjB;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAbD,sDAaC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./find-next-available-port"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./add-ssr"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,oDAA0B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Tree } from '@nrwl/devkit';
|
|
2
2
|
import type { Schema } from './schema';
|
|
3
|
-
export declare function remote(tree: Tree, options: Schema): Promise<()
|
|
3
|
+
export declare function remote(tree: Tree, options: Schema): Promise<import("@nrwl/devkit").GeneratorCallback>;
|
|
4
4
|
export default remote;
|
|
@@ -4,22 +4,11 @@ exports.remote = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
6
|
const application_1 = require("../application/application");
|
|
7
|
-
const get_mf_projects_1 = require("../../utils/get-mf-projects");
|
|
8
7
|
const project_1 = require("../utils/project");
|
|
9
8
|
const setup_mf_1 = require("../setup-mf/setup-mf");
|
|
10
9
|
const test_runners_1 = require("../../utils/test-runners");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const mfProjects = (0, get_mf_projects_1.getMFProjects)(tree);
|
|
14
|
-
const ports = new Set([4200]);
|
|
15
|
-
for (const mfProject of mfProjects) {
|
|
16
|
-
const { targets } = (0, devkit_1.readProjectConfiguration)(tree, mfProject);
|
|
17
|
-
const port = (_c = (_b = (_a = targets === null || targets === void 0 ? void 0 : targets.serve) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.port) !== null && _c !== void 0 ? _c : 4200;
|
|
18
|
-
ports.add(port);
|
|
19
|
-
}
|
|
20
|
-
const nextAvailablePort = Math.max(...ports) + 1;
|
|
21
|
-
return nextAvailablePort;
|
|
22
|
-
}
|
|
10
|
+
const lib_1 = require("./lib");
|
|
11
|
+
const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
|
|
23
12
|
function remote(tree, options) {
|
|
24
13
|
var _a;
|
|
25
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -28,8 +17,8 @@ function remote(tree, options) {
|
|
|
28
17
|
throw new Error(`The name of the application to be used as the host app does not exist. (${options.host})`);
|
|
29
18
|
}
|
|
30
19
|
const appName = (0, project_1.normalizeProjectName)(options.name, options.directory);
|
|
31
|
-
const port = (_a = options.port) !== null && _a !== void 0 ? _a : findNextAvailablePort(tree);
|
|
32
|
-
const
|
|
20
|
+
const port = (_a = options.port) !== null && _a !== void 0 ? _a : (0, lib_1.findNextAvailablePort)(tree);
|
|
21
|
+
const appInstallTask = yield (0, application_1.default)(tree, Object.assign(Object.assign({}, options), { routing: true, skipDefaultProject: true, port }));
|
|
33
22
|
const skipE2E = !options.e2eTestRunner || options.e2eTestRunner === test_runners_1.E2eTestRunner.None;
|
|
34
23
|
yield (0, setup_mf_1.setupMf)(tree, {
|
|
35
24
|
appName,
|
|
@@ -43,66 +32,17 @@ function remote(tree, options) {
|
|
|
43
32
|
e2eProjectName: skipE2E ? undefined : `${appName}-e2e`,
|
|
44
33
|
standalone: options.standalone,
|
|
45
34
|
});
|
|
46
|
-
|
|
35
|
+
let installTasks = [appInstallTask];
|
|
36
|
+
if (options.ssr) {
|
|
37
|
+
let ssrInstallTask = yield (0, lib_1.addSsr)(tree, options, appName);
|
|
38
|
+
installTasks.push(ssrInstallTask);
|
|
39
|
+
}
|
|
47
40
|
if (!options.skipFormat) {
|
|
48
41
|
yield (0, devkit_1.formatFiles)(tree);
|
|
49
42
|
}
|
|
50
|
-
return
|
|
43
|
+
return (0, run_tasks_in_serial_1.runTasksInSerial)(...installTasks);
|
|
51
44
|
});
|
|
52
45
|
}
|
|
53
46
|
exports.remote = remote;
|
|
54
|
-
function removeDeadCode(tree, options) {
|
|
55
|
-
var _a;
|
|
56
|
-
const projectName = (0, project_1.normalizeProjectName)(options.name, options.directory);
|
|
57
|
-
const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
58
|
-
['css', 'less', 'scss', 'sass'].forEach((style) => {
|
|
59
|
-
const pathToComponentStyle = (0, devkit_1.joinPathFragments)(project.sourceRoot, `app/app.component.${style}`);
|
|
60
|
-
if (tree.exists(pathToComponentStyle)) {
|
|
61
|
-
tree.delete(pathToComponentStyle);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/nx-welcome.component.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/remote-entry/nx-welcome.component.ts'));
|
|
65
|
-
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.spec.ts'));
|
|
66
|
-
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.html'));
|
|
67
|
-
const pathToAppComponent = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.ts');
|
|
68
|
-
if (!options.standalone) {
|
|
69
|
-
const component = tree
|
|
70
|
-
.read(pathToAppComponent, 'utf-8')
|
|
71
|
-
.split(options.inlineTemplate ? 'template' : 'templateUrl')[0] +
|
|
72
|
-
`template: '<router-outlet></router-outlet>'
|
|
73
|
-
|
|
74
|
-
})
|
|
75
|
-
export class AppComponent {}`;
|
|
76
|
-
tree.write(pathToAppComponent, component);
|
|
77
|
-
tree.write((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts'), `import { NgModule } from '@angular/core';
|
|
78
|
-
import { BrowserModule } from '@angular/platform-browser';
|
|
79
|
-
import { RouterModule } from '@angular/router';
|
|
80
|
-
import { AppComponent } from './app.component';
|
|
81
|
-
|
|
82
|
-
@NgModule({
|
|
83
|
-
declarations: [AppComponent],
|
|
84
|
-
imports: [
|
|
85
|
-
BrowserModule,
|
|
86
|
-
RouterModule.forRoot([{
|
|
87
|
-
path: '',
|
|
88
|
-
loadChildren: () => import('./remote-entry/entry.module').then(m => m.RemoteEntryModule)
|
|
89
|
-
}], { initialNavigation: 'enabledBlocking' }),
|
|
90
|
-
],
|
|
91
|
-
providers: [],
|
|
92
|
-
bootstrap: [AppComponent],
|
|
93
|
-
})
|
|
94
|
-
export class AppModule {}`);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
tree.delete(pathToAppComponent);
|
|
98
|
-
const prefix = (_a = options.prefix) !== null && _a !== void 0 ? _a : (0, devkit_1.readWorkspaceConfiguration)(tree).npmScope;
|
|
99
|
-
const remoteEntrySelector = `${prefix}-${projectName}-entry`;
|
|
100
|
-
const pathToIndexHtml = project.targets.build.options.index;
|
|
101
|
-
const indexContents = tree.read(pathToIndexHtml, 'utf-8');
|
|
102
|
-
const rootSelectorRegex = new RegExp(`${prefix}-root`, 'ig');
|
|
103
|
-
const newIndexContents = indexContents.replace(rootSelectorRegex, remoteEntrySelector);
|
|
104
|
-
tree.write(pathToIndexHtml, newIndexContents);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
47
|
exports.default = remote;
|
|
108
48
|
//# sourceMappingURL=remote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,yCAA8D;AAE9D,4DAA8D;AAC9D,8CAAwD;AACxD,mDAA+C;AAC/C,2DAAyD;AACzD,+BAAsD;AACtD,2FAAqF;AAErF,SAAsB,MAAM,CAAC,IAAU,EAAE,OAAe;;;QACtD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CACb,2EAA2E,OAAO,CAAC,IAAI,GAAG,CAC3F,CAAC;SACH;QAED,MAAM,OAAO,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAA,2BAAqB,EAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,cAAc,GAAG,MAAM,IAAA,qBAAoB,EAAC,IAAI,kCACjD,OAAO,KACV,OAAO,EAAE,IAAI,EACb,kBAAkB,EAAE,IAAI,EACxB,IAAI,IACJ,CAAC;QAEH,MAAM,OAAO,GACX,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,KAAK,4BAAa,CAAC,IAAI,CAAC;QAEzE,MAAM,IAAA,kBAAO,EAAC,IAAI,EAAE;YAClB,OAAO;YACP,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,UAAU,EAAE,IAAI;YAChB,OAAO;YACP,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM;YACtD,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,CAAC,cAAc,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,IAAI,cAAc,GAAG,MAAM,IAAA,YAAM,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1D,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,YAAY,CAAC,CAAC;;CAC1C;AA7CD,wBA6CC;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -149,6 +149,11 @@
|
|
|
149
149
|
"description": "Whether to generate a remote application with standalone components.",
|
|
150
150
|
"type": "boolean",
|
|
151
151
|
"default": false
|
|
152
|
+
},
|
|
153
|
+
"ssr": {
|
|
154
|
+
"description": "Whether to configure SSR for the remote application to be consumed by a host application using SSR.",
|
|
155
|
+
"type": "boolean",
|
|
156
|
+
"default": false
|
|
152
157
|
}
|
|
153
158
|
},
|
|
154
159
|
"additionalProperties": false,
|
package/src/generators/{host/files → setup-mf/files/host-files}/app.component.spec.ts__tmpl__
RENAMED
|
File without changes
|
|
@@ -4,31 +4,29 @@ exports.addRemoteEntry = void 0;
|
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
|
|
6
6
|
function addRemoteEntry(tree, { appName, routing, mfType, prefix, standalone }, appRoot) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(0, devkit_1.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
prefix = prefix !== null && prefix !== void 0 ? prefix : (0, devkit_1.readWorkspaceConfiguration)(tree).npmScope;
|
|
8
|
+
(0, devkit_1.generateFiles)(tree, standalone
|
|
9
|
+
? (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone-entry-component-files')
|
|
10
|
+
: (0, devkit_1.joinPathFragments)(__dirname, '../files/entry-module-files'), `${appRoot}/src/app/remote-entry`, {
|
|
11
|
+
tmpl: '',
|
|
12
|
+
appName,
|
|
13
|
+
routing,
|
|
14
|
+
prefix,
|
|
15
|
+
});
|
|
16
|
+
if (standalone && routing) {
|
|
17
|
+
(0, route_utils_1.addRoute)(tree, (0, devkit_1.joinPathFragments)(appRoot, 'src/app/app.routes.ts'), `{path: '', loadChildren: () => import('./remote-entry/entry.routes').then(m => m.remoteRoutes)}`);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
if (routing) {
|
|
21
|
+
(0, route_utils_1.addRoute)(tree, (0, devkit_1.joinPathFragments)(appRoot, 'src/app/app.routes.ts'), `{path: '', loadChildren: () => import('./remote-entry/entry.module').then(m => m.RemoteEntryModule)}`);
|
|
19
22
|
}
|
|
20
|
-
|
|
21
|
-
if (routing) {
|
|
22
|
-
(0, route_utils_1.addRoute)(tree, (0, devkit_1.joinPathFragments)(appRoot, 'src/app/app.routes.ts'), `{path: '', loadChildren: () => import('./remote-entry/entry.module').then(m => m.RemoteEntryModule)}`);
|
|
23
|
-
}
|
|
24
|
-
tree.write(`${appRoot}/src/app/app.module.ts`, `/*
|
|
23
|
+
tree.write(`${appRoot}/src/app/app.module.ts`, `/*
|
|
25
24
|
* This RemoteEntryModule is imported here to allow TS to find the Module during
|
|
26
25
|
* compilation, allowing it to be included in the built bundle. This is required
|
|
27
26
|
* for the Module Federation Plugin to expose the Module correctly.
|
|
28
27
|
* */
|
|
29
28
|
import { RemoteEntryModule } from './remote-entry/entry.module';
|
|
30
29
|
${tree.read(`${appRoot}/src/app/app.module.ts`, 'utf-8')}`);
|
|
31
|
-
}
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
exports.addRemoteEntry = addRemoteEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-remote-entry.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/add-remote-entry.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,sEAAgE;AAEhE,SAAgB,cAAc,CAC5B,IAAU,EACV,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAU,EACxD,OAAe;IAEf,
|
|
1
|
+
{"version":3,"file":"add-remote-entry.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/add-remote-entry.ts"],"names":[],"mappings":";;;AACA,yCAIsB;AAEtB,sEAAgE;AAEhE,SAAgB,cAAc,CAC5B,IAAU,EACV,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAU,EACxD,OAAe;IAEf,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC7D,IAAA,sBAAa,EACX,IAAI,EACJ,UAAU;QACR,CAAC,CAAC,IAAA,0BAAiB,EACf,SAAS,EACT,2CAA2C,CAC5C;QACH,CAAC,CAAC,IAAA,0BAAiB,EAAC,SAAS,EAAE,6BAA6B,CAAC,EAC/D,GAAG,OAAO,uBAAuB,EACjC;QACE,IAAI,EAAE,EAAE;QACR,OAAO;QACP,OAAO;QACP,MAAM;KACP,CACF,CAAC;IAEF,IAAI,UAAU,IAAI,OAAO,EAAE;QACzB,IAAA,sBAAQ,EACN,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,EAAE,uBAAuB,CAAC,EACnD,iGAAiG,CAClG,CAAC;KACH;SAAM;QACL,IAAI,OAAO,EAAE;YACX,IAAA,sBAAQ,EACN,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,EAAE,uBAAuB,CAAC,EACnD,sGAAsG,CACvG,CAAC;SACH;QAED,IAAI,CAAC,KAAK,CACR,GAAG,OAAO,wBAAwB,EAClC;;;;;;EAMJ,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,wBAAwB,EAAE,OAAO,CAAC,EAAE,CACrD,CAAC;KACH;AACH,CAAC;AAjDD,wCAiDC"}
|
|
@@ -16,7 +16,7 @@ function checkIsCommaNeeded(mfRemoteText) {
|
|
|
16
16
|
}
|
|
17
17
|
exports.checkIsCommaNeeded = checkIsCommaNeeded;
|
|
18
18
|
function addRemoteToHost(tree, options) {
|
|
19
|
-
if (options.
|
|
19
|
+
if (options.host) {
|
|
20
20
|
const hostProject = (0, devkit_1.readProjectConfiguration)(tree, options.host);
|
|
21
21
|
const pathToMFManifest = (0, devkit_1.joinPathFragments)(hostProject.sourceRoot, 'assets/module-federation.manifest.json');
|
|
22
22
|
const hostFederationType = determineHostFederationType(tree, pathToMFManifest);
|