@nx/angular 16.1.3 → 16.2.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/generators.d.ts +2 -0
- package/generators.js +2 -0
- package/generators.js.map +1 -1
- package/generators.json +14 -2
- package/migrations.json +21 -0
- package/package.json +10 -11
- package/src/builders/webpack-dev-server/schema.json +1 -1
- package/src/builders/webpack-server/schema.json +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js +3 -4
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js.map +1 -1
- package/src/generators/add-linting/schema.json +1 -1
- package/src/generators/application/lib/add-unit-test-runner.d.ts +1 -1
- package/src/generators/application/lib/add-unit-test-runner.js +13 -0
- package/src/generators/application/lib/add-unit-test-runner.js.map +1 -1
- package/src/generators/application/lib/normalize-options.js +3 -2
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/component/lib/validate-options.js +1 -2
- package/src/generators/component/lib/validate-options.js.map +1 -1
- package/src/generators/convert-to-with-mf/schema.json +1 -1
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +30 -28
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js.map +1 -1
- package/src/generators/directive/lib/validate-options.js +1 -2
- package/src/generators/directive/lib/validate-options.js.map +1 -1
- package/src/generators/host/host.js +1 -0
- package/src/generators/host/host.js.map +1 -1
- package/src/generators/host/schema.json +1 -1
- package/src/generators/init/schema.json +4 -4
- package/src/generators/library/files/base/package.json__tpl__ +1 -1
- package/src/generators/library/lib/create-files.js +1 -2
- package/src/generators/library/lib/create-files.js.map +1 -1
- package/src/generators/library/lib/normalize-options.js +6 -4
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/library.js +12 -0
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/move/schema.json +1 -1
- package/src/generators/ng-add/migrate-from-angular-cli.d.ts +1 -1
- package/src/generators/ng-add/migrate-from-angular-cli.js +1 -2
- package/src/generators/ng-add/migrate-from-angular-cli.js.map +1 -1
- package/src/generators/ng-add/schema.d.ts +3 -1
- package/src/generators/ng-add/schema.json +1 -1
- package/src/generators/ng-add/utilities/index.d.ts +0 -1
- package/src/generators/ng-add/utilities/index.js +0 -1
- package/src/generators/ng-add/utilities/index.js.map +1 -1
- package/src/generators/ng-add/utilities/workspace.js +11 -6
- package/src/generators/ng-add/utilities/workspace.js.map +1 -1
- package/src/generators/ngrx/lib/add-imports-to-module.js +20 -4
- package/src/generators/ngrx/lib/add-imports-to-module.js.map +1 -1
- package/src/generators/ngrx/schema.json +5 -4
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.actions.ts__tmpl__ +16 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.spec.ts__tmpl__ +37 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.spec.ts__tmpl__ +99 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.models.ts__tmpl__ +7 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.spec.ts__tmpl__ +37 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.reducer.ts__tmpl__ +41 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.spec.ts__tmpl__ +58 -0
- package/src/generators/ngrx-feature-store/files/base/__directory__/__fileName__.selectors.ts__tmpl__ +38 -0
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx-feature-store/files/no-inject/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
- package/src/generators/ngrx-feature-store/lib/add-exports-barrel.d.ts +3 -0
- package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js +39 -0
- package/src/generators/ngrx-feature-store/lib/add-exports-barrel.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/add-imports.d.ts +3 -0
- package/src/generators/ngrx-feature-store/lib/add-imports.js +103 -0
- package/src/generators/ngrx-feature-store/lib/add-imports.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.d.ts +3 -0
- package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.js +28 -0
- package/src/generators/ngrx-feature-store/lib/add-ngrx-to-package-json.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/generate-files.d.ts +3 -0
- package/src/generators/ngrx-feature-store/lib/generate-files.js +20 -0
- package/src/generators/ngrx-feature-store/lib/generate-files.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/index.d.ts +6 -0
- package/src/generators/ngrx-feature-store/lib/index.js +10 -0
- package/src/generators/ngrx-feature-store/lib/index.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +7 -0
- package/src/generators/ngrx-feature-store/lib/normalize-options.js +20 -0
- package/src/generators/ngrx-feature-store/lib/normalize-options.js.map +1 -0
- package/src/generators/ngrx-feature-store/lib/validate-options.d.ts +3 -0
- package/src/generators/ngrx-feature-store/lib/validate-options.js +35 -0
- package/src/generators/ngrx-feature-store/lib/validate-options.js.map +1 -0
- package/src/generators/ngrx-feature-store/ngrx-feature-store.d.ts +5 -0
- package/src/generators/ngrx-feature-store/ngrx-feature-store.js +30 -0
- package/src/generators/ngrx-feature-store/ngrx-feature-store.js.map +1 -0
- package/src/generators/ngrx-feature-store/schema.d.ts +12 -0
- package/src/generators/ngrx-feature-store/schema.json +72 -0
- package/src/generators/ngrx-root-store/lib/add-imports.d.ts +3 -0
- package/src/generators/ngrx-root-store/lib/add-imports.js +80 -0
- package/src/generators/ngrx-root-store/lib/add-imports.js.map +1 -0
- package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.d.ts +3 -0
- package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.js +28 -0
- package/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.js.map +1 -0
- package/src/generators/ngrx-root-store/lib/index.d.ts +4 -0
- package/src/generators/ngrx-root-store/lib/index.js +8 -0
- package/src/generators/ngrx-root-store/lib/index.js.map +1 -0
- package/src/generators/ngrx-root-store/lib/normalize-options.d.ts +7 -0
- package/src/generators/ngrx-root-store/lib/normalize-options.js +37 -0
- package/src/generators/ngrx-root-store/lib/normalize-options.js.map +1 -0
- package/src/generators/ngrx-root-store/lib/validate-options.d.ts +3 -0
- package/src/generators/ngrx-root-store/lib/validate-options.js +33 -0
- package/src/generators/ngrx-root-store/lib/validate-options.js.map +1 -0
- package/src/generators/ngrx-root-store/ngrx-root-store.d.ts +5 -0
- package/src/generators/ngrx-root-store/ngrx-root-store.js +40 -0
- package/src/generators/ngrx-root-store/ngrx-root-store.js.map +1 -0
- package/src/generators/ngrx-root-store/schema.d.ts +10 -0
- package/src/generators/ngrx-root-store/schema.json +66 -0
- package/src/generators/pipe/lib/validate-options.js +1 -2
- package/src/generators/pipe/lib/validate-options.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 +1 -1
- package/src/generators/scam/lib/validate-options.js +1 -2
- package/src/generators/scam/lib/validate-options.js.map +1 -1
- package/src/generators/scam/schema.json +1 -1
- package/src/generators/scam-directive/lib/validate-options.js +1 -2
- package/src/generators/scam-directive/lib/validate-options.js.map +1 -1
- package/src/generators/scam-directive/schema.json +1 -1
- package/src/generators/scam-pipe/lib/validate-options.js +1 -2
- package/src/generators/scam-pipe/lib/validate-options.js.map +1 -1
- package/src/generators/scam-pipe/schema.json +1 -1
- package/src/generators/setup-mf/lib/add-remote-entry.js +0 -3
- package/src/generators/setup-mf/lib/add-remote-entry.js.map +1 -1
- package/src/generators/setup-mf/lib/index.d.ts +1 -0
- package/src/generators/setup-mf/lib/index.js +1 -0
- package/src/generators/setup-mf/lib/index.js.map +1 -1
- package/src/generators/setup-mf/lib/normalize-options.d.ts +3 -0
- package/src/generators/setup-mf/lib/normalize-options.js +10 -0
- package/src/generators/setup-mf/lib/normalize-options.js.map +1 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +1 -1
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +9 -13
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js.map +1 -1
- package/src/generators/setup-mf/schema.d.ts +8 -1
- package/src/generators/setup-mf/setup-mf.d.ts +1 -1
- package/src/generators/setup-mf/setup-mf.js +3 -4
- package/src/generators/setup-mf/setup-mf.js.map +1 -1
- package/src/generators/utils/path.d.ts +0 -1
- package/src/generators/utils/path.js +1 -16
- package/src/generators/utils/path.js.map +1 -1
- package/src/generators/utils/project.d.ts +3 -1
- package/src/generators/utils/project.js +17 -7
- package/src/generators/utils/project.js.map +1 -1
- package/src/generators/utils/selector.js +2 -2
- package/src/generators/utils/selector.js.map +1 -1
- package/src/generators/utils/testing.js +24 -7
- package/src/generators/utils/testing.js.map +1 -1
- package/src/generators/utils/validations.d.ts +1 -0
- package/src/generators/utils/validations.js +17 -1
- package/src/generators/utils/validations.js.map +1 -1
- package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js +45 -25
- package/src/migrations/update-16-1-0/extract-standalone-config-from-bootstrap.js.map +1 -1
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.d.ts +2 -0
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +124 -0
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js.map +1 -0
- package/src/utils/versions.d.ts +1 -1
- package/src/utils/versions.js +1 -1
- package/src/generators/cypress-component-configuration/files/cypress/support/commands.ts__tpl__ +0 -42
- package/src/generators/cypress-component-configuration/files/cypress.config.ts__tpl__ +0 -6
- package/src/generators/ng-add/utilities/normalize-options.d.ts +0 -4
- package/src/generators/ng-add/utilities/normalize-options.js +0 -30
- package/src/generators/ng-add/utilities/normalize-options.js.map +0 -1
|
@@ -5,6 +5,7 @@ export * from './change-build-target';
|
|
|
5
5
|
export * from './fix-bootstrap';
|
|
6
6
|
export * from './generate-config';
|
|
7
7
|
export * from './get-remotes-with-ports';
|
|
8
|
+
export * from './normalize-options';
|
|
8
9
|
export * from './set-tsconfig-target';
|
|
9
10
|
export * from './setup-host-if-dynamic';
|
|
10
11
|
export * from './setup-serve-target';
|
|
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./change-build-target"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./fix-bootstrap"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./generate-config"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./get-remotes-with-ports"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./normalize-options"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./set-tsconfig-target"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./setup-host-if-dynamic"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./setup-serve-target"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC;AACzC,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,4DAAkC;AAClC,mEAAyC;AACzC,gEAAsC;AACtC,kEAAwC;AACxC,+DAAqC;AACrC,mEAAyC;AACzC,yEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC;AACzC,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,4DAAkC;AAClC,mEAAyC;AACzC,8DAAoC;AACpC,gEAAsC;AACtC,kEAAwC;AACxC,+DAAqC;AACrC,mEAAyC;AACzC,yEAA+C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeOptions = void 0;
|
|
4
|
+
const project_1 = require("../../utils/project");
|
|
5
|
+
function normalizeOptions(tree, options) {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
return Object.assign(Object.assign({}, options), { federationType: (_a = options.federationType) !== null && _a !== void 0 ? _a : 'static', prefix: (_b = options.prefix) !== null && _b !== void 0 ? _b : (0, project_1.getProjectPrefix)(tree, options.appName) });
|
|
8
|
+
}
|
|
9
|
+
exports.normalizeOptions = normalizeOptions;
|
|
10
|
+
//# sourceMappingURL=normalize-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,iDAAuD;AAGvD,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;;IAEf,uCACK,OAAO,KACV,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,QAAQ,EAClD,MAAM,EAAE,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAA,0BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IACjE;AACJ,CAAC;AATD,4CASC"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.removeDeadCodeFromRemote = void 0;
|
|
4
|
-
const project_configuration_1 = require("nx/src/generators/utils/project-configuration");
|
|
5
|
-
const path_1 = require("nx/src/utils/path");
|
|
6
4
|
const devkit_1 = require("@nx/devkit");
|
|
7
5
|
function removeDeadCodeFromRemote(tree, options) {
|
|
8
|
-
var _a;
|
|
9
6
|
const projectName = options.appName;
|
|
10
|
-
const project = (0,
|
|
7
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
11
8
|
['css', 'less', 'scss', 'sass'].forEach((style) => {
|
|
12
|
-
const pathToComponentStyle = (0,
|
|
9
|
+
const pathToComponentStyle = (0, devkit_1.joinPathFragments)(project.sourceRoot, `app/app.component.${style}`);
|
|
13
10
|
if (tree.exists(pathToComponentStyle)) {
|
|
14
11
|
tree.delete(pathToComponentStyle);
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
|
-
tree.rename((0,
|
|
18
|
-
tree.delete((0,
|
|
19
|
-
tree.delete((0,
|
|
20
|
-
const pathToAppComponent = (0,
|
|
14
|
+
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'));
|
|
15
|
+
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.spec.ts'));
|
|
16
|
+
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.html'));
|
|
17
|
+
const pathToAppComponent = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.ts');
|
|
21
18
|
if (!options.standalone) {
|
|
22
19
|
const componentContents = tree.read(pathToAppComponent, 'utf-8');
|
|
23
20
|
const isInlineTemplate = !componentContents.includes('templateUrl');
|
|
@@ -27,7 +24,7 @@ function removeDeadCodeFromRemote(tree, options) {
|
|
|
27
24
|
})
|
|
28
25
|
export class AppComponent {}`;
|
|
29
26
|
tree.write(pathToAppComponent, component);
|
|
30
|
-
tree.write((0,
|
|
27
|
+
tree.write((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts'), `import { NgModule } from '@angular/core';
|
|
31
28
|
import { BrowserModule } from '@angular/platform-browser';
|
|
32
29
|
import { RouterModule } from '@angular/router';
|
|
33
30
|
import { AppComponent } from './app.component';
|
|
@@ -48,11 +45,10 @@ export class AppModule {}`);
|
|
|
48
45
|
}
|
|
49
46
|
else {
|
|
50
47
|
tree.delete(pathToAppComponent);
|
|
51
|
-
const prefix = (_a = options.prefix) !== null && _a !== void 0 ? _a : (0, devkit_1.readNxJson)(tree).npmScope;
|
|
52
|
-
const remoteEntrySelector = `${prefix}-${projectName}-entry`;
|
|
53
48
|
const pathToIndexHtml = project.targets.build.options.index;
|
|
54
49
|
const indexContents = tree.read(pathToIndexHtml, 'utf-8');
|
|
55
|
-
const rootSelectorRegex = new RegExp(`${prefix}-root`, 'ig');
|
|
50
|
+
const rootSelectorRegex = new RegExp(`${options.prefix || 'app'}-root`, 'ig');
|
|
51
|
+
const remoteEntrySelector = `${options.prefix || 'app'}-${projectName}-entry`;
|
|
56
52
|
const newIndexContents = indexContents.replace(rootSelectorRegex, remoteEntrySelector);
|
|
57
53
|
tree.write(pathToIndexHtml, newIndexContents);
|
|
58
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-dead-code-from-remote.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/remove-dead-code-from-remote.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"remove-dead-code-from-remote.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/remove-dead-code-from-remote.ts"],"names":[],"mappings":";;;AACA,uCAAyE;AAGzE,SAAgB,wBAAwB,CAAC,IAAU,EAAE,OAAe;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE5D,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAC5C,OAAO,CAAC,UAAU,EAClB,qBAAqB,KAAK,EAAE,CAC7B,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SACnC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CACT,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,6BAA6B,CAAC,EACpE,IAAA,0BAAiB,EACf,OAAO,CAAC,UAAU,EAClB,0CAA0C,CAC3C,CACF,CAAC;IACF,IAAI,CAAC,MAAM,CACT,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,2BAA2B,CAAC,CACnE,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAE7E,MAAM,kBAAkB,GAAG,IAAA,0BAAiB,EAC1C,OAAO,CAAC,UAAU,EAClB,sBAAsB,CACvB,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEpE,MAAM,SAAS,GACb,iBAAiB,CAAC,KAAK,CACrB,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAC9C,CAAC,CAAC,CAAC;YACJ;;;6BAGuB,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,CACR,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAC1D;;;;;;;;;;;;;;;;;0BAiBoB,CACrB,CAAC;KACH;SAAM;QACL,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEhC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,OAAO,EACjC,IAAI,CACL,CAAC;QACF,MAAM,mBAAmB,GAAG,GAC1B,OAAO,CAAC,MAAM,IAAI,KACpB,IAAI,WAAW,QAAQ,CAAC;QACxB,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAC5C,iBAAiB,EACjB,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;KAC/C;AACH,CAAC;AArFD,4DAqFC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
type FederationType = 'static' | 'dynamic';
|
|
2
|
+
|
|
1
3
|
export interface Schema {
|
|
2
4
|
appName: string;
|
|
3
5
|
mfType: 'host' | 'remote';
|
|
4
6
|
port?: number;
|
|
5
7
|
remotes?: string[];
|
|
6
8
|
host?: string;
|
|
7
|
-
federationType?:
|
|
9
|
+
federationType?: FederationType;
|
|
8
10
|
routing?: boolean;
|
|
9
11
|
skipFormat?: boolean;
|
|
10
12
|
skipPackageJson?: boolean;
|
|
@@ -13,3 +15,8 @@ export interface Schema {
|
|
|
13
15
|
standalone?: boolean;
|
|
14
16
|
skipE2E?: boolean;
|
|
15
17
|
}
|
|
18
|
+
|
|
19
|
+
export interface NormalizedOptions extends Schema {
|
|
20
|
+
federationType: FederationType;
|
|
21
|
+
prefix: string | undefined;
|
|
22
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
2
|
import type { Schema } from './schema';
|
|
3
|
-
export declare function setupMf(tree: Tree,
|
|
3
|
+
export declare function setupMf(tree: Tree, rawOptions: Schema): Promise<() => void>;
|
|
4
4
|
export default setupMf;
|
|
@@ -7,15 +7,14 @@ const lib_1 = require("./lib");
|
|
|
7
7
|
const version_utils_1 = require("../utils/version-utils");
|
|
8
8
|
const versions_1 = require("../../utils/versions");
|
|
9
9
|
const semver_1 = require("semver");
|
|
10
|
-
function setupMf(tree,
|
|
11
|
-
var _a;
|
|
10
|
+
function setupMf(tree, rawOptions) {
|
|
12
11
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
12
|
const installedAngularInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
14
|
-
if ((0, semver_1.lt)(installedAngularInfo.version, '14.1.0') &&
|
|
13
|
+
if ((0, semver_1.lt)(installedAngularInfo.version, '14.1.0') && rawOptions.standalone) {
|
|
15
14
|
throw new Error(`The --standalone flag is not supported in your current version of Angular (${installedAngularInfo.version}). Please update to a version of Angular that supports Standalone Components (>= 14.1.0).`);
|
|
16
15
|
}
|
|
16
|
+
const options = (0, lib_1.normalizeOptions)(tree, rawOptions);
|
|
17
17
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
18
|
-
options.federationType = (_a = options.federationType) !== null && _a !== void 0 ? _a : 'static';
|
|
19
18
|
if (options.mfType === 'host') {
|
|
20
19
|
(0, lib_1.setupHostIfDynamic)(tree, options);
|
|
21
20
|
(0, lib_1.updateHostAppRoutes)(tree, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-mf.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/setup-mf/setup-mf.ts"],"names":[],"mappings":";;;;AACA,uCAIoB;AAGpB,+
|
|
1
|
+
{"version":3,"file":"setup-mf.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/setup-mf/setup-mf.ts"],"names":[],"mappings":";;;;AACA,uCAIoB;AAGpB,+BAce;AACf,0DAAwE;AACxE,mDAAiD;AACjD,mCAA4B;AAE5B,SAAsB,OAAO,CAAC,IAAU,EAAE,UAAkB;;QAC1D,MAAM,oBAAoB,GAAG,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC;QAClE,IAAI,IAAA,WAAE,EAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,UAAU,EAAE;YACvE,MAAM,IAAI,KAAK,CACb,8EAA8E,oBAAoB,CAAC,OAAO,2FAA2F,CACtM,CAAC;SACH;QAED,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEtE,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;YAC7B,IAAA,wBAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClC,IAAA,yBAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACpC;QAED,IAAI,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,IAAA,qBAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/B,IAAA,oBAAc,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YAClD,IAAA,8BAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,WAAW,GAAG,IAAA,qCAA4B,EACxC,IAAI,EACJ,EAAE,EACF,EAAE,SAAS,EAAE,oBAAS,EAAE,CACzB,CAAC;SACH;QAED,MAAM,gBAAgB,GAAG,IAAA,yBAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAA,2BAAqB,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAE3E,IAAA,uBAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,IAAA,0BAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,IAAA,sBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhC,IAAA,kBAAY,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,IAAA,iCAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC5C;QAED,eAAe;QACf,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AAhDD,0BAgDC;AAED,kBAAe,OAAO,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
2
|
export declare function pathStartsWith(path1: string, path2: string): boolean;
|
|
3
3
|
export declare function getRelativeImportToFile(sourceFilePath: string, targetFilePath: string): string;
|
|
4
|
-
export declare function checkPathUnderProjectRoot(tree: Tree, projectName: string, path: string): void;
|
|
5
4
|
export type PathGenerationOptions = {
|
|
6
5
|
name: string;
|
|
7
6
|
project: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeNameAndPaths = exports.
|
|
3
|
+
exports.normalizeNameAndPaths = exports.getRelativeImportToFile = exports.pathStartsWith = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const names_1 = require("./names");
|
|
@@ -15,21 +15,6 @@ function getRelativeImportToFile(sourceFilePath, targetFilePath) {
|
|
|
15
15
|
return `./${(0, devkit_1.joinPathFragments)(relativeDirToTarget, (0, path_1.basename)(targetFilePath, '.ts'))}`;
|
|
16
16
|
}
|
|
17
17
|
exports.getRelativeImportToFile = getRelativeImportToFile;
|
|
18
|
-
function checkPathUnderProjectRoot(tree, projectName, path) {
|
|
19
|
-
if (!path) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
const { root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
23
|
-
let pathToComponent = (0, devkit_1.normalizePath)(path);
|
|
24
|
-
pathToComponent = pathToComponent.startsWith('/')
|
|
25
|
-
? pathToComponent.slice(1)
|
|
26
|
-
: pathToComponent;
|
|
27
|
-
if (!pathStartsWith(pathToComponent, root)) {
|
|
28
|
-
throw new Error(`The path provided (${path}) does not exist under the project root (${root}). ` +
|
|
29
|
-
`Please make sure to provide a path that exists under the project root.`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.checkPathUnderProjectRoot = checkPathUnderProjectRoot;
|
|
33
18
|
function normalizeNameAndPaths(tree, options) {
|
|
34
19
|
var _a;
|
|
35
20
|
const { root, sourceRoot, projectType } = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/path.ts"],"names":[],"mappings":";;;AACA,uCAMoB;AACpB,+BAAmD;AACnD,mCAA4C;AAE5C,SAAgB,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,sBAAa,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,sBAAa,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACrD,CAAC;AALD,wCAKC;AAED,SAAgB,uBAAuB,CACrC,cAAsB,EACtB,cAAsB;IAEtB,MAAM,mBAAmB,GAAG,IAAA,eAAQ,EAClC,IAAA,cAAO,EAAC,cAAc,CAAC,EACvB,IAAA,cAAO,EAAC,cAAc,CAAC,CACxB,CAAC;IAEF,OAAO,KAAK,IAAA,0BAAiB,EAC3B,mBAAmB,EACnB,IAAA,eAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,CAChC,EAAE,CAAC;AACN,CAAC;AAbD,0DAaC;
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/path.ts"],"names":[],"mappings":";;;AACA,uCAMoB;AACpB,+BAAmD;AACnD,mCAA4C;AAE5C,SAAgB,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,sBAAa,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAA,0BAAiB,EAAC,sBAAa,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACrD,CAAC;AALD,wCAKC;AAED,SAAgB,uBAAuB,CACrC,cAAsB,EACtB,cAAsB;IAEtB,MAAM,mBAAmB,GAAG,IAAA,eAAQ,EAClC,IAAA,cAAO,EAAC,cAAc,CAAC,EACvB,IAAA,cAAO,EAAC,cAAc,CAAC,CACxB,CAAC;IAEF,OAAO,KAAK,IAAA,0BAAiB,EAC3B,mBAAmB,EACnB,IAAA,eAAQ,EAAC,cAAc,EAAE,KAAK,CAAC,CAChC,EAAE,CAAC;AACN,CAAC;AAbD,0DAaC;AAoBD,SAAgB,qBAAqB,CACnC,IAAU,EACV,OAA8B;;IAE9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAA,iCAAwB,EAChE,IAAI,EACJ,OAAO,CAAC,OAAO,CAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAA,0BAAiB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,IAAI,GACR,MAAA,OAAO,CAAC,IAAI,mCACZ,IAAA,0BAAiB,EACf,iBAAiB,EACjB,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAC7C,QAAQ,CACT,CAAC;IAEJ,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI;QAC5B,CAAC,CAAC,IAAA,sBAAa,EAAC,IAAI,CAAC;QACrB,CAAC,CAAC,IAAA,0BAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI;QAC3B,CAAC,CAAC,GAAG,IAAI,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;QAC3C,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,QAAQ,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;IAEhE,OAAO;QACL,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,UAAU;KACX,CAAC;AACJ,CAAC;AAvCD,sDAuCC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Tree } from '@nx/devkit';
|
|
1
2
|
export declare function normalizeDirectory(appName: string, directoryName: string): string;
|
|
2
3
|
export declare function normalizeProjectName(appName: string, directoryName: string): string;
|
|
3
|
-
export declare function
|
|
4
|
+
export declare function normalizeNewProjectPrefix(prefix: string | undefined, npmScope: string | undefined, fallbackPrefix: string): string;
|
|
5
|
+
export declare function getProjectPrefix(tree: Tree, project: string): string | undefined;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getProjectPrefix = exports.normalizeNewProjectPrefix = exports.normalizeProjectName = exports.normalizeDirectory = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
|
|
5
6
|
function normalizeDirectory(appName, directoryName) {
|
|
6
7
|
return directoryName
|
|
7
8
|
? `${(0, devkit_1.names)(directoryName).fileName}/${(0, devkit_1.names)(appName).fileName}`
|
|
@@ -12,14 +13,17 @@ function normalizeProjectName(appName, directoryName) {
|
|
|
12
13
|
return normalizeDirectory(appName, directoryName).replace(/\//g, '-');
|
|
13
14
|
}
|
|
14
15
|
exports.normalizeProjectName = normalizeProjectName;
|
|
15
|
-
function
|
|
16
|
-
if (prefix) {
|
|
17
|
-
return prefix;
|
|
18
|
-
}
|
|
16
|
+
function normalizeNewProjectPrefix(prefix, npmScope, fallbackPrefix) {
|
|
19
17
|
// Prefix needs to be a valid html selector, if npmScope it's not valid, we don't default
|
|
20
18
|
// to it and let it fall through to the Angular schematic to handle it
|
|
21
19
|
// https://github.com/angular/angular-cli/blob/1c634cd327e5a850553b258aa2d5e6a6b2c75c65/packages/schematics/angular/component/index.ts#L130
|
|
22
20
|
const htmlSelectorRegex = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/;
|
|
21
|
+
if (prefix) {
|
|
22
|
+
if (!htmlSelectorRegex.test(prefix)) {
|
|
23
|
+
throw new Error('The provided "prefix" is invalid. The prefix must start with a letter, and must contain only alphanumeric characters or dashes. When adding a dash the segment after the dash must also start with a letter.');
|
|
24
|
+
}
|
|
25
|
+
return prefix;
|
|
26
|
+
}
|
|
23
27
|
if (npmScope && !htmlSelectorRegex.test(npmScope)) {
|
|
24
28
|
throw new Error(`The "--prefix" option was not provided, therefore attempted to use the "npmScope" defined in "nx.json" to set the application's selector prefix, but it is invalid.
|
|
25
29
|
|
|
@@ -31,7 +35,13 @@ If you encountered this error when creating a new Nx Workspace, the workspace na
|
|
|
31
35
|
|
|
32
36
|
Valid selector prefixes must start with a letter, and must contain only alphanumeric characters or dashes. When adding a dash the segment after the dash must also start with a letter.`);
|
|
33
37
|
}
|
|
34
|
-
return npmScope ||
|
|
38
|
+
return npmScope || fallbackPrefix;
|
|
39
|
+
}
|
|
40
|
+
exports.normalizeNewProjectPrefix = normalizeNewProjectPrefix;
|
|
41
|
+
function getProjectPrefix(tree, project) {
|
|
42
|
+
var _a;
|
|
43
|
+
return ((_a = (0, devkit_1.readProjectConfiguration)(tree, project)
|
|
44
|
+
.prefix) !== null && _a !== void 0 ? _a : (0, get_npm_scope_1.getNpmScope)(tree));
|
|
35
45
|
}
|
|
36
|
-
exports.
|
|
46
|
+
exports.getProjectPrefix = getProjectPrefix;
|
|
37
47
|
//# sourceMappingURL=project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/project.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/project.ts"],"names":[],"mappings":";;;AACA,uCAAyE;AAEzE,+EAA0E;AAE1E,SAAgB,kBAAkB,CAChC,OAAe,EACf,aAAqB;IAErB,OAAO,aAAa;QAClB,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,QAAQ,IAAI,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QAC/D,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;AAC9B,CAAC;AAPD,gDAOC;AAED,SAAgB,oBAAoB,CAClC,OAAe,EACf,aAAqB;IAErB,OAAO,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxE,CAAC;AALD,oDAKC;AAED,SAAgB,yBAAyB,CACvC,MAA0B,EAC1B,QAA4B,EAC5B,cAAsB;IAEtB,yFAAyF;IACzF,sEAAsE;IACtE,2IAA2I;IAC3I,MAAM,iBAAiB,GACrB,oDAAoD,CAAC;IAEvD,IAAI,MAAM,EAAE;QACV,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,IAAI,KAAK,CACb,8MAA8M,CAC/M,CAAC;SACH;QAED,OAAO,MAAM,CAAC;KACf;IAED,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC;;;;;;;;wLAQoK,CAAC,CAAC;KACvL;IAED,OAAO,QAAQ,IAAI,cAAc,CAAC;AACpC,CAAC;AAlCD,8DAkCC;AAED,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;;IAEf,OAAO,CACL,MAAC,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAiC;SACrE,MAAM,mCAAI,IAAA,2BAAW,EAAC,IAAI,CAAC,CAC/B,CAAC;AACJ,CAAC;AARD,4CAQC"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildSelector = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const get_npm_scope_1 = require("@nx/js/src/utils/package-json/get-npm-scope");
|
|
5
6
|
function buildSelector(tree, name, prefix, projectPrefix, casing) {
|
|
6
|
-
var _a;
|
|
7
7
|
let selector = name;
|
|
8
|
-
prefix !== null && prefix !== void 0 ? prefix : (prefix = projectPrefix !== null && projectPrefix !== void 0 ? projectPrefix : (
|
|
8
|
+
prefix !== null && prefix !== void 0 ? prefix : (prefix = projectPrefix !== null && projectPrefix !== void 0 ? projectPrefix : (0, get_npm_scope_1.getNpmScope)(tree));
|
|
9
9
|
if (prefix) {
|
|
10
10
|
selector = `${prefix}-${selector}`;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/selector.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/selector.ts"],"names":[],"mappings":";;;AACA,uCAAmC;AAEnC,+EAA0E;AAE1E,SAAgB,aAAa,CAC3B,IAAU,EACV,IAAY,EACZ,MAA0B,EAC1B,aAAiC,EACjC,MAAyE;IAEzE,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,aAAN,MAAM,cAAN,MAAM,IAAN,MAAM,GAAK,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAA,2BAAW,EAAC,IAAI,CAAC,EAAC;IAC9C,IAAI,MAAM,EAAE;QACV,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;KACpC;IAED,OAAO,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAdD,sCAcC"}
|
|
@@ -49,8 +49,6 @@ function createStorybookTestWorkspaceForLib(libName) {
|
|
|
49
49
|
let tree = (0, testing_1.createTreeWithEmptyWorkspace)({ layout: 'apps-libs' });
|
|
50
50
|
addAngularPluginPeerDeps(tree);
|
|
51
51
|
tree.write('.gitignore', '');
|
|
52
|
-
const { wrapAngularDevkitSchematic } = require('@nx/devkit/ngcli-adapter');
|
|
53
|
-
const moduleGenerator = wrapAngularDevkitSchematic('@schematics/angular', 'module');
|
|
54
52
|
yield (0, library_1.libraryGenerator)(tree, {
|
|
55
53
|
name: libName,
|
|
56
54
|
buildable: false,
|
|
@@ -84,7 +82,7 @@ export class TestButtonComponent {
|
|
|
84
82
|
tree.write(modulePath, `import * as ButtonExports from './test-button/test-button.component';
|
|
85
83
|
${tree.read(modulePath)}`);
|
|
86
84
|
// create a module with component that gets exported in a barrel file
|
|
87
|
-
|
|
85
|
+
generateModule(tree, {
|
|
88
86
|
name: 'barrel',
|
|
89
87
|
project: libName,
|
|
90
88
|
});
|
|
@@ -105,7 +103,7 @@ import { BarrelButtonComponent } from './barrel-button';
|
|
|
105
103
|
})
|
|
106
104
|
export class BarrelModule {}`);
|
|
107
105
|
// create a module with components that get Angular exported and declared by variable
|
|
108
|
-
|
|
106
|
+
generateModule(tree, {
|
|
109
107
|
name: 'variable-declare',
|
|
110
108
|
project: libName,
|
|
111
109
|
});
|
|
@@ -138,7 +136,7 @@ const COMPONENTS = [
|
|
|
138
136
|
})
|
|
139
137
|
export class VariableDeclareModule {}`);
|
|
140
138
|
// create a module with components that get Angular exported and declared by variable
|
|
141
|
-
|
|
139
|
+
generateModule(tree, {
|
|
142
140
|
name: 'variable-spread-declare',
|
|
143
141
|
project: libName,
|
|
144
142
|
});
|
|
@@ -177,7 +175,7 @@ const COMPONENTS = [
|
|
|
177
175
|
})
|
|
178
176
|
export class VariableSpreadDeclareModule {}`);
|
|
179
177
|
// create a module where declared components are pulled from a static member of the module
|
|
180
|
-
|
|
178
|
+
generateModule(tree, {
|
|
181
179
|
name: 'static-member-declarations',
|
|
182
180
|
project: libName,
|
|
183
181
|
});
|
|
@@ -207,7 +205,7 @@ export class StaticMemberDeclarationsModule {
|
|
|
207
205
|
static readonly COMPONENTS = [Cmp1Component, Cmp2Component];
|
|
208
206
|
}`);
|
|
209
207
|
// create another button in a nested subpath
|
|
210
|
-
|
|
208
|
+
generateModule(tree, {
|
|
211
209
|
name: 'nested',
|
|
212
210
|
project: libName,
|
|
213
211
|
path: `libs/${libName}/src/lib`,
|
|
@@ -229,4 +227,23 @@ exports.createStorybookTestWorkspaceForLib = createStorybookTestWorkspaceForLib;
|
|
|
229
227
|
function addAngularPluginPeerDeps(tree) {
|
|
230
228
|
(0, devkit_1.updateJson)(tree, 'package.json', (json) => (Object.assign(Object.assign({}, json), { devDependencies: Object.assign(Object.assign({}, json.devDependencies), { '@angular-devkit/core': versions_1.angularDevkitVersion, '@angular-devkit/schematics': versions_1.angularDevkitVersion, '@schematics/angular': versions_1.angularDevkitVersion }) })));
|
|
231
229
|
}
|
|
230
|
+
function generateModule(tree, options) {
|
|
231
|
+
var _a;
|
|
232
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
233
|
+
if (options.path === undefined) {
|
|
234
|
+
const sourceRoot = (_a = project.sourceRoot) !== null && _a !== void 0 ? _a : `${project.root}/src`;
|
|
235
|
+
const projectDirName = project.projectType === 'application' ? 'app' : 'lib';
|
|
236
|
+
options.path = `${sourceRoot}/${projectDirName}`;
|
|
237
|
+
}
|
|
238
|
+
const moduleNames = (0, devkit_1.names)(options.name);
|
|
239
|
+
const moduleFilePath = `${options.path}/${moduleNames.fileName}/${moduleNames.fileName}.module.ts`;
|
|
240
|
+
tree.write(moduleFilePath, `import { NgModule } from '@angular/core';
|
|
241
|
+
import { CommonModule } from '@angular/common';
|
|
242
|
+
|
|
243
|
+
@NgModule({
|
|
244
|
+
declarations: [],
|
|
245
|
+
imports: [CommonModule],
|
|
246
|
+
})
|
|
247
|
+
export class ${moduleNames.className}Module {}`);
|
|
248
|
+
}
|
|
232
249
|
//# sourceMappingURL=testing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/testing.ts"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/testing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
2
|
export declare function validateProject(tree: Tree, projectName: string): void;
|
|
3
3
|
export declare function validateStandaloneOption(tree: Tree, standalone: boolean | undefined, angularVersion?: string): void;
|
|
4
|
+
export declare function validatePathIsUnderProjectRoot(tree: Tree, projectName: string, path: string): void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateStandaloneOption = exports.validateProject = void 0;
|
|
3
|
+
exports.validatePathIsUnderProjectRoot = exports.validateStandaloneOption = exports.validateProject = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const semver_1 = require("semver");
|
|
6
|
+
const path_1 = require("./path");
|
|
6
7
|
const version_utils_1 = require("./version-utils");
|
|
7
8
|
function validateProject(tree, projectName) {
|
|
8
9
|
const projects = (0, devkit_1.getProjects)(tree);
|
|
@@ -22,4 +23,19 @@ function validateStandaloneOption(tree, standalone, angularVersion) {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
exports.validateStandaloneOption = validateStandaloneOption;
|
|
26
|
+
function validatePathIsUnderProjectRoot(tree, projectName, path) {
|
|
27
|
+
if (!path) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const { root } = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
31
|
+
let pathToComponent = (0, devkit_1.normalizePath)(path);
|
|
32
|
+
pathToComponent = pathToComponent.startsWith('/')
|
|
33
|
+
? pathToComponent.slice(1)
|
|
34
|
+
: pathToComponent;
|
|
35
|
+
if (!(0, path_1.pathStartsWith)(pathToComponent, root)) {
|
|
36
|
+
throw new Error(`The path provided (${path}) does not exist under the project root (${root}). ` +
|
|
37
|
+
`Please make sure to provide a path that exists under the project root.`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.validatePathIsUnderProjectRoot = validatePathIsUnderProjectRoot;
|
|
25
41
|
//# sourceMappingURL=validations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/validations.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/utils/validations.ts"],"names":[],"mappings":";;;AACA,uCAKoB;AACpB,mCAA4B;AAC5B,iCAAwC;AACxC,mDAAiE;AAEjE,SAAgB,eAAe,CAAC,IAAU,EAAE,WAAmB;IAC7D,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,YAAY,WAAW,4DAA4D,CACpF,CAAC;KACH;AACH,CAAC;AARD,0CAQC;AAED,SAAgB,wBAAwB,CACtC,IAAU,EACV,UAA+B,EAC/B,cAAuB;IAEvB,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IAED,MAAM,uBAAuB,GAC3B,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAEjE,IAAI,IAAA,WAAE,EAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,IAAA,qBAAY,EAAA,4FAA4F,uBAAuB;sGAC7C,CAAC,CAAC;KACrG;AACH,CAAC;AAhBD,4DAgBC;AAED,SAAgB,8BAA8B,CAC5C,IAAU,EACV,WAAmB,EACnB,IAAY;IAEZ,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;KACR;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE7D,IAAI,eAAe,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,CAAC;IAC1C,eAAe,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/C,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,eAAe,CAAC;IAEpB,IAAI,CAAC,IAAA,qBAAc,EAAC,eAAe,EAAE,IAAI,CAAC,EAAE;QAC1C,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,4CAA4C,IAAI,KAAK;YAC7E,wEAAwE,CAC3E,CAAC;KACH;AACH,CAAC;AAtBD,wEAsBC"}
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
|
|
6
|
+
const path_1 = require("path");
|
|
6
7
|
let tsModule;
|
|
7
8
|
let tsquery;
|
|
8
|
-
function getBootstrapCallFileInfo(project,
|
|
9
|
-
var _a, _b, _c;
|
|
9
|
+
function getBootstrapCallFileInfo(tree, project, mainFilePath) {
|
|
10
10
|
const IMPORT_BOOTSTRAP_FILE = 'CallExpression:has(ImportKeyword) > StringLiteral';
|
|
11
|
-
let bootstrapCallFilePath =
|
|
11
|
+
let bootstrapCallFilePath = mainFilePath;
|
|
12
12
|
let bootstrapCallFileContents = tree.read(bootstrapCallFilePath, 'utf-8');
|
|
13
13
|
const ast = tsquery.ast(bootstrapCallFileContents);
|
|
14
14
|
const importBootstrapNodes = tsquery(ast, IMPORT_BOOTSTRAP_FILE, {
|
|
@@ -29,29 +29,49 @@ function getImportTokenMap(bootstrapCallFileContentsAst) {
|
|
|
29
29
|
}
|
|
30
30
|
return importTokenMap;
|
|
31
31
|
}
|
|
32
|
-
function getImportsRequiredForAppConfig(importTokenMap, appConfigNode) {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
function getImportsRequiredForAppConfig(importTokenMap, appConfigNode, oldSourceFilePath, newSourceFilePath) {
|
|
33
|
+
const identifiers = tsquery.query(appConfigNode, 'Identifier:not(PropertyAssignment > Identifier)', { visitAllChildren: true });
|
|
34
|
+
const appConfigImports = new Set();
|
|
35
|
+
const originalImportsToRemove = new Set();
|
|
36
|
+
for (const identifier of identifiers) {
|
|
37
|
+
for (const key of importTokenMap.keys()) {
|
|
38
|
+
if (!key.includes(identifier.getText())) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
let importText = importTokenMap.get(key);
|
|
42
|
+
originalImportsToRemove.add(importText);
|
|
43
|
+
if (oldSourceFilePath === newSourceFilePath ||
|
|
44
|
+
oldSourceFilePath.split('/').length ===
|
|
45
|
+
newSourceFilePath.split('/').length) {
|
|
46
|
+
appConfigImports.add(importText);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const importPath = tsquery
|
|
50
|
+
.query(importText, 'StringLiteral', {
|
|
51
|
+
visitAllChildren: true,
|
|
52
|
+
})[0]
|
|
53
|
+
.getText()
|
|
54
|
+
.replace(/'/g, '')
|
|
55
|
+
.replace(/"/g, '');
|
|
56
|
+
if (importPath.startsWith('.')) {
|
|
57
|
+
const resolvedImportPath = (0, path_1.resolve)((0, path_1.dirname)(oldSourceFilePath), importPath);
|
|
58
|
+
const newRelativeImportPath = (0, path_1.relative)((0, path_1.dirname)(newSourceFilePath), resolvedImportPath);
|
|
59
|
+
importText = importText.replace(importPath, newRelativeImportPath.startsWith('.')
|
|
60
|
+
? newRelativeImportPath
|
|
61
|
+
: `./${newRelativeImportPath}`);
|
|
62
|
+
}
|
|
63
|
+
appConfigImports.add(importText);
|
|
39
64
|
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
appConfigImports: Array.from(appConfigImports),
|
|
68
|
+
importsToRemoveFromSource: Array.from(originalImportsToRemove),
|
|
40
69
|
};
|
|
41
|
-
const visitEachChild = (node) => {
|
|
42
|
-
node.forEachChild((node) => {
|
|
43
|
-
const nodeText = node.getText();
|
|
44
|
-
checkImportsForTokens(nodeText);
|
|
45
|
-
visitEachChild(node);
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
visitEachChild(appConfigNode);
|
|
49
|
-
return importsRequiredForAppConfig;
|
|
50
70
|
}
|
|
51
71
|
function getAppConfigFileContents(importsRequiredForAppConfig, appConfigText) {
|
|
52
72
|
const buildAppConfigFileContents = (importStatements, appConfig) => `import { ApplicationConfig } from '@angular/core';${importStatements.join('\n')}
|
|
53
73
|
export const appConfig: ApplicationConfig = ${appConfig}`;
|
|
54
|
-
const appConfigFileContents = buildAppConfigFileContents(
|
|
74
|
+
const appConfigFileContents = buildAppConfigFileContents(importsRequiredForAppConfig, appConfigText);
|
|
55
75
|
return appConfigFileContents;
|
|
56
76
|
}
|
|
57
77
|
function getBootstrapCallFileContents(bootstrapCallFileContents, appConfigNode, importsRequiredForAppConfig) {
|
|
@@ -74,14 +94,14 @@ function extractStandaloneConfig(tree) {
|
|
|
74
94
|
const projects = (0, devkit_1.getProjects)(tree);
|
|
75
95
|
const BOOTSTRAP_APPLICATION_CALL_SELECTOR = 'CallExpression:has(Identifier[name=bootstrapApplication])';
|
|
76
96
|
const BOOTSTRAP_APPLICATION_CALL_CONFIG_SELECTOR = 'CallExpression:has(Identifier[name=bootstrapApplication]) > ObjectLiteralExpression';
|
|
77
|
-
for (const [
|
|
97
|
+
for (const [, project] of projects.entries()) {
|
|
78
98
|
if (project.projectType !== 'application') {
|
|
79
99
|
continue;
|
|
80
100
|
}
|
|
81
101
|
if (((_c = (_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.main) === undefined) {
|
|
82
102
|
continue;
|
|
83
103
|
}
|
|
84
|
-
const { bootstrapCallFilePath, bootstrapCallFileContents } = getBootstrapCallFileInfo(project,
|
|
104
|
+
const { bootstrapCallFilePath, bootstrapCallFileContents } = getBootstrapCallFileInfo(tree, project, project.targets.build.options.main);
|
|
85
105
|
const bootstrapCallFileContentsAst = tsquery.ast(bootstrapCallFileContents);
|
|
86
106
|
const nodes = tsquery(bootstrapCallFileContentsAst, BOOTSTRAP_APPLICATION_CALL_SELECTOR, { visitAllChildren: true });
|
|
87
107
|
if (nodes.length === 0) {
|
|
@@ -95,11 +115,11 @@ function extractStandaloneConfig(tree) {
|
|
|
95
115
|
}
|
|
96
116
|
const appConfigNode = appConfigNodes[0];
|
|
97
117
|
const appConfigText = appConfigNode.getText();
|
|
98
|
-
const importsRequiredForAppConfig = getImportsRequiredForAppConfig(importTokenMap, appConfigNode);
|
|
99
118
|
const appConfigFilePath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.config.ts');
|
|
100
|
-
const
|
|
119
|
+
const { appConfigImports, importsToRemoveFromSource } = getImportsRequiredForAppConfig(importTokenMap, appConfigNode, bootstrapCallFilePath, appConfigFilePath);
|
|
120
|
+
const appConfigFileContents = getAppConfigFileContents(appConfigImports, appConfigText);
|
|
101
121
|
tree.write(appConfigFilePath, appConfigFileContents);
|
|
102
|
-
let newBootstrapCallFileContents = getBootstrapCallFileContents(bootstrapCallFileContents, appConfigNode,
|
|
122
|
+
let newBootstrapCallFileContents = getBootstrapCallFileContents(bootstrapCallFileContents, appConfigNode, importsToRemoveFromSource);
|
|
103
123
|
tree.write(bootstrapCallFilePath, newBootstrapCallFileContents);
|
|
104
124
|
}
|
|
105
125
|
yield (0, devkit_1.formatFiles)(tree);
|