@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
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "NxNgrxFeatureStoreGenerator",
|
|
4
|
+
"title": "NgRx Feature Store Generator",
|
|
5
|
+
"description": "Add an NgRx Feature Store to an application or library.",
|
|
6
|
+
"cli": "nx",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Name of the NgRx feature state, such as `products` or `users`. Recommended to use the plural form of the name.",
|
|
12
|
+
"$default": {
|
|
13
|
+
"$source": "argv",
|
|
14
|
+
"index": 0
|
|
15
|
+
},
|
|
16
|
+
"x-prompt": "What name would you like to use for the NgRx feature state? An example would be `users`.",
|
|
17
|
+
"x-priority": "important"
|
|
18
|
+
},
|
|
19
|
+
"parent": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "The path to the file where the state will be registered. For NgModule usage, this will be your Feature Module. For Standalone API usage, this will be your Routes definition file for your feature state. The host directory will create/use the new state directory. _Note: The Standalone API usage is only supported in Angular versions >= 14.1.0_.",
|
|
22
|
+
"x-prompt": "What is the path to the module or Routes definition where this NgRx state should be registered?",
|
|
23
|
+
"x-priority": "important"
|
|
24
|
+
},
|
|
25
|
+
"route": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The route that the Standalone NgRx Providers should be added to. _Note: This is only supported in Angular versions >= 14.1.0_.",
|
|
28
|
+
"default": "''"
|
|
29
|
+
},
|
|
30
|
+
"minimal": {
|
|
31
|
+
"type": "boolean",
|
|
32
|
+
"default": false,
|
|
33
|
+
"description": "Only register the feature state.",
|
|
34
|
+
"x-priority": "important"
|
|
35
|
+
},
|
|
36
|
+
"directory": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"default": "+state",
|
|
39
|
+
"description": "The name of the folder used to contain/group the generated NgRx files."
|
|
40
|
+
},
|
|
41
|
+
"facade": {
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"default": false,
|
|
44
|
+
"description": "Create a Facade class for the the feature.",
|
|
45
|
+
"x-prompt": "Would you like to use a Facade with your NgRx state?"
|
|
46
|
+
},
|
|
47
|
+
"skipImport": {
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"default": false,
|
|
50
|
+
"description": "Generate NgRx feature files without registering the feature in the NgModule."
|
|
51
|
+
},
|
|
52
|
+
"skipFormat": {
|
|
53
|
+
"description": "Skip formatting files.",
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"default": false,
|
|
56
|
+
"x-priority": "internal"
|
|
57
|
+
},
|
|
58
|
+
"skipPackageJson": {
|
|
59
|
+
"type": "boolean",
|
|
60
|
+
"default": false,
|
|
61
|
+
"description": "Do not update the `package.json` with NgRx dependencies.",
|
|
62
|
+
"x-priority": "internal"
|
|
63
|
+
},
|
|
64
|
+
"barrels": {
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"default": false,
|
|
67
|
+
"description": "Use barrels to re-export actions, state and selectors."
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"additionalProperties": false,
|
|
71
|
+
"required": ["name"]
|
|
72
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addImportsToModule = void 0;
|
|
4
|
+
const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
|
|
5
|
+
const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
|
|
6
|
+
const js_1 = require("@nx/js");
|
|
7
|
+
let tsModule;
|
|
8
|
+
function addRootStoreImport(tree, isParentStandalone, sourceFile, parentPath, provideRootStore, storeForRoot) {
|
|
9
|
+
if (isParentStandalone) {
|
|
10
|
+
if (tree.read(parentPath, 'utf-8').includes('ApplicationConfig')) {
|
|
11
|
+
(0, ast_utils_1.addProviderToAppConfig)(tree, parentPath, provideRootStore);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
(0, ast_utils_1.addProviderToBootstrapApplication)(tree, parentPath, provideRootStore);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
sourceFile = (0, ast_utils_1.addImportToModule)(tree, sourceFile, parentPath, storeForRoot);
|
|
19
|
+
}
|
|
20
|
+
return sourceFile;
|
|
21
|
+
}
|
|
22
|
+
function addRootEffectsImport(tree, isParentStandalone, sourceFile, parentPath, provideRootEffects, effectsForEmptyRoot) {
|
|
23
|
+
if (isParentStandalone) {
|
|
24
|
+
if (tree.read(parentPath, 'utf-8').includes('ApplicationConfig')) {
|
|
25
|
+
(0, ast_utils_1.addProviderToAppConfig)(tree, parentPath, provideRootEffects);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
(0, ast_utils_1.addProviderToBootstrapApplication)(tree, parentPath, provideRootEffects);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
sourceFile = (0, ast_utils_1.addImportToModule)(tree, sourceFile, parentPath, effectsForEmptyRoot);
|
|
33
|
+
}
|
|
34
|
+
return sourceFile;
|
|
35
|
+
}
|
|
36
|
+
function addRouterStoreImport(tree, sourceFile, addImport, parentPath, storeRouterModule) {
|
|
37
|
+
sourceFile = addImport(sourceFile, 'StoreRouterConnectingModule', '@ngrx/router-store');
|
|
38
|
+
return (0, ast_utils_1.addImportToModule)(tree, sourceFile, parentPath, storeRouterModule);
|
|
39
|
+
}
|
|
40
|
+
function addImportsToModule(tree, options) {
|
|
41
|
+
if (!tsModule) {
|
|
42
|
+
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
43
|
+
}
|
|
44
|
+
const parentPath = options.parent;
|
|
45
|
+
const sourceText = tree.read(parentPath, 'utf-8');
|
|
46
|
+
let sourceFile = tsModule.createSourceFile(parentPath, sourceText, tsModule.ScriptTarget.Latest, true);
|
|
47
|
+
const isParentStandalone = !sourceText.includes('@NgModule');
|
|
48
|
+
const addImport = (source, symbolName, fileName, isDefault = false) => {
|
|
49
|
+
return (0, js_1.insertImport)(tree, source, parentPath, symbolName, fileName, isDefault);
|
|
50
|
+
};
|
|
51
|
+
const storeMetaReducers = `metaReducers: []`;
|
|
52
|
+
const storeForRoot = `StoreModule.forRoot({}, {
|
|
53
|
+
${storeMetaReducers},
|
|
54
|
+
runtimeChecks: {
|
|
55
|
+
strictActionImmutability: true,
|
|
56
|
+
strictStateImmutability: true
|
|
57
|
+
}
|
|
58
|
+
})`;
|
|
59
|
+
const effectsForEmptyRoot = `EffectsModule.forRoot([])`;
|
|
60
|
+
const storeRouterModule = 'StoreRouterConnectingModule.forRoot()';
|
|
61
|
+
const provideRootStore = `provideStore()`;
|
|
62
|
+
const provideRootEffects = `provideEffects()`;
|
|
63
|
+
if (isParentStandalone) {
|
|
64
|
+
sourceFile = addImport(sourceFile, 'provideStore', '@ngrx/store');
|
|
65
|
+
sourceFile = addImport(sourceFile, 'provideEffects', '@ngrx/effects');
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
sourceFile = addImport(sourceFile, 'StoreModule', '@ngrx/store');
|
|
69
|
+
sourceFile = addImport(sourceFile, 'EffectsModule', '@ngrx/effects');
|
|
70
|
+
}
|
|
71
|
+
sourceFile = addRootStoreImport(tree, isParentStandalone, sourceFile, parentPath, provideRootStore, storeForRoot);
|
|
72
|
+
sourceFile = addRootEffectsImport(tree, isParentStandalone, sourceFile, parentPath, provideRootEffects, effectsForEmptyRoot);
|
|
73
|
+
// this is just a heuristic
|
|
74
|
+
const hasRouter = sourceText.indexOf('RouterModule') > -1;
|
|
75
|
+
if (hasRouter && !isParentStandalone) {
|
|
76
|
+
sourceFile = addRouterStoreImport(tree, sourceFile, addImport, parentPath, storeRouterModule);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.addImportsToModule = addImportsToModule;
|
|
80
|
+
//# sourceMappingURL=add-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-imports.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ngrx-root-store/lib/add-imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addNgRxToPackageJson = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const semver_1 = require("semver");
|
|
6
|
+
const version_utils_1 = require("../../utils/version-utils");
|
|
7
|
+
function addNgRxToPackageJson(tree, options) {
|
|
8
|
+
var _a;
|
|
9
|
+
var _b;
|
|
10
|
+
const jasmineMarblesVersion = (0, semver_1.gte)(options.rxjsVersion, '7.0.0')
|
|
11
|
+
? '~0.9.1'
|
|
12
|
+
: '~0.8.3';
|
|
13
|
+
const ngrxVersion = (0, version_utils_1.versions)(tree).ngrxVersion;
|
|
14
|
+
(_a = (_b = process.env).npm_config_legacy_peer_deps) !== null && _a !== void 0 ? _a : (_b.npm_config_legacy_peer_deps = 'true');
|
|
15
|
+
return (0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
16
|
+
'@ngrx/store': ngrxVersion,
|
|
17
|
+
'@ngrx/effects': ngrxVersion,
|
|
18
|
+
'@ngrx/entity': ngrxVersion,
|
|
19
|
+
'@ngrx/router-store': ngrxVersion,
|
|
20
|
+
'@ngrx/component-store': ngrxVersion,
|
|
21
|
+
}, {
|
|
22
|
+
'@ngrx/schematics': ngrxVersion,
|
|
23
|
+
'@ngrx/store-devtools': ngrxVersion,
|
|
24
|
+
'jasmine-marbles': jasmineMarblesVersion,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
exports.addNgRxToPackageJson = addNgRxToPackageJson;
|
|
28
|
+
//# sourceMappingURL=add-ngrx-to-package-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-ngrx-to-package-json.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ngrx-root-store/lib/add-ngrx-to-package-json.ts"],"names":[],"mappings":";;;AACA,uCAA0D;AAC1D,mCAA6B;AAC7B,6DAAqD;AAGrD,SAAgB,oBAAoB,CAClC,IAAU,EACV,OAAgD;;;IAEhD,MAAM,qBAAqB,GAAG,IAAA,YAAG,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;QAC7D,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,WAAW,GAAG,IAAA,wBAAQ,EAAC,IAAI,CAAC,CAAC,WAAW,CAAC;IAE/C,YAAA,OAAO,CAAC,GAAG,EAAC,2BAA2B,uCAA3B,2BAA2B,GAAK,MAAM,EAAC;IAEnD,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,WAAW;QAC3B,oBAAoB,EAAE,WAAW;QACjC,uBAAuB,EAAE,WAAW;KACrC,EACD;QACE,kBAAkB,EAAE,WAAW;QAC/B,sBAAsB,EAAE,WAAW;QACnC,iBAAiB,EAAE,qBAAqB;KACzC,CACF,CAAC;AACJ,CAAC;AA1BD,oDA0BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./add-imports"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./add-ngrx-to-package-json"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./normalize-options"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./validate-options"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ngrx-root-store/lib/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,qEAA2C;AAC3C,8DAAoC;AACpC,6DAAmC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Tree } from '@nx/devkit';
|
|
2
|
+
import type { Schema } from '../schema';
|
|
3
|
+
export type NormalizedNgRxRootStoreGeneratorOptions = Schema & {
|
|
4
|
+
parent: string;
|
|
5
|
+
rxjsVersion: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function normalizeOptions(tree: Tree, options: Schema): NormalizedNgRxRootStoreGeneratorOptions;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeOptions = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const semver_1 = require("@nx/devkit/src/utils/semver");
|
|
6
|
+
const versions_1 = require("../../../utils/versions");
|
|
7
|
+
const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
|
|
8
|
+
function normalizeOptions(tree, options) {
|
|
9
|
+
var _a;
|
|
10
|
+
let rxjsVersion;
|
|
11
|
+
try {
|
|
12
|
+
rxjsVersion = (0, semver_1.checkAndCleanWithSemver)('rxjs', (0, devkit_1.readJson)(tree, 'package.json').dependencies['rxjs']);
|
|
13
|
+
}
|
|
14
|
+
catch (_b) {
|
|
15
|
+
rxjsVersion = (0, semver_1.checkAndCleanWithSemver)('rxjs', versions_1.rxjsVersion);
|
|
16
|
+
}
|
|
17
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
18
|
+
const isStandalone = (0, ast_utils_1.isNgStandaloneApp)(tree, options.project);
|
|
19
|
+
const appConfigPath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.config.ts');
|
|
20
|
+
const appMainPath = project.targets.build.options.main;
|
|
21
|
+
/** If NgModule App
|
|
22
|
+
* -> Use App Module
|
|
23
|
+
* If Standalone
|
|
24
|
+
* -> Check Config File exists (v16+)
|
|
25
|
+
* --> If so, use that
|
|
26
|
+
* --> If not, use main.ts
|
|
27
|
+
*/
|
|
28
|
+
const parent = !isStandalone
|
|
29
|
+
? (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts')
|
|
30
|
+
: tree.exists(appConfigPath)
|
|
31
|
+
? appConfigPath
|
|
32
|
+
: appMainPath;
|
|
33
|
+
options.directory = (_a = options.directory) !== null && _a !== void 0 ? _a : '+state';
|
|
34
|
+
return Object.assign(Object.assign({}, options), { parent, directory: (0, devkit_1.names)(options.directory).fileName, rxjsVersion });
|
|
35
|
+
}
|
|
36
|
+
exports.normalizeOptions = normalizeOptions;
|
|
37
|
+
//# sourceMappingURL=normalize-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ngrx-root-store/lib/normalize-options.ts"],"names":[],"mappings":";;;AACA,uCAKoB;AACpB,wDAAsE;AACtE,sDAA4E;AAE5E,kEAAuE;AAOvE,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;;IAEf,IAAI,WAAmB,CAAC;IACxB,IAAI;QACF,WAAW,GAAG,IAAA,gCAAuB,EACnC,MAAM,EACN,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CACpD,CAAC;KACH;IAAC,WAAM;QACN,WAAW,GAAG,IAAA,gCAAuB,EAAC,MAAM,EAAE,sBAAkB,CAAC,CAAC;KACnE;IAED,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAA,6BAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAA,0BAAiB,EACrC,OAAO,CAAC,UAAU,EAClB,mBAAmB,CACpB,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAEvD;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,CAAC,YAAY;QAC1B,CAAC,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,WAAW,CAAC;IAEhB,OAAO,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,QAAQ,CAAC;IAElD,uCACK,OAAO,KACV,MAAM,EACN,SAAS,EAAE,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,EAC5C,WAAW,IACX;AACJ,CAAC;AA3CD,4CA2CC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateOptions = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const version_utils_1 = require("../../utils/version-utils");
|
|
6
|
+
const version_utils_2 = require("../../../utils/version-utils");
|
|
7
|
+
const semver_1 = require("semver");
|
|
8
|
+
const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
|
|
9
|
+
function validateOptions(tree, options) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
if (!(0, devkit_1.getProjects)(tree).has(options.project)) {
|
|
12
|
+
throw new Error(`Could not find project '${options.project}'. Please ensure the project name is correct and exists.`);
|
|
13
|
+
}
|
|
14
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
15
|
+
if (project.projectType !== 'application') {
|
|
16
|
+
throw new Error(`NgRx Root Stores can only be added to applications, please ensure the project you use is an application.`);
|
|
17
|
+
}
|
|
18
|
+
if (!options.minimal && !options.name) {
|
|
19
|
+
throw new Error(`If generating a global feature state with your root store, you must provide a name for it with '--name'.`);
|
|
20
|
+
}
|
|
21
|
+
const angularVersionInfo = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
22
|
+
const intendedNgRxVersionForAngularMajor = (0, version_utils_2.getPkgVersionForAngularMajorVersion)('ngrxVersion', angularVersionInfo.major);
|
|
23
|
+
const ngrxMajorVersion = (_b = (_a = (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@ngrx/store')) === null || _a === void 0 ? void 0 : _a.major) !== null && _b !== void 0 ? _b : (0, semver_1.major)((0, semver_1.coerce)(intendedNgRxVersionForAngularMajor));
|
|
24
|
+
const isStandalone = (0, ast_utils_1.isNgStandaloneApp)(tree, options.project);
|
|
25
|
+
if ((0, semver_1.lt)(angularVersionInfo.version, '14.1.0') || ngrxMajorVersion < 15) {
|
|
26
|
+
if (isStandalone) {
|
|
27
|
+
throw new Error(`The provided project '${options.project}' is set up to use Standalone APIs, however your workspace is not configured to support Standalone APIs. ` +
|
|
28
|
+
'Please make sure to provide a path to an "NgModule" where the state will be registered. ');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.validateOptions = validateOptions;
|
|
33
|
+
//# sourceMappingURL=validate-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ngrx-root-store/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,uCAAmE;AAEnE,6DAGmC;AACnC,gEAAmF;AACnF,mCAA2C;AAC3C,kEAAuE;AAEvE,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;;IACzD,IAAI,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3C,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,CAAC,OAAO,0DAA0D,CACrG,CAAC;KACH;IAED,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE;QACzC,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACrC,MAAM,IAAI,KAAK,CACb,0GAA0G,CAC3G,CAAC;KACH;IAED,MAAM,kBAAkB,GAAG,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC;IAChE,MAAM,kCAAkC,GACtC,IAAA,mDAAmC,EACjC,aAAa,EACb,kBAAkB,CAAC,KAAK,CACzB,CAAC;IAEJ,MAAM,gBAAgB,GACpB,MAAA,MAAA,IAAA,8CAA8B,EAAC,IAAI,EAAE,aAAa,CAAC,0CAAE,KAAK,mCAC1D,IAAA,cAAK,EAAC,IAAA,eAAM,EAAC,kCAAkC,CAAC,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,IAAA,6BAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D,IAAI,IAAA,WAAE,EAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,gBAAgB,GAAG,EAAE,EAAE;QACrE,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,yBAAyB,OAAO,CAAC,OAAO,2GAA2G;gBACjJ,0FAA0F,CAC7F,CAAC;SACH;KACF;AACH,CAAC;AAzCD,0CAyCC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Tree } from '@nx/devkit';
|
|
2
|
+
import { GeneratorCallback } from '@nx/devkit';
|
|
3
|
+
import type { Schema } from './schema';
|
|
4
|
+
export declare function ngrxRootStoreGenerator(tree: Tree, schema: Schema): Promise<GeneratorCallback>;
|
|
5
|
+
export default ngrxRootStoreGenerator;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ngrxRootStoreGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const lib_1 = require("./lib");
|
|
7
|
+
const ngrx_feature_store_1 = require("../ngrx-feature-store/ngrx-feature-store");
|
|
8
|
+
function ngrxRootStoreGenerator(tree, schema) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
(0, lib_1.validateOptions)(tree, schema);
|
|
11
|
+
const options = (0, lib_1.normalizeOptions)(tree, schema);
|
|
12
|
+
if (!options.skipImport) {
|
|
13
|
+
(0, lib_1.addImportsToModule)(tree, options);
|
|
14
|
+
}
|
|
15
|
+
if (!options.minimal) {
|
|
16
|
+
yield (0, ngrx_feature_store_1.default)(tree, {
|
|
17
|
+
name: options.name,
|
|
18
|
+
parent: options.parent,
|
|
19
|
+
directory: options.directory,
|
|
20
|
+
minimal: false,
|
|
21
|
+
facade: options.facade,
|
|
22
|
+
barrels: false,
|
|
23
|
+
skipImport: false,
|
|
24
|
+
skipPackageJson: true,
|
|
25
|
+
skipFormat: true,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
let packageInstallationTask = () => { };
|
|
29
|
+
if (!options.skipPackageJson) {
|
|
30
|
+
packageInstallationTask = (0, lib_1.addNgRxToPackageJson)(tree, options);
|
|
31
|
+
}
|
|
32
|
+
if (!options.skipFormat) {
|
|
33
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
34
|
+
}
|
|
35
|
+
return packageInstallationTask;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.ngrxRootStoreGenerator = ngrxRootStoreGenerator;
|
|
39
|
+
exports.default = ngrxRootStoreGenerator;
|
|
40
|
+
//# sourceMappingURL=ngrx-root-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngrx-root-store.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/ngrx-root-store/ngrx-root-store.ts"],"names":[],"mappings":";;;;AACA,uCAA4D;AAG5D,+BAKe;AAEf,iFAAiF;AAEjF,SAAsB,sBAAsB,CAAC,IAAU,EAAE,MAAc;;QACrE,IAAA,qBAAe,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,IAAA,wBAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,MAAM,IAAA,4BAAyB,EAAC,IAAI,EAAE;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ;QAED,IAAI,uBAAuB,GAAsB,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC5B,uBAAuB,GAAG,IAAA,0BAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAAA;AAhCD,wDAgCC;AAED,kBAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "NxNgrxRootStoreGenerator",
|
|
4
|
+
"title": "Add NgRx support to an application.",
|
|
5
|
+
"description": "Adds NgRx support to an application.",
|
|
6
|
+
"cli": "nx",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"project": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "The name of the application to generate the NgRx configuration for.",
|
|
12
|
+
"$default": {
|
|
13
|
+
"$source": "argv",
|
|
14
|
+
"index": 0
|
|
15
|
+
},
|
|
16
|
+
"x-prompt": "What app would you like to generate a NgRx configuration for?",
|
|
17
|
+
"x-dropdown": "projects"
|
|
18
|
+
},
|
|
19
|
+
"minimal": {
|
|
20
|
+
"type": "boolean",
|
|
21
|
+
"default": true,
|
|
22
|
+
"description": "Only register the root state management setup or also generate a global feature state.",
|
|
23
|
+
"x-priority": "important"
|
|
24
|
+
},
|
|
25
|
+
"name": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Name of the NgRx state, such as `products` or `users`. Recommended to use the plural form of the name.",
|
|
28
|
+
"x-priority": "important"
|
|
29
|
+
},
|
|
30
|
+
"route": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "The route that the Standalone NgRx Providers should be added to. _Note: This is only supported in Angular versions >= 14.1.0_.",
|
|
33
|
+
"default": "''"
|
|
34
|
+
},
|
|
35
|
+
"directory": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"default": "+state",
|
|
38
|
+
"description": "The name of the folder used to contain/group the generated NgRx files."
|
|
39
|
+
},
|
|
40
|
+
"facade": {
|
|
41
|
+
"type": "boolean",
|
|
42
|
+
"default": false,
|
|
43
|
+
"description": "Create a Facade class for the the feature.",
|
|
44
|
+
"x-prompt": "Would you like to use a Facade with your NgRx state?"
|
|
45
|
+
},
|
|
46
|
+
"skipImport": {
|
|
47
|
+
"type": "boolean",
|
|
48
|
+
"default": false,
|
|
49
|
+
"description": "Generate NgRx feature files without registering the feature in the NgModule."
|
|
50
|
+
},
|
|
51
|
+
"skipFormat": {
|
|
52
|
+
"description": "Skip formatting files.",
|
|
53
|
+
"type": "boolean",
|
|
54
|
+
"default": false,
|
|
55
|
+
"x-priority": "internal"
|
|
56
|
+
},
|
|
57
|
+
"skipPackageJson": {
|
|
58
|
+
"type": "boolean",
|
|
59
|
+
"default": false,
|
|
60
|
+
"description": "Do not update the `package.json` with NgRx dependencies.",
|
|
61
|
+
"x-priority": "internal"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"additionalProperties": false,
|
|
65
|
+
"required": ["project"]
|
|
66
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateOptions = void 0;
|
|
4
|
-
const path_1 = require("../../utils/path");
|
|
5
4
|
const validations_1 = require("../../utils/validations");
|
|
6
5
|
function validateOptions(tree, options) {
|
|
7
6
|
(0, validations_1.validateProject)(tree, options.project);
|
|
8
|
-
(0,
|
|
7
|
+
(0, validations_1.validatePathIsUnderProjectRoot)(tree, options.project, options.path);
|
|
9
8
|
(0, validations_1.validateStandaloneOption)(tree, options.standalone);
|
|
10
9
|
}
|
|
11
10
|
exports.validateOptions = validateOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/pipe/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/pipe/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,yDAIiC;AAGjC,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;IACzD,IAAA,6BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAA,4CAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,IAAA,sCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC;AAJD,0CAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,4DAA8D;AAC9D,8CAAwD;AACxD,mDAA+C;AAC/C,2DAAyD;AACzD,+BAAsD;AAEtD,0DAAwE;AACxE,mCAA4B;AAE5B,SAAsB,MAAM,CAAC,IAAU,EAAE,OAAe;;;QACtD,MAAM,2BAA2B,GAAG,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,IAAA,WAAE,EAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAC3E,MAAM,IAAI,KAAK,CAAC,IAAA,qBAAY,EAAA,2FAA2F,2BAA2B,CAAC,OAAO;sGACxD,CAAC,CAAC;SACrG;QAED,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,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACrE,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,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,KAAK,EACvC,OAAO,EAAE,IAAI,EACb,IAAI,EACJ,UAAU,EAAE,IAAI,IAChB,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;
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,4DAA8D;AAC9D,8CAAwD;AACxD,mDAA+C;AAC/C,2DAAyD;AACzD,+BAAsD;AAEtD,0DAAwE;AACxE,mCAA4B;AAE5B,SAAsB,MAAM,CAAC,IAAU,EAAE,OAAe;;;QACtD,MAAM,2BAA2B,GAAG,IAAA,8CAA8B,EAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,IAAA,WAAE,EAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,EAAE;YAC3E,MAAM,IAAI,KAAK,CAAC,IAAA,qBAAY,EAAA,2FAA2F,2BAA2B,CAAC,OAAO;sGACxD,CAAC,CAAC;SACrG;QAED,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,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAsB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACrE,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,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,KAAK,EACvC,OAAO,EAAE,IAAI,EACb,IAAI,EACJ,UAAU,EAAE,IAAI,IAChB,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;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,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;gBACtC,OAAO;gBACP,IAAI;gBACJ,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,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,yBAAgB,EAAC,GAAG,YAAY,CAAC,CAAC;;CAC1C;AA3DD,wBA2DC;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "object",
|
|
8
8
|
"examples": [
|
|
9
9
|
{
|
|
10
|
-
"command": "nx g @
|
|
10
|
+
"command": "nx g @nx/angular:remote appName --host=host --port=4201",
|
|
11
11
|
"description": "Create an Angular app with configuration in place for Module Federation. If host is provided, attach this remote app to host app's configuration."
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateOptions = void 0;
|
|
4
|
-
const path_1 = require("../../utils/path");
|
|
5
4
|
const validations_1 = require("../../utils/validations");
|
|
6
5
|
function validateOptions(tree, options) {
|
|
7
6
|
(0, validations_1.validateProject)(tree, options.project);
|
|
8
|
-
(0,
|
|
7
|
+
(0, validations_1.validatePathIsUnderProjectRoot)(tree, options.project, options.path);
|
|
9
8
|
}
|
|
10
9
|
exports.validateOptions = validateOptions;
|
|
11
10
|
//# sourceMappingURL=validate-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,yDAGiC;AAGjC,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;IACzD,IAAA,6BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAA,4CAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,0CAGC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"examples": [
|
|
8
8
|
{
|
|
9
|
-
"command": "nx g @
|
|
9
|
+
"command": "nx g @nx/angular:scam --project=my-lib my-sample",
|
|
10
10
|
"description": "Generate a `MySampleComponent` component in the `my-lib` library."
|
|
11
11
|
}
|
|
12
12
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateOptions = void 0;
|
|
4
|
-
const path_1 = require("../../utils/path");
|
|
5
4
|
const validations_1 = require("../../utils/validations");
|
|
6
5
|
function validateOptions(tree, options) {
|
|
7
6
|
(0, validations_1.validateProject)(tree, options.project);
|
|
8
|
-
(0,
|
|
7
|
+
(0, validations_1.validatePathIsUnderProjectRoot)(tree, options.project, options.path);
|
|
9
8
|
}
|
|
10
9
|
exports.validateOptions = validateOptions;
|
|
11
10
|
//# sourceMappingURL=validate-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam-directive/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam-directive/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,yDAGiC;AAGjC,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;IACzD,IAAA,6BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAA,4CAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,0CAGC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"examples": [
|
|
8
8
|
{
|
|
9
|
-
"command": "nx g @
|
|
9
|
+
"command": "nx g @nx/angular:scam-directive --project=my-lib --flat=false my-sample",
|
|
10
10
|
"description": "Generate a `MySampleDirective` directive in a `my-sample` folder in the `my-lib` library"
|
|
11
11
|
}
|
|
12
12
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateOptions = void 0;
|
|
4
|
-
const path_1 = require("../../utils/path");
|
|
5
4
|
const validations_1 = require("../../utils/validations");
|
|
6
5
|
function validateOptions(tree, options) {
|
|
7
6
|
(0, validations_1.validateProject)(tree, options.project);
|
|
8
|
-
(0,
|
|
7
|
+
(0, validations_1.validatePathIsUnderProjectRoot)(tree, options.project, options.path);
|
|
9
8
|
}
|
|
10
9
|
exports.validateOptions = validateOptions;
|
|
11
10
|
//# sourceMappingURL=validate-options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam-pipe/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"validate-options.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/scam-pipe/lib/validate-options.ts"],"names":[],"mappings":";;;AACA,yDAGiC;AAGjC,SAAgB,eAAe,CAAC,IAAU,EAAE,OAAe;IACzD,IAAA,6BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAA,4CAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAHD,0CAGC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"examples": [
|
|
8
8
|
{
|
|
9
|
-
"command": "nx g @
|
|
9
|
+
"command": "nx g @nx/angular:scam-pipe --project=my-lib --flat=false my-transformation",
|
|
10
10
|
"description": "Generates a `MyTransformationPipe` in a `my-transformation` folder in the `my-lib` project"
|
|
11
11
|
}
|
|
12
12
|
],
|
|
@@ -4,9 +4,6 @@ exports.addRemoteEntry = void 0;
|
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
|
|
6
6
|
function addRemoteEntry(tree, { appName, routing, prefix, standalone }, appRoot) {
|
|
7
|
-
var _a, _b;
|
|
8
|
-
prefix =
|
|
9
|
-
(_b = prefix !== null && prefix !== void 0 ? prefix : (_a = (0, devkit_1.readProjectConfiguration)(tree, appName)) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _b !== void 0 ? _b : (0, devkit_1.readNxJson)(tree).npmScope;
|
|
10
7
|
(0, devkit_1.generateFiles)(tree, standalone
|
|
11
8
|
? (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone-entry-component-files')
|
|
12
9
|
: (0, devkit_1.joinPathFragments)(__dirname, '../files/entry-module-files'), `${appRoot}/src/app/remote-entry`, {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"add-remote-entry.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/add-remote-entry.ts"],"names":[],"mappings":";;;AACA,uCAA8D;AAC9D,sEAAgE;AAGhE,SAAgB,cAAc,CAC5B,IAAU,EACV,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAU,EAChD,OAAe;IAEf,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;AAhDD,wCAgDC"}
|