@nx/angular 0.0.0-pr-22179-271588f → 0.0.0-pr-26482-ebe2dba
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/LICENSE +1 -1
- package/README.md +1 -1
- package/executors.d.ts +1 -1
- package/executors.json +9 -9
- package/migrations.json +209 -0
- package/package.json +18 -17
- package/plugins/component-testing.d.ts +2 -2
- package/plugins/component-testing.js +1 -1
- package/src/builders/dev-server/dev-server.impl.js +1 -1
- package/src/builders/dev-server/lib/validate-options.js +1 -1
- package/src/builders/dev-server/schema.json +3 -3
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +9 -6
- package/src/builders/module-federation-dev-ssr/schema.json +1 -1
- package/src/builders/utilities/module-federation.d.ts +7 -2
- package/src/builders/utilities/module-federation.js +20 -4
- package/src/builders/webpack-browser/schema.d.ts +2 -2
- package/src/builders/webpack-browser/schema.json +10 -10
- package/src/builders/webpack-browser/webpack-browser.impl.js +2 -8
- package/src/builders/webpack-server/schema.json +13 -13
- package/src/builders/webpack-server/webpack-server.impl.js +3 -5
- package/src/executors/application/application.impl.d.ts +2 -1
- package/src/executors/application/application.impl.js +2 -2
- package/src/executors/application/schema.json +11 -6
- package/src/executors/application/utils/validate-options.js +5 -0
- package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +2 -7
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +2 -2
- package/src/executors/browser-esbuild/schema.json +8 -8
- package/src/executors/extract-i18n/extract-i18n.impl.js +2 -2
- package/src/executors/module-federation-dev-server/lib/build-static-remotes.js +11 -3
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +1 -0
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.d.ts +1 -5
- package/src/executors/module-federation-dev-server/lib/start-dev-remotes.js +16 -15
- package/src/executors/module-federation-dev-server/lib/start-static-remotes-file-server.js +2 -1
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +16 -8
- package/src/executors/module-federation-dev-server/schema.d.ts +4 -1
- package/src/executors/module-federation-dev-server/schema.json +22 -5
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +6 -6
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.js +3 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.js +2 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.js +3 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.d.ts +1 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.js +5 -4
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.js +12 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.js +2 -1
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +1 -1
- package/src/executors/ng-packagr-lite/schema.json +1 -1
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +5 -4
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +3 -2
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +4 -4
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +1 -2
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +5 -4
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +12 -12
- package/src/executors/package/package.impl.js +1 -1
- package/src/executors/package/schema.json +1 -1
- package/src/executors/utilities/esbuild-extensions.d.ts +2 -4
- package/src/executors/utilities/module-loader.d.ts +1 -2
- package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts +22 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts +1 -1
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +7 -1
- package/src/executors/utilities/ng-packagr/stylesheet-processor.js +100 -7
- package/src/executors/utilities/typescript.d.ts +1 -2
- package/src/executors/utilities/typescript.js +4 -3
- package/src/generators/add-linting/add-linting.d.ts +1 -1
- package/src/generators/add-linting/add-linting.js +7 -11
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +15 -6
- package/src/generators/add-linting/lib/buildable-project.d.ts +2 -0
- package/src/generators/add-linting/lib/buildable-project.js +9 -0
- package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +2 -2
- package/src/generators/add-linting/schema.json +1 -1
- package/src/generators/application/application.js +4 -1
- package/src/generators/application/files/base-pre18/src/favicon.ico +0 -0
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +3 -1
- package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +2 -2
- package/src/generators/application/lib/add-e2e.js +9 -6
- package/src/generators/application/lib/add-linting.js +2 -1
- package/src/generators/application/lib/create-files.js +7 -0
- package/src/generators/application/lib/create-project.js +12 -5
- package/src/generators/application/lib/normalize-options.js +15 -1
- package/src/generators/application/lib/normalized-schema.d.ts +3 -0
- package/src/generators/application/schema.json +2 -2
- package/src/generators/component/schema.d.ts +3 -3
- package/src/generators/component/schema.json +2 -2
- package/src/generators/component-test/component-test.js +1 -1
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +6 -4
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +3 -3
- package/src/generators/directive/schema.d.ts +3 -3
- package/src/generators/directive/schema.json +2 -2
- package/src/generators/federate-module/lib/add-remote.js +2 -1
- package/src/generators/host/host.js +14 -2
- package/src/generators/host/lib/update-ssr-setup.js +9 -7
- package/src/generators/host/schema.json +2 -2
- package/src/generators/library/files/base/package.json__tpl__ +0 -3
- package/src/generators/library/library.js +17 -8
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +3 -2
- package/src/generators/ng-add/migrators/migrator.d.ts +1 -1
- package/src/generators/ng-add/migrators/migrator.js +7 -7
- package/src/generators/ng-add/migrators/projects/app.migrator.js +2 -2
- package/src/generators/ng-add/migrators/projects/e2e.migrator.js +1 -1
- package/src/generators/ng-add/utilities/validation-logging.js +2 -1
- package/src/generators/ngrx-root-store/ngrx-root-store.js +2 -1
- package/src/generators/pipe/schema.d.ts +3 -3
- package/src/generators/pipe/schema.json +2 -2
- package/src/generators/remote/lib/update-ssr-setup.d.ts +2 -1
- package/src/generators/remote/lib/update-ssr-setup.js +10 -8
- package/src/generators/remote/remote.js +8 -4
- package/src/generators/remote/schema.json +2 -2
- package/src/generators/scam/schema.d.ts +3 -3
- package/src/generators/scam/schema.json +2 -2
- package/src/generators/scam-directive/schema.d.ts +3 -3
- package/src/generators/scam-directive/schema.json +2 -2
- package/src/generators/scam-pipe/schema.d.ts +3 -3
- package/src/generators/scam-pipe/schema.json +2 -2
- package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +1 -1
- package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -1
- package/src/generators/setup-mf/lib/add-remote-to-host.d.ts +7 -2
- package/src/generators/setup-mf/lib/add-remote-to-host.js +15 -19
- package/src/generators/setup-mf/lib/fix-bootstrap.d.ts +1 -1
- package/src/generators/setup-mf/lib/fix-bootstrap.js +12 -5
- package/src/generators/setup-mf/lib/generate-config.js +1 -0
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +5 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.js +1 -4
- package/src/generators/setup-mf/setup-mf.js +21 -4
- package/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +4 -3
- package/src/generators/setup-ssr/files/server/server-builder/v17+/__serverFileName__ +4 -3
- package/src/generators/setup-ssr/lib/add-dependencies.js +2 -1
- package/src/generators/setup-ssr/lib/generate-files.js +1 -7
- package/src/generators/setup-ssr/lib/index.d.ts +0 -1
- package/src/generators/setup-ssr/lib/index.js +0 -1
- package/src/generators/setup-ssr/lib/validate-options.js +0 -13
- package/src/generators/setup-ssr/schema.d.ts +1 -0
- package/src/generators/setup-ssr/schema.json +10 -3
- package/src/generators/setup-ssr/setup-ssr.js +3 -4
- package/src/generators/stories/stories.js +3 -2
- package/src/generators/storybook-configuration/lib/generate-stories.js +1 -1
- package/src/generators/storybook-configuration/schema.json +3 -3
- package/src/generators/utils/add-jest.js +1 -2
- package/src/generators/utils/add-mf-env-to-inputs.js +4 -1
- package/src/generators/utils/ensure-angular-dependencies.d.ts +1 -1
- package/src/generators/utils/ensure-angular-dependencies.js +44 -27
- package/src/generators/utils/storybook-ast/tree-utilities.js +2 -1
- package/src/generators/utils/testing.js +0 -17
- package/src/generators/utils/version-utils.d.ts +1 -2
- package/src/generators/utils/version-utils.js +5 -16
- package/src/migrations/update-15-2-0/remove-browserlist-config.d.ts +1 -0
- package/src/migrations/update-15-2-0/remove-browserlist-config.js +2 -1
- package/src/migrations/update-15-2-0/remove-platform-server-exports.js +2 -1
- package/src/migrations/update-15-2-0/update-karma-main-file.js +2 -1
- package/src/migrations/update-16-1-0/remove-render-module-platform-server-exports.js +2 -1
- package/src/migrations/update-16-1-0/update-server-executor-config.js +2 -2
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.d.ts +2 -0
- package/src/migrations/update-18-1-1/fix-target-defaults-inputs.js +53 -0
- package/src/migrations/update-18-2-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-18-2-0/update-angular-cli.js +23 -0
- package/src/migrations/update-19-1-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-19-1-0/update-angular-cli.js +23 -0
- package/src/migrations/update-19-2-1/add-typescript-eslint-utils.d.ts +3 -0
- package/src/migrations/update-19-2-1/add-typescript-eslint-utils.js +19 -0
- package/src/utils/backward-compatible-versions.d.ts +10 -5
- package/src/utils/backward-compatible-versions.js +18 -19
- package/src/utils/file-change-recorder.js +2 -1
- package/src/utils/{public-api.d.ts → index.d.ts} +5 -0
- package/src/utils/{public-api.js → index.js} +5 -0
- package/src/utils/mf/utils.js +1 -0
- package/src/utils/mf/with-module-federation-ssr.js +3 -0
- package/src/utils/mf/with-module-federation.js +6 -2
- package/src/utils/version-utils.d.ts +2 -2
- package/src/utils/version-utils.js +2 -1
- package/src/utils/versions.d.ts +6 -5
- package/src/utils/versions.js +7 -6
- package/index.js +0 -8
- package/mf/index.js +0 -7
- package/mf/mf.js +0 -53
- package/src/builders/webpack-server/validate-options.d.ts +0 -2
- package/src/builders/webpack-server/validate-options.js +0 -33
- package/src/executors/utilities/ng-compiler-cli.d.ts +0 -1
- package/src/executors/utilities/ng-compiler-cli.js +0 -8
- package/src/generators/setup-ssr/files/ngmodule/pre-v15-2/src/main.ts__tpl__ +0 -14
- package/src/generators/setup-ssr/lib/update-app-module.d.ts +0 -3
- package/src/generators/setup-ssr/lib/update-app-module.js +0 -27
- package/src/runtime/nx/data-persistence.js +0 -350
- package/testing/index.js +0 -6
- package/testing/src/testing-utils.js +0 -40
- /package/src/generators/application/files/{base/src → base-18+/public}/favicon.ico +0 -0
- /package/src/generators/application/files/{base → base-pre18}/src/assets/.gitkeep__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/ngmodule/{base/src → src}/__main__ +0 -0
- /package/src/generators/setup-ssr/files/ngmodule/{base/src → src}/app/__rootModuleFileName__ +0 -0
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { Tree } from '@nx/devkit';
|
|
2
|
-
|
|
2
|
+
export type AddRemoteOptions = {
|
|
3
|
+
host: string;
|
|
4
|
+
appName: string;
|
|
5
|
+
standalone: boolean;
|
|
6
|
+
port: number;
|
|
7
|
+
};
|
|
3
8
|
export declare function checkIsCommaNeeded(mfRemoteText: string): boolean;
|
|
4
|
-
export declare function addRemoteToHost(tree: Tree, options:
|
|
9
|
+
export declare function addRemoteToHost(tree: Tree, options: AddRemoteOptions): void;
|
|
@@ -18,8 +18,8 @@ exports.checkIsCommaNeeded = checkIsCommaNeeded;
|
|
|
18
18
|
function addRemoteToHost(tree, options) {
|
|
19
19
|
if (options.host) {
|
|
20
20
|
const hostProject = (0, devkit_1.readProjectConfiguration)(tree, options.host);
|
|
21
|
-
const pathToMFManifest = (
|
|
22
|
-
const hostFederationType =
|
|
21
|
+
const pathToMFManifest = getDynamicManifestFile(tree, hostProject);
|
|
22
|
+
const hostFederationType = !!pathToMFManifest ? 'dynamic' : 'static';
|
|
23
23
|
const isHostUsingTypescriptConfig = tree.exists((0, devkit_1.joinPathFragments)(hostProject.root, 'module-federation.config.ts'));
|
|
24
24
|
if (hostFederationType === 'static') {
|
|
25
25
|
addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescriptConfig);
|
|
@@ -27,28 +27,24 @@ function addRemoteToHost(tree, options) {
|
|
|
27
27
|
else if (hostFederationType === 'dynamic') {
|
|
28
28
|
addRemoteToDynamicHost(tree, options, pathToMFManifest);
|
|
29
29
|
}
|
|
30
|
-
// const declarationFilePath = joinPathFragments(
|
|
31
|
-
// hostProject.sourceRoot,
|
|
32
|
-
// 'remotes.d.ts'
|
|
33
|
-
// );
|
|
34
|
-
//
|
|
35
|
-
// const declarationFileContent =
|
|
36
|
-
// (tree.exists(declarationFilePath)
|
|
37
|
-
// ? tree.read(declarationFilePath, 'utf-8')
|
|
38
|
-
// : '') +
|
|
39
|
-
// `\ndeclare module '${options.appName}/${
|
|
40
|
-
// options.standalone ? `Routes` : `Module`
|
|
41
|
-
// }';`;
|
|
42
|
-
// tree.write(declarationFilePath, declarationFileContent);
|
|
43
30
|
addLazyLoadedRouteToHostAppModule(tree, options, hostFederationType);
|
|
44
31
|
}
|
|
45
32
|
}
|
|
46
33
|
exports.addRemoteToHost = addRemoteToHost;
|
|
47
|
-
function
|
|
48
|
-
|
|
34
|
+
function getDynamicManifestFile(tree, project) {
|
|
35
|
+
// {sourceRoot}/assets/module-federation.manifest.json was the generated
|
|
36
|
+
// path for the manifest file in the past. We now generate the manifest
|
|
37
|
+
// file at {root}/public/module-federation.manifest.json. This check
|
|
38
|
+
// ensures that we can still support the old path for backwards
|
|
39
|
+
// compatibility since old projects may still have the manifest file
|
|
40
|
+
// at the old path.
|
|
41
|
+
return [
|
|
42
|
+
(0, devkit_1.joinPathFragments)(project.root, 'public/module-federation.manifest.json'),
|
|
43
|
+
(0, devkit_1.joinPathFragments)(project.sourceRoot, 'assets/module-federation.manifest.json'),
|
|
44
|
+
].find((path) => tree.exists(path));
|
|
49
45
|
}
|
|
50
|
-
function addRemoteToStaticHost(tree, options, hostProject,
|
|
51
|
-
const hostMFConfigPath = (0, devkit_1.joinPathFragments)(hostProject.root,
|
|
46
|
+
function addRemoteToStaticHost(tree, options, hostProject, isHostUsingTypescript) {
|
|
47
|
+
const hostMFConfigPath = (0, devkit_1.joinPathFragments)(hostProject.root, isHostUsingTypescript
|
|
52
48
|
? 'module-federation.config.ts'
|
|
53
49
|
: 'module-federation.config.js');
|
|
54
50
|
if (!hostMFConfigPath || !tree.exists(hostMFConfigPath)) {
|
|
@@ -12,15 +12,22 @@ function fixBootstrap(tree, appRoot, options) {
|
|
|
12
12
|
tree.write((0, devkit_1.joinPathFragments)(appRoot, 'src/bootstrap.ts'), bootstrapCode);
|
|
13
13
|
}
|
|
14
14
|
const bootstrapImportCode = `import('./bootstrap').catch(err => console.error(err))`;
|
|
15
|
-
|
|
15
|
+
if (options.mfType === 'remote' || options.federationType === 'static') {
|
|
16
|
+
tree.write(mainFilePath, `${bootstrapImportCode};`);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
let manifestPath = '/assets/module-federation.manifest.json';
|
|
20
|
+
if (tree.exists((0, devkit_1.joinPathFragments)(appRoot, 'public/module-federation.manifest.json'))) {
|
|
21
|
+
manifestPath = '/module-federation.manifest.json';
|
|
22
|
+
}
|
|
23
|
+
const fetchMFManifestCode = `import { setRemoteDefinitions } from '@nx/angular/mf';
|
|
16
24
|
|
|
17
|
-
fetch('
|
|
25
|
+
fetch('${manifestPath}')
|
|
18
26
|
.then((res) => res.json())
|
|
19
27
|
.then(definitions => setRemoteDefinitions(definitions))
|
|
20
28
|
.then(() => ${bootstrapImportCode});`;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
: `${bootstrapImportCode};`);
|
|
29
|
+
tree.write(mainFilePath, fetchMFManifestCode);
|
|
30
|
+
}
|
|
24
31
|
}
|
|
25
32
|
exports.fixBootstrap = fixBootstrap;
|
|
26
33
|
const standaloneBootstrapCode = () => `import { bootstrapApplication } from '@angular/platform-browser';
|
|
@@ -18,6 +18,7 @@ function generateWebpackConfig(tree, options, appRoot, remotesWithPorts) {
|
|
|
18
18
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, `../files/${pathToWebpackTemplateFiles}`), appRoot, {
|
|
19
19
|
tmpl: '',
|
|
20
20
|
type: options.mfType,
|
|
21
|
+
federationType: options.federationType,
|
|
21
22
|
name: options.appName,
|
|
22
23
|
remotes: remotesWithPorts ?? [],
|
|
23
24
|
projectRoot: appRoot,
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupHostIfDynamic = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const version_utils_1 = require("../../utils/version-utils");
|
|
5
6
|
function setupHostIfDynamic(tree, options) {
|
|
6
7
|
if (options.federationType === 'static') {
|
|
7
8
|
return;
|
|
8
9
|
}
|
|
10
|
+
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
9
11
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
10
|
-
const pathToMFManifest =
|
|
12
|
+
const pathToMFManifest = angularMajorVersion >= 18
|
|
13
|
+
? (0, devkit_1.joinPathFragments)(project.root, 'public/module-federation.manifest.json')
|
|
14
|
+
: (0, devkit_1.joinPathFragments)(project.sourceRoot, 'assets/module-federation.manifest.json');
|
|
11
15
|
if (!tree.exists(pathToMFManifest)) {
|
|
12
16
|
tree.write(pathToMFManifest, '{}');
|
|
13
17
|
}
|
|
@@ -11,11 +11,8 @@ function updateHostAppRoutes(tree, options) {
|
|
|
11
11
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
12
12
|
}
|
|
13
13
|
const { sourceRoot } = (0, project_configuration_1.readProjectConfiguration)(tree, options.appName);
|
|
14
|
-
const remoteRoutes = options.remotes && Array.isArray(options.remotes)
|
|
15
|
-
? options.remotes.reduce((routes, remote) => `${routes}\n<li><a routerLink='${remote}'>${(0, devkit_1.names)(remote).className}</a></li>`, '')
|
|
16
|
-
: '';
|
|
17
14
|
tree.write((0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.component.html'), `<ul class="remote-menu">
|
|
18
|
-
<li><a routerLink="/">Home</a></li
|
|
15
|
+
<li><a routerLink="/">Home</a></li>
|
|
19
16
|
</ul>
|
|
20
17
|
<router-outlet></router-outlet>
|
|
21
18
|
`);
|
|
@@ -9,23 +9,40 @@ async function setupMf(tree, rawOptions) {
|
|
|
9
9
|
const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
10
10
|
let installTask = () => { };
|
|
11
11
|
if (options.mfType === 'remote') {
|
|
12
|
-
(0, lib_1.addRemoteToHost)(tree,
|
|
12
|
+
(0, lib_1.addRemoteToHost)(tree, {
|
|
13
|
+
appName: options.appName,
|
|
14
|
+
host: options.host,
|
|
15
|
+
standalone: options.standalone,
|
|
16
|
+
port: options.port,
|
|
17
|
+
});
|
|
13
18
|
(0, lib_1.addRemoteEntry)(tree, options, projectConfig.root);
|
|
14
19
|
(0, lib_1.removeDeadCodeFromRemote)(tree, options);
|
|
15
20
|
(0, lib_1.setupTspathForRemote)(tree, options);
|
|
16
|
-
|
|
21
|
+
if (!options.skipPackageJson) {
|
|
22
|
+
installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nx/web': versions_1.nxVersion, '@nx/webpack': versions_1.nxVersion });
|
|
23
|
+
}
|
|
17
24
|
}
|
|
18
25
|
const remotesWithPorts = (0, lib_1.getRemotesWithPorts)(tree, options);
|
|
19
26
|
(0, lib_1.generateWebpackConfig)(tree, options, projectConfig.root, remotesWithPorts);
|
|
20
27
|
(0, lib_1.changeBuildTarget)(tree, options);
|
|
21
28
|
(0, lib_1.updateTsConfig)(tree, options);
|
|
22
29
|
(0, lib_1.setupServeTarget)(tree, options);
|
|
23
|
-
(0, lib_1.fixBootstrap)(tree, projectConfig.root, options);
|
|
24
30
|
if (options.mfType === 'host') {
|
|
25
31
|
(0, lib_1.setupHostIfDynamic)(tree, options);
|
|
26
32
|
(0, lib_1.updateHostAppRoutes)(tree, options);
|
|
27
|
-
|
|
33
|
+
for (const { remoteName, port } of remotesWithPorts) {
|
|
34
|
+
(0, lib_1.addRemoteToHost)(tree, {
|
|
35
|
+
appName: remoteName,
|
|
36
|
+
host: options.appName,
|
|
37
|
+
standalone: options.standalone,
|
|
38
|
+
port,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (!options.skipPackageJson) {
|
|
42
|
+
installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@nx/webpack': versions_1.nxVersion });
|
|
43
|
+
}
|
|
28
44
|
}
|
|
45
|
+
(0, lib_1.fixBootstrap)(tree, projectConfig.root, options);
|
|
29
46
|
if (!options.skipE2E) {
|
|
30
47
|
(0, lib_1.addCypressOnErrorWorkaround)(tree, options);
|
|
31
48
|
}
|
|
@@ -20,12 +20,13 @@ export function app(): express.Express {
|
|
|
20
20
|
// Example Express Rest API endpoints
|
|
21
21
|
// server.get('/api/**', (req, res) => { });
|
|
22
22
|
// Serve static files from /browser
|
|
23
|
-
server.get('
|
|
24
|
-
maxAge: '1y'
|
|
23
|
+
server.get('**', express.static(browserDistFolder, {
|
|
24
|
+
maxAge: '1y',
|
|
25
|
+
index: 'index.html',
|
|
25
26
|
}));
|
|
26
27
|
|
|
27
28
|
// All regular routes use the Angular engine
|
|
28
|
-
server.get('
|
|
29
|
+
server.get('**', (req, res, next) => {
|
|
29
30
|
const { protocol, originalUrl, baseUrl, headers } = req;
|
|
30
31
|
|
|
31
32
|
commonEngine
|
|
@@ -23,12 +23,13 @@ export function app(): express.Express {
|
|
|
23
23
|
// Example Express Rest API endpoints
|
|
24
24
|
// server.get('/api/**', (req, res) => { });
|
|
25
25
|
// Serve static files from /browser
|
|
26
|
-
server.get('
|
|
27
|
-
maxAge: '1y'
|
|
26
|
+
server.get('**', express.static(distFolder, {
|
|
27
|
+
maxAge: '1y',
|
|
28
|
+
index: 'index.html'
|
|
28
29
|
}));
|
|
29
30
|
|
|
30
31
|
// All regular routes use the Angular engine
|
|
31
|
-
server.get('
|
|
32
|
+
server.get('**', (req, res, next) => {
|
|
32
33
|
const { protocol, originalUrl, baseUrl, headers } = req;
|
|
33
34
|
|
|
34
35
|
commonEngine
|
|
@@ -26,7 +26,8 @@ function addDependencies(tree, isUsingApplicationBuilder) {
|
|
|
26
26
|
else {
|
|
27
27
|
dependencies['@nguniversal/express-engine'] =
|
|
28
28
|
(0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@nguniversal/express-engine')
|
|
29
|
-
?.version ??
|
|
29
|
+
?.version ??
|
|
30
|
+
pkgVersions.ngUniversalVersion;
|
|
30
31
|
devDependencies['@nguniversal/builders'] =
|
|
31
32
|
(0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@nguniversal/builders')?.version ??
|
|
32
33
|
pkgVersions.ngUniversalVersion;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateSSRFiles = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const semver_1 = require("semver");
|
|
6
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
7
5
|
function generateSSRFiles(tree, schema, isUsingApplicationBuilder) {
|
|
8
6
|
const { root: projectRoot, targets } = (0, devkit_1.readProjectConfiguration)(tree, schema.project);
|
|
9
7
|
if (targets.server ||
|
|
@@ -12,15 +10,11 @@ function generateSSRFiles(tree, schema, isUsingApplicationBuilder) {
|
|
|
12
10
|
return;
|
|
13
11
|
}
|
|
14
12
|
const pathToFiles = (0, devkit_1.joinPathFragments)(__dirname, '..', 'files');
|
|
15
|
-
const { version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
16
13
|
if (schema.standalone) {
|
|
17
14
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(pathToFiles, 'standalone'), projectRoot, { ...schema, tpl: '' });
|
|
18
15
|
}
|
|
19
16
|
else {
|
|
20
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(pathToFiles, 'ngmodule'
|
|
21
|
-
if ((0, semver_1.lt)(angularVersion, '15.2.0')) {
|
|
22
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(pathToFiles, 'ngmodule', 'pre-v15-2'), projectRoot, { ...schema, tpl: '' });
|
|
23
|
-
}
|
|
17
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(pathToFiles, 'ngmodule'), projectRoot, { ...schema, tpl: '' });
|
|
24
18
|
}
|
|
25
19
|
}
|
|
26
20
|
exports.generateSSRFiles = generateSSRFiles;
|
|
@@ -3,7 +3,6 @@ export * from './add-server-file';
|
|
|
3
3
|
export * from './generate-files';
|
|
4
4
|
export * from './generate-server-ts-config';
|
|
5
5
|
export * from './normalize-options';
|
|
6
|
-
export * from './update-app-module';
|
|
7
6
|
export * from './update-project-config';
|
|
8
7
|
export * from './validate-options';
|
|
9
8
|
export * from './add-hydration';
|
|
@@ -6,7 +6,6 @@ tslib_1.__exportStar(require("./add-server-file"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./generate-files"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./generate-server-ts-config"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./normalize-options"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./update-app-module"), exports);
|
|
10
9
|
tslib_1.__exportStar(require("./update-project-config"), exports);
|
|
11
10
|
tslib_1.__exportStar(require("./validate-options"), exports);
|
|
12
11
|
tslib_1.__exportStar(require("./add-hydration"), exports);
|
|
@@ -3,12 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateOptions = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const validations_1 = require("../../utils/validations");
|
|
6
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
7
|
-
const semver_1 = require("semver");
|
|
8
6
|
function validateOptions(tree, options) {
|
|
9
7
|
validateProject(tree, options.project);
|
|
10
8
|
validateBuildTarget(tree, options.project);
|
|
11
|
-
validateHydrationOption(tree, options.hydration);
|
|
12
9
|
}
|
|
13
10
|
exports.validateOptions = validateOptions;
|
|
14
11
|
function validateProject(tree, project) {
|
|
@@ -24,13 +21,3 @@ function validateBuildTarget(tree, project) {
|
|
|
24
21
|
throw new Error(`The "${project}" project does not have a "build" target. Please add a "build" target.`);
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
function validateHydrationOption(tree, hydration) {
|
|
28
|
-
if (!hydration) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const installedAngularVersion = (0, version_utils_1.getInstalledAngularVersionInfo)(tree).version;
|
|
32
|
-
if ((0, semver_1.lt)(installedAngularVersion, '16.0.0')) {
|
|
33
|
-
throw new Error((0, devkit_1.stripIndents) `The "hydration" option is only supported in Angular >= 16.0.0. You are currently using "${installedAngularVersion}".
|
|
34
|
-
You can resolve this error by removing the "hydration" option or by migrating to Angular 16.0.0.`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -19,8 +19,9 @@
|
|
|
19
19
|
"appId": {
|
|
20
20
|
"type": "string",
|
|
21
21
|
"format": "html-selector",
|
|
22
|
-
"description": "The `appId` to use with `withServerTransition`.
|
|
23
|
-
"default": "serverApp"
|
|
22
|
+
"description": "The `appId` to use with `withServerTransition`.",
|
|
23
|
+
"default": "serverApp",
|
|
24
|
+
"x-deprecated": "This is deprecated and ignored since Angular 16 and not supported since Angular 17."
|
|
24
25
|
},
|
|
25
26
|
"main": {
|
|
26
27
|
"type": "string",
|
|
@@ -55,12 +56,18 @@
|
|
|
55
56
|
},
|
|
56
57
|
"hydration": {
|
|
57
58
|
"type": "boolean",
|
|
58
|
-
"description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`.
|
|
59
|
+
"description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`."
|
|
59
60
|
},
|
|
60
61
|
"skipFormat": {
|
|
61
62
|
"type": "boolean",
|
|
62
63
|
"description": "Skip formatting the workspace after the generator completes.",
|
|
63
64
|
"x-priority": "internal"
|
|
65
|
+
},
|
|
66
|
+
"skipPackageJson": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"default": false,
|
|
69
|
+
"description": "Do not add dependencies to `package.json`.",
|
|
70
|
+
"x-priority": "internal"
|
|
64
71
|
}
|
|
65
72
|
},
|
|
66
73
|
"required": ["project"],
|
|
@@ -10,11 +10,10 @@ async function setupSsr(tree, schema) {
|
|
|
10
10
|
const { targets } = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
11
11
|
const isUsingApplicationBuilder = targets.build.executor === '@angular-devkit/build-angular:application' ||
|
|
12
12
|
targets.build.executor === '@nx/angular:application';
|
|
13
|
-
(
|
|
14
|
-
|
|
15
|
-
if (!options.standalone) {
|
|
16
|
-
(0, lib_1.updateAppModule)(tree, options);
|
|
13
|
+
if (!schema.skipPackageJson) {
|
|
14
|
+
(0, lib_1.addDependencies)(tree, isUsingApplicationBuilder);
|
|
17
15
|
}
|
|
16
|
+
(0, lib_1.generateSSRFiles)(tree, options, isUsingApplicationBuilder);
|
|
18
17
|
if (options.hydration) {
|
|
19
18
|
(0, lib_1.addHydration)(tree, options);
|
|
20
19
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.angularStoriesGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const component_cypress_spec_1 = require("../component-cypress-spec/component-cypress-spec");
|
|
6
|
-
const component_story_1 = require("../component-story/component-story");
|
|
6
|
+
const component_cypress_spec_1 = tslib_1.__importDefault(require("../component-cypress-spec/component-cypress-spec"));
|
|
7
|
+
const component_story_1 = tslib_1.__importDefault(require("../component-story/component-story"));
|
|
7
8
|
const component_info_1 = require("../utils/storybook-ast/component-info");
|
|
8
9
|
const entry_point_1 = require("../utils/storybook-ast/entry-point");
|
|
9
10
|
const get_e2e_project_1 = require("./lib/get-e2e-project");
|
|
@@ -7,7 +7,7 @@ const stories_1 = require("../../stories/stories");
|
|
|
7
7
|
async function generateStories(tree, options) {
|
|
8
8
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
9
9
|
(0, devkit_1.ensurePackage)('@nx/cypress', versions_1.nxVersion);
|
|
10
|
-
const { getE2eProjectName } =
|
|
10
|
+
const { getE2eProjectName } = require('@nx/cypress/src/utils/project-name');
|
|
11
11
|
const e2eProjectName = getE2eProjectName(options.project, project.root, options.cypressDirectory);
|
|
12
12
|
await (0, stories_1.angularStoriesGenerator)(tree, {
|
|
13
13
|
name: options.project,
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"configureCypress": {
|
|
30
30
|
"type": "boolean",
|
|
31
31
|
"description": "Specifies whether to configure Cypress or not.",
|
|
32
|
-
"x-deprecated": "Use interactionTests instead. This option will be removed in
|
|
32
|
+
"x-deprecated": "Use interactionTests instead. This option will be removed in v20."
|
|
33
33
|
},
|
|
34
34
|
"generateStories": {
|
|
35
35
|
"type": "boolean",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"generateCypressSpecs": {
|
|
42
42
|
"type": "boolean",
|
|
43
43
|
"description": "Specifies whether to automatically generate test files in the generated Cypress e2e app.",
|
|
44
|
-
"x-deprecated": "Use interactionTests instead. This option will be removed in
|
|
44
|
+
"x-deprecated": "Use interactionTests instead. This option will be removed in v20."
|
|
45
45
|
},
|
|
46
46
|
"configureStaticServe": {
|
|
47
47
|
"type": "boolean",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"cypressDirectory": {
|
|
54
54
|
"type": "string",
|
|
55
55
|
"description": "A directory where the Cypress project will be placed. Placed at the root by default.",
|
|
56
|
-
"x-deprecated": "Use interactionTests instead. This option will be removed in
|
|
56
|
+
"x-deprecated": "Use interactionTests instead. This option will be removed in v20."
|
|
57
57
|
},
|
|
58
58
|
"linter": {
|
|
59
59
|
"description": "The tool to use for running lint checks.",
|
|
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addJest = void 0;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const versions_1 = require("../../utils/versions");
|
|
6
|
-
const version_utils_1 = require("./version-utils");
|
|
7
6
|
async function addJest(tree, options) {
|
|
8
7
|
if (!options.skipPackageJson) {
|
|
9
8
|
process.env.npm_config_legacy_peer_deps ??= 'true';
|
|
10
|
-
(0,
|
|
9
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, { 'jest-preset-angular': versions_1.jestPresetAngularVersion }, undefined, true);
|
|
11
10
|
}
|
|
12
11
|
const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/jest', versions_1.nxVersion);
|
|
13
12
|
await configurationGenerator(tree, {
|
|
@@ -8,7 +8,10 @@ function addMfEnvToTargetDefaultInputs(tree) {
|
|
|
8
8
|
const mfEnvVar = 'NX_MF_DEV_SERVER_STATIC_REMOTES';
|
|
9
9
|
nxJson.targetDefaults ??= {};
|
|
10
10
|
nxJson.targetDefaults[webpackExecutor] ??= {};
|
|
11
|
-
nxJson.targetDefaults[webpackExecutor].inputs ??= [
|
|
11
|
+
nxJson.targetDefaults[webpackExecutor].inputs ??= [
|
|
12
|
+
'production',
|
|
13
|
+
'^production',
|
|
14
|
+
];
|
|
12
15
|
let mfEnvVarExists = false;
|
|
13
16
|
for (const input of nxJson.targetDefaults[webpackExecutor].inputs) {
|
|
14
17
|
if (typeof input === 'object' && input['env'] === mfEnvVar) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type GeneratorCallback, type Tree } from '@nx/devkit';
|
|
2
2
|
export declare function ensureAngularDependencies(tree: Tree): GeneratorCallback;
|
|
@@ -1,35 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ensureAngularDependencies = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
4
5
|
const version_utils_1 = require("./version-utils");
|
|
5
6
|
function ensureAngularDependencies(tree) {
|
|
7
|
+
const dependencies = {};
|
|
8
|
+
const devDependencies = {};
|
|
6
9
|
const pkgVersions = (0, version_utils_1.versions)(tree);
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'@angular/
|
|
20
|
-
'@angular/
|
|
21
|
-
'@angular/
|
|
22
|
-
'@angular/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
'
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
10
|
+
const installedAngularCoreVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular/core');
|
|
11
|
+
if (!installedAngularCoreVersion) {
|
|
12
|
+
/**
|
|
13
|
+
* If @angular/core is already installed, we assume the workspace was already
|
|
14
|
+
* initialized with Angular dependencies and we don't want to re-install them.
|
|
15
|
+
* This is to avoid re-installing Angular runtime dependencies that the user
|
|
16
|
+
* might have removed.
|
|
17
|
+
*/
|
|
18
|
+
const angularVersion = pkgVersions.angularVersion;
|
|
19
|
+
const rxjsVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'rxjs') ?? pkgVersions.rxjsVersion;
|
|
20
|
+
const tsLibVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'tslib') ?? pkgVersions.tsLibVersion;
|
|
21
|
+
const zoneJsVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, 'zone.js') ?? pkgVersions.zoneJsVersion;
|
|
22
|
+
dependencies['@angular/animations'] = angularVersion;
|
|
23
|
+
dependencies['@angular/common'] = angularVersion;
|
|
24
|
+
dependencies['@angular/compiler'] = angularVersion;
|
|
25
|
+
dependencies['@angular/core'] = angularVersion;
|
|
26
|
+
dependencies['@angular/forms'] = angularVersion;
|
|
27
|
+
dependencies['@angular/platform-browser'] = angularVersion;
|
|
28
|
+
dependencies['@angular/platform-browser-dynamic'] = angularVersion;
|
|
29
|
+
dependencies['@angular/router'] = angularVersion;
|
|
30
|
+
dependencies.rxjs = rxjsVersion;
|
|
31
|
+
dependencies.tslib = tsLibVersion;
|
|
32
|
+
dependencies['zone.js'] = zoneJsVersion;
|
|
33
|
+
}
|
|
34
|
+
const installedAngularDevkitVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular');
|
|
35
|
+
if (!installedAngularDevkitVersion) {
|
|
36
|
+
/**
|
|
37
|
+
* If `@angular-devkit/build-angular` is already installed, we assume the workspace
|
|
38
|
+
* was already initialized with Angular and we don't want to re-install the tooling.
|
|
39
|
+
* This is to avoid re-installing Angular tooling that the user might have removed.
|
|
40
|
+
*/
|
|
41
|
+
devDependencies['@angular/cli'] = pkgVersions.angularDevkitVersion;
|
|
42
|
+
devDependencies['@angular/compiler-cli'] = pkgVersions.angularVersion;
|
|
43
|
+
devDependencies['@angular/language-service'] = pkgVersions.angularVersion;
|
|
44
|
+
}
|
|
45
|
+
// Ensure the `@nx/angular` peer dependencies are always installed.
|
|
46
|
+
const angularDevkitVersion = installedAngularDevkitVersion ?? pkgVersions.angularDevkitVersion;
|
|
47
|
+
devDependencies['@angular-devkit/build-angular'] = angularDevkitVersion;
|
|
48
|
+
devDependencies['@angular-devkit/schematics'] = angularDevkitVersion;
|
|
49
|
+
devDependencies['@schematics/angular'] = angularDevkitVersion;
|
|
50
|
+
return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies, undefined, true);
|
|
34
51
|
}
|
|
35
52
|
exports.ensureAngularDependencies = ensureAngularDependencies;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getAllFilesRecursivelyFromDir = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
const ignore_1 = require("ignore");
|
|
6
|
+
const ignore_1 = tslib_1.__importDefault(require("ignore"));
|
|
6
7
|
function getAllFilesRecursivelyFromDir(tree, dir) {
|
|
7
8
|
if (isPathIgnored(tree, dir)) {
|
|
8
9
|
return [];
|
|
@@ -5,14 +5,12 @@ const devkit_1 = require("@nx/devkit");
|
|
|
5
5
|
const testing_1 = require("@nx/devkit/testing");
|
|
6
6
|
const eslint_1 = require("@nx/eslint");
|
|
7
7
|
const test_runners_1 = require("../../utils/test-runners");
|
|
8
|
-
const versions_1 = require("../../utils/versions");
|
|
9
8
|
const application_1 = require("../application/application");
|
|
10
9
|
const component_1 = require("../component/component");
|
|
11
10
|
const host_1 = require("../host/host");
|
|
12
11
|
const library_1 = require("../library/library");
|
|
13
12
|
const remote_1 = require("../remote/remote");
|
|
14
13
|
async function generateTestApplication(tree, options) {
|
|
15
|
-
addAngularPluginPeerDeps(tree);
|
|
16
14
|
tree.write('.gitignore', '');
|
|
17
15
|
await (0, application_1.applicationGenerator)(tree, {
|
|
18
16
|
projectNameAndRootFormat: 'as-provided',
|
|
@@ -21,19 +19,16 @@ async function generateTestApplication(tree, options) {
|
|
|
21
19
|
}
|
|
22
20
|
exports.generateTestApplication = generateTestApplication;
|
|
23
21
|
async function generateTestHostApplication(tree, options) {
|
|
24
|
-
addAngularPluginPeerDeps(tree);
|
|
25
22
|
tree.write('.gitignore', '');
|
|
26
23
|
await (0, host_1.host)(tree, { projectNameAndRootFormat: 'as-provided', ...options });
|
|
27
24
|
}
|
|
28
25
|
exports.generateTestHostApplication = generateTestHostApplication;
|
|
29
26
|
async function generateTestRemoteApplication(tree, options) {
|
|
30
|
-
addAngularPluginPeerDeps(tree);
|
|
31
27
|
tree.write('.gitignore', '');
|
|
32
28
|
await (0, remote_1.remote)(tree, { projectNameAndRootFormat: 'as-provided', ...options });
|
|
33
29
|
}
|
|
34
30
|
exports.generateTestRemoteApplication = generateTestRemoteApplication;
|
|
35
31
|
async function generateTestLibrary(tree, options) {
|
|
36
|
-
addAngularPluginPeerDeps(tree);
|
|
37
32
|
tree.write('.gitignore', '');
|
|
38
33
|
await (0, library_1.libraryGenerator)(tree, {
|
|
39
34
|
projectNameAndRootFormat: 'as-provided',
|
|
@@ -43,7 +38,6 @@ async function generateTestLibrary(tree, options) {
|
|
|
43
38
|
exports.generateTestLibrary = generateTestLibrary;
|
|
44
39
|
async function createStorybookTestWorkspaceForLib(libName) {
|
|
45
40
|
let tree = (0, testing_1.createTreeWithEmptyWorkspace)({ layout: 'apps-libs' });
|
|
46
|
-
addAngularPluginPeerDeps(tree);
|
|
47
41
|
tree.write('.gitignore', '');
|
|
48
42
|
await (0, library_1.libraryGenerator)(tree, {
|
|
49
43
|
name: libName,
|
|
@@ -243,17 +237,6 @@ export class StaticMemberDeclarationsModule {
|
|
|
243
237
|
return tree;
|
|
244
238
|
}
|
|
245
239
|
exports.createStorybookTestWorkspaceForLib = createStorybookTestWorkspaceForLib;
|
|
246
|
-
function addAngularPluginPeerDeps(tree) {
|
|
247
|
-
(0, devkit_1.updateJson)(tree, 'package.json', (json) => ({
|
|
248
|
-
...json,
|
|
249
|
-
devDependencies: {
|
|
250
|
-
...json.devDependencies,
|
|
251
|
-
'@angular-devkit/core': versions_1.angularDevkitVersion,
|
|
252
|
-
'@angular-devkit/schematics': versions_1.angularDevkitVersion,
|
|
253
|
-
'@schematics/angular': versions_1.angularDevkitVersion,
|
|
254
|
-
},
|
|
255
|
-
}));
|
|
256
|
-
}
|
|
257
240
|
function generateModule(tree, options) {
|
|
258
241
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
259
242
|
if (options.path === undefined) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Tree } from '@nx/devkit';
|
|
2
2
|
import { type PackageCompatVersions, type PackageLatestVersions } from '../../utils/backward-compatible-versions';
|
|
3
3
|
export declare function getInstalledAngularVersion(tree: Tree): string;
|
|
4
4
|
export declare function getInstalledAngularMajorVersion(tree: Tree): number;
|
|
@@ -11,5 +11,4 @@ export declare function getInstalledPackageVersionInfo(tree: Tree, pkgName: stri
|
|
|
11
11
|
major: number;
|
|
12
12
|
version: string;
|
|
13
13
|
};
|
|
14
|
-
export declare function addDependenciesToPackageJsonIfDontExist(tree: Tree, dependencies: Record<string, string>, devDependencies: Record<string, string>, packageJsonPath?: string): GeneratorCallback;
|
|
15
14
|
export declare function versions(tree: Tree): PackageLatestVersions | PackageCompatVersions;
|