@nx/angular 22.3.0-canary.20251209-6092031 → 22.3.0-canary.20251215-e864b6a
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/executors.json +5 -0
- package/migrations.json +200 -291
- package/package.json +18 -18
- package/src/builders/dev-server/lib/normalize-options.d.ts.map +1 -1
- package/src/builders/dev-server/lib/normalize-options.js +1 -3
- package/src/builders/dev-server/lib/validate-options.d.ts.map +1 -1
- package/src/builders/dev-server/lib/validate-options.js +6 -5
- package/src/builders/dev-server/schema.d.ts +1 -0
- package/src/builders/dev-server/schema.json +9 -2
- package/src/executors/application/application.impl.js +1 -1
- package/src/executors/application/schema.json +11 -9
- package/src/executors/application/utils/normalize-options.d.ts.map +1 -1
- package/src/executors/application/utils/normalize-options.js +1 -27
- package/src/executors/application/utils/validate-options.d.ts.map +1 -1
- package/src/executors/application/utils/validate-options.js +0 -17
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +1 -1
- package/src/executors/extract-i18n/extract-i18n.impl.js +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.d.ts.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +24 -23
- package/src/executors/unit-test/schema.d.ts +7 -0
- package/src/executors/unit-test/schema.json +320 -0
- package/src/executors/unit-test/unit-test.impl.d.ts +5 -0
- package/src/executors/unit-test/unit-test.impl.d.ts.map +1 -0
- package/src/executors/unit-test/unit-test.impl.js +111 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.d.ts.map +1 -0
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.d.ts.map +1 -1
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +2 -6
- package/src/executors/utilities/ng-packagr/{v19+/stylesheet-processor.js → stylesheet-processor.js} +2 -2
- package/src/generators/application/application.d.ts +1 -1
- package/src/generators/application/application.d.ts.map +1 -1
- package/src/generators/application/application.js +6 -1
- package/src/generators/application/files/base/tsconfig.app.json__tpl__ +2 -4
- package/src/generators/application/files/ng-module/src/app/app__componentFileSuffix__.spec.ts__tpl__ +2 -2
- package/src/generators/application/files/ng-module/src/app/app__componentFileSuffix__.ts__tpl__ +2 -2
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +1 -3
- package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +2 -2
- package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +1 -2
- package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +2 -2
- package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +1 -2
- package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +2 -2
- package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/nx-welcome__componentFileSuffix__.ts__tpl__ +1 -2
- package/src/generators/application/files/rspack-ssr/server.ts__tmpl__ +6 -0
- package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +3 -3
- package/src/generators/application/files/standalone-components/src/app/app__componentFileSuffix__.spec.ts__tpl__ +2 -2
- package/src/generators/application/files/standalone-components/src/app/app__componentFileSuffix__.ts__tpl__ +1 -2
- package/src/generators/application/lib/add-unit-test-runner.d.ts +1 -1
- package/src/generators/application/lib/add-unit-test-runner.d.ts.map +1 -1
- package/src/generators/application/lib/add-unit-test-runner.js +13 -2
- package/src/generators/application/lib/create-files.d.ts.map +1 -1
- package/src/generators/application/lib/create-files.js +1 -3
- package/src/generators/application/lib/create-project.js +12 -10
- package/src/generators/application/lib/enable-strict-type-checking.js +1 -1
- package/src/generators/application/lib/index.d.ts +2 -1
- package/src/generators/application/lib/index.d.ts.map +1 -1
- package/src/generators/application/lib/index.js +2 -1
- package/src/generators/application/lib/normalize-options.d.ts.map +1 -1
- package/src/generators/application/lib/normalize-options.js +12 -2
- package/src/generators/application/lib/update-tsconfig-files.d.ts.map +1 -1
- package/src/generators/application/lib/update-tsconfig-files.js +6 -17
- package/src/generators/application/lib/validate-options.d.ts +4 -0
- package/src/generators/application/lib/validate-options.d.ts.map +1 -0
- package/src/generators/application/lib/validate-options.js +26 -0
- package/src/generators/application/schema.d.ts +1 -0
- package/src/generators/application/schema.json +7 -4
- package/src/generators/component/component.d.ts.map +1 -1
- package/src/generators/component/component.js +4 -3
- package/src/generators/component/files/__fileName__.spec.ts__tpl__ +1 -1
- package/src/generators/component/files/__fileName__.ts__tpl__ +1 -1
- package/src/generators/component-test/component-test.d.ts +3 -3
- package/src/generators/component-test/component-test.d.ts.map +1 -1
- package/src/generators/component-test/component-test.js +9 -0
- package/src/generators/component-test/schema.d.ts +1 -0
- package/src/generators/component-test/schema.json +6 -0
- package/src/generators/convert-to-rspack/convert-to-rspack.d.ts.map +1 -1
- package/src/generators/convert-to-rspack/convert-to-rspack.js +1 -4
- package/src/generators/cypress-component-configuration/cypress-component-configuration.d.ts.map +1 -1
- package/src/generators/cypress-component-configuration/cypress-component-configuration.js +80 -33
- package/src/generators/cypress-component-configuration/schema.d.ts +1 -0
- package/src/generators/cypress-component-configuration/schema.json +6 -0
- package/src/generators/directive/directive.d.ts.map +1 -1
- package/src/generators/directive/directive.js +0 -3
- package/src/generators/directive/files/__fileName__.ts__tpl__ +1 -1
- package/src/generators/federate-module/federate-module.d.ts +1 -1
- package/src/generators/federate-module/federate-module.d.ts.map +1 -1
- package/src/generators/federate-module/federate-module.js +8 -0
- package/src/generators/federate-module/lib/add-remote.js +1 -1
- package/src/generators/federate-module/schema.d.ts +2 -2
- package/src/generators/federate-module/schema.json +3 -4
- package/src/generators/host/files/common/src/main.server.ts__tmpl__ +8 -1
- package/src/generators/host/host.d.ts.map +1 -1
- package/src/generators/host/host.js +5 -1
- package/src/generators/host/lib/index.d.ts +1 -0
- package/src/generators/host/lib/index.d.ts.map +1 -1
- package/src/generators/host/lib/index.js +1 -0
- package/src/generators/host/lib/update-ssr-setup.d.ts.map +1 -1
- package/src/generators/host/lib/update-ssr-setup.js +6 -4
- package/src/generators/host/lib/validate-options.d.ts +4 -0
- package/src/generators/host/lib/validate-options.d.ts.map +1 -0
- package/src/generators/host/lib/validate-options.js +12 -0
- package/src/generators/host/schema.d.ts +2 -2
- package/src/generators/host/schema.json +5 -6
- package/src/generators/library/files/base/tsconfig.lib.json__tpl__ +3 -5
- package/src/generators/library/lib/normalize-options.d.ts.map +1 -1
- package/src/generators/library/lib/normalize-options.js +10 -3
- package/src/generators/library/lib/update-tsconfig-files.d.ts.map +1 -1
- package/src/generators/library/lib/update-tsconfig-files.js +15 -6
- package/src/generators/library/lib/validate-options.d.ts +4 -0
- package/src/generators/library/lib/validate-options.d.ts.map +1 -0
- package/src/generators/library/lib/validate-options.js +27 -0
- package/src/generators/library/library.d.ts.map +1 -1
- package/src/generators/library/library.js +20 -13
- package/src/generators/library/schema.json +3 -4
- package/src/generators/ng-add/migrators/builders/angular-build-unit-test.migrator.d.ts +16 -0
- package/src/generators/ng-add/migrators/builders/angular-build-unit-test.migrator.d.ts.map +1 -0
- package/src/generators/ng-add/migrators/builders/angular-build-unit-test.migrator.js +161 -0
- package/src/generators/ng-add/migrators/builders/index.d.ts +1 -0
- package/src/generators/ng-add/migrators/builders/index.d.ts.map +1 -1
- package/src/generators/ng-add/migrators/builders/index.js +1 -0
- package/src/generators/ng-add/migrators/projects/app.migrator.d.ts.map +1 -1
- package/src/generators/ng-add/migrators/projects/app.migrator.js +1 -0
- package/src/generators/ng-add/migrators/projects/lib.migrator.d.ts.map +1 -1
- package/src/generators/ng-add/migrators/projects/lib.migrator.js +1 -0
- package/src/generators/pipe/files/__fileName__.ts__tpl__ +1 -1
- package/src/generators/pipe/pipe.d.ts.map +1 -1
- package/src/generators/pipe/pipe.js +0 -5
- package/src/generators/remote/files/common/src/main.server.ts__tmpl__ +8 -1
- package/src/generators/remote/lib/index.d.ts +1 -0
- package/src/generators/remote/lib/index.d.ts.map +1 -1
- package/src/generators/remote/lib/index.js +1 -0
- package/src/generators/remote/lib/update-ssr-setup.d.ts +2 -1
- package/src/generators/remote/lib/update-ssr-setup.d.ts.map +1 -1
- package/src/generators/remote/lib/update-ssr-setup.js +7 -7
- package/src/generators/remote/lib/validate-options.d.ts +4 -0
- package/src/generators/remote/lib/validate-options.d.ts.map +1 -0
- package/src/generators/remote/lib/validate-options.js +12 -0
- package/src/generators/remote/remote.d.ts.map +1 -1
- package/src/generators/remote/remote.js +6 -1
- package/src/generators/remote/schema.d.ts +2 -2
- package/src/generators/remote/schema.json +5 -6
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +1 -1
- package/src/generators/setup-mf/files/entry-module-files/entry__componentFileSuffix__.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +5 -6
- package/src/generators/setup-mf/files/standalone-entry-component-files/entry__componentFileSuffix__.ts__tmpl__ +1 -2
- package/src/generators/setup-mf/lib/add-remote-entry.d.ts.map +1 -1
- package/src/generators/setup-mf/lib/add-remote-entry.js +0 -5
- package/src/generators/setup-mf/lib/update-host-app-routes.d.ts.map +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.js +9 -6
- package/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +2 -2
- package/src/generators/setup-ssr/files/v20+/server-builder/server/__serverFileName__ +6 -0
- package/src/generators/setup-ssr/lib/add-hydration.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/add-hydration.js +2 -8
- package/src/generators/setup-ssr/lib/add-server-file.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/add-server-file.js +7 -7
- package/src/generators/setup-ssr/lib/generate-files.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/generate-files.js +2 -7
- package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +26 -12
- package/src/generators/setup-ssr/lib/normalize-options.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/normalize-options.js +1 -5
- package/src/generators/setup-ssr/lib/update-project-config.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/update-project-config.js +6 -17
- package/src/generators/setup-ssr/lib/validate-options.d.ts.map +1 -1
- package/src/generators/setup-ssr/lib/validate-options.js +9 -0
- package/src/generators/utils/add-jest.d.ts +2 -0
- package/src/generators/utils/add-jest.d.ts.map +1 -1
- package/src/generators/utils/add-jest.js +41 -11
- package/src/generators/utils/add-vitest.d.ts +11 -2
- package/src/generators/utils/add-vitest.d.ts.map +1 -1
- package/src/generators/utils/add-vitest.js +173 -6
- package/src/generators/utils/assert-mf-utils.d.ts +1 -1
- package/src/generators/utils/assert-mf-utils.d.ts.map +1 -1
- package/src/generators/utils/assert-mf-utils.js +1 -4
- package/src/generators/utils/ensure-angular-dependencies.d.ts +1 -1
- package/src/generators/utils/ensure-angular-dependencies.d.ts.map +1 -1
- package/src/generators/utils/ensure-angular-dependencies.js +6 -4
- package/src/generators/utils/storybook-ast/component-info.js +2 -10
- package/src/generators/utils/tsconfig-utils.d.ts +13 -0
- package/src/generators/utils/tsconfig-utils.d.ts.map +1 -0
- package/src/generators/utils/tsconfig-utils.js +29 -0
- package/src/generators/utils/version-utils.d.ts +13 -3
- package/src/generators/utils/version-utils.d.ts.map +1 -1
- package/src/generators/utils/version-utils.js +11 -18
- package/src/migrations/update-21-2-0/update-module-resolution.d.ts.map +1 -1
- package/src/migrations/update-21-2-0/update-module-resolution.js +17 -4
- package/src/migrations/update-22-3-0/update-angular-cli.d.ts +4 -0
- package/src/migrations/update-22-3-0/update-angular-cli.d.ts.map +1 -0
- package/src/migrations/{update-16-4-0 → update-22-3-0}/update-angular-cli.js +1 -1
- package/src/migrations/update-22-3-0/update-module-resolution.d.ts +3 -0
- package/src/migrations/update-22-3-0/update-module-resolution.d.ts.map +1 -0
- package/src/migrations/update-22-3-0/update-module-resolution.js +61 -0
- package/src/migrations/update-22-3-0/update-ssr-webpack-config.d.ts +3 -0
- package/src/migrations/update-22-3-0/update-ssr-webpack-config.d.ts.map +1 -0
- package/src/migrations/update-22-3-0/update-ssr-webpack-config.js +111 -0
- package/src/migrations/update-22-3-0/update-typescript-lib.d.ts +3 -0
- package/src/migrations/update-22-3-0/update-typescript-lib.d.ts.map +1 -0
- package/src/migrations/update-22-3-0/update-typescript-lib.js +98 -0
- package/src/migrations/update-22-3-0/update-unit-test-runner-option.d.ts +3 -0
- package/src/migrations/update-22-3-0/update-unit-test-runner-option.d.ts.map +1 -0
- package/src/migrations/update-22-3-0/update-unit-test-runner-option.js +44 -0
- package/src/plugins/plugin.d.ts.map +1 -1
- package/src/plugins/plugin.js +40 -24
- package/src/utils/backward-compatible-versions.d.ts +7 -9
- package/src/utils/backward-compatible-versions.d.ts.map +1 -1
- package/src/utils/backward-compatible-versions.js +20 -14
- package/src/utils/nx-devkit/ast-utils.d.ts.map +1 -1
- package/src/utils/nx-devkit/ast-utils.js +2 -13
- package/src/utils/targets.d.ts +6 -1
- package/src/utils/targets.d.ts.map +1 -1
- package/src/utils/targets.js +20 -3
- package/src/utils/test-runners.d.ts +2 -1
- package/src/utils/test-runners.d.ts.map +1 -1
- package/src/utils/test-runners.js +2 -1
- package/src/utils/version-utils.d.ts +2 -2
- package/src/utils/version-utils.d.ts.map +1 -1
- package/src/utils/version-utils.js +3 -2
- package/src/utils/versions.d.ts +7 -6
- package/src/utils/versions.d.ts.map +1 -1
- package/src/utils/versions.js +8 -7
- package/src/utils/zoneless.d.ts +3 -0
- package/src/utils/zoneless.d.ts.map +1 -0
- package/src/utils/zoneless.js +28 -0
- package/{mf/index.d.ts → types/nx-angular-mf.d.ts} +1 -1
- package/types/nx-angular-mf.d.ts.map +1 -0
- package/types/nx-angular.d.ts +3 -0
- package/types/nx-angular.d.ts.map +1 -0
- package/index.d.ts +0 -3
- package/index.d.ts.map +0 -1
- package/mf/index.d.ts.map +0 -1
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.d.ts +0 -28
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.d.ts.map +0 -1
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +0 -159
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts.map +0 -1
- package/src/generators/setup-ssr/files/pre-v19/ngmodule-src/__main__ +0 -1
- package/src/generators/setup-ssr/files/pre-v19/ngmodule-src/app/__rootModuleFileName__ +0 -14
- package/src/generators/setup-ssr/files/pre-v19/root/tsconfig.server.json__tpl__ +0 -15
- package/src/generators/setup-ssr/files/pre-v19/server/application-builder/__serverFileName__ +0 -57
- package/src/generators/setup-ssr/files/pre-v19/server/server-builder/__serverFileName__ +0 -72
- package/src/generators/setup-ssr/files/pre-v19/standalone-src/__main__ +0 -12
- package/src/generators/setup-ssr/files/pre-v19/standalone-src/app/app.config.server.ts__tpl__ +0 -11
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.d.ts +0 -3
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.d.ts.map +0 -1
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +0 -122
- package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.d.ts +0 -3
- package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.d.ts.map +0 -1
- package/src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules.js +0 -34
- package/src/migrations/update-16-4-0/update-angular-cli.d.ts +0 -4
- package/src/migrations/update-16-4-0/update-angular-cli.d.ts.map +0 -1
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.d.ts +0 -3
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.d.ts.map +0 -1
- package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +0 -34
- package/src/migrations/update-16-7-0/update-angular-cli.d.ts +0 -4
- package/src/migrations/update-16-7-0/update-angular-cli.d.ts.map +0 -1
- package/src/migrations/update-16-7-0/update-angular-cli.js +0 -14
- /package/src/executors/utilities/ng-packagr/{v19+/stylesheet-processor.d.ts → stylesheet-processor.d.ts} +0 -0
|
@@ -3,20 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.pipeGenerator = pipeGenerator;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
|
-
const version_utils_1 = require("../utils/version-utils");
|
|
7
6
|
const lib_1 = require("./lib");
|
|
8
7
|
async function pipeGenerator(tree, rawOptions) {
|
|
9
8
|
const options = await (0, lib_1.normalizeOptions)(tree, rawOptions);
|
|
10
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
11
9
|
const pipeNames = (0, devkit_1.names)(options.name);
|
|
12
10
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files'), options.directory, {
|
|
13
11
|
symbolName: options.symbolName,
|
|
14
12
|
fileName: options.fileName,
|
|
15
13
|
selector: pipeNames.propertyName,
|
|
16
14
|
standalone: options.standalone,
|
|
17
|
-
// Angular v19 or higher defaults to true, while lower versions default to false
|
|
18
|
-
setStandalone: (angularMajorVersion >= 19 && !options.standalone) ||
|
|
19
|
-
(angularMajorVersion < 19 && options.standalone),
|
|
20
15
|
tpl: '',
|
|
21
16
|
});
|
|
22
17
|
if (options.skipTests) {
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
<%_ if (!zoneless && angularMajorVersion < 21) { _%>
|
|
1
2
|
import 'zone.js/node';
|
|
2
3
|
|
|
4
|
+
<%_ } _%>
|
|
3
5
|
import { APP_BASE_HREF } from '@angular/common';
|
|
4
|
-
import { CommonEngine } from '
|
|
6
|
+
import { CommonEngine } from '@angular/ssr/node';
|
|
7
|
+
<%_ if (useDefaultImport) { _%>
|
|
8
|
+
import express from 'express';
|
|
9
|
+
import cors from 'cors';
|
|
10
|
+
<%_ } else { _%>
|
|
5
11
|
import * as express from 'express';
|
|
6
12
|
import * as cors from 'cors';
|
|
13
|
+
<%_ } _%>
|
|
7
14
|
import { existsSync } from 'node:fs';
|
|
8
15
|
import { join } from 'node:path';
|
|
9
16
|
import<% if(standalone) { %> bootstrap <% } else { %> { AppServerModule } <% } %>from './bootstrap.server';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./find-next-available-port"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./update-ssr-setup"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./validate-options"), exports);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
|
-
export declare function updateSsrSetup(tree: Tree, { appName, port, standalone, typescriptConfiguration, skipPackageJson, }: {
|
|
2
|
+
export declare function updateSsrSetup(tree: Tree, { appName, port, standalone, typescriptConfiguration, zoneless, skipPackageJson, }: {
|
|
3
3
|
appName: string;
|
|
4
4
|
port: number;
|
|
5
5
|
standalone: boolean;
|
|
6
6
|
typescriptConfiguration: boolean;
|
|
7
|
+
zoneless: boolean;
|
|
7
8
|
skipPackageJson?: boolean;
|
|
8
9
|
}): Promise<import("@nx/devkit").GeneratorCallback>;
|
|
9
10
|
//# sourceMappingURL=update-ssr-setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-ssr-setup.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/update-ssr-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAoBvC,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,EACE,OAAO,EACP,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"update-ssr-setup.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/update-ssr-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAoBvC,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,EACE,OAAO,EACP,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,mDAsHF"}
|
|
@@ -8,13 +8,13 @@ const semver_1 = require("semver");
|
|
|
8
8
|
const versions_1 = require("../../../utils/versions");
|
|
9
9
|
const artifact_types_1 = require("../../utils/artifact-types");
|
|
10
10
|
const version_utils_1 = require("../../utils/version-utils");
|
|
11
|
-
async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfiguration, skipPackageJson, }) {
|
|
11
|
+
async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfiguration, zoneless, skipPackageJson, }) {
|
|
12
12
|
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
13
13
|
let project = (0, devkit_1.readProjectConfiguration)(tree, appName);
|
|
14
14
|
const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(project, tree);
|
|
15
15
|
tree.rename((0, devkit_1.joinPathFragments)(sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(sourceRoot, 'bootstrap.server.ts'));
|
|
16
|
-
const pathToServerEntry = (0, devkit_1.joinPathFragments)(
|
|
17
|
-
tree.write(pathToServerEntry, `import('
|
|
16
|
+
const pathToServerEntry = (0, devkit_1.joinPathFragments)(sourceRoot, 'server.ts');
|
|
17
|
+
tree.write(pathToServerEntry, `import('./main.server');`);
|
|
18
18
|
const browserBundleOutput = project.targets.build.options.outputPath;
|
|
19
19
|
const serverBundleOutput = project.targets.build.options.outputPath.replace(/\/browser$/, '/server');
|
|
20
20
|
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, '../files/common'), project.root, {
|
|
@@ -22,7 +22,9 @@ async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfi
|
|
|
22
22
|
browserBundleOutput,
|
|
23
23
|
serverBundleOutput,
|
|
24
24
|
standalone,
|
|
25
|
-
|
|
25
|
+
zoneless,
|
|
26
|
+
useDefaultImport: angularMajorVersion >= 21,
|
|
27
|
+
angularMajorVersion,
|
|
26
28
|
tmpl: '',
|
|
27
29
|
});
|
|
28
30
|
const pathToTemplateFiles = typescriptConfiguration ? 'base-ts' : 'base';
|
|
@@ -36,9 +38,7 @@ async function updateSsrSetup(tree, { appName, port, standalone, typescriptConfi
|
|
|
36
38
|
// https://github.com/angular/angular-cli/releases/tag/20.3.0
|
|
37
39
|
(0, semver_1.gte)(angularVersion, '20.3.0') ||
|
|
38
40
|
// https://github.com/angular/angular-cli/releases/tag/19.2.16
|
|
39
|
-
(angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16'))
|
|
40
|
-
// https://github.com/angular/angular-cli/releases/tag/18.2.21
|
|
41
|
-
(angularMajorVersion === 18 && (0, semver_1.gte)(angularVersion, '18.2.21'));
|
|
41
|
+
(angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16'));
|
|
42
42
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone'), project.root, {
|
|
43
43
|
appName,
|
|
44
44
|
standalone,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-options.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/remote/lib/validate-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAW1D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateOptions = validateOptions;
|
|
4
|
+
const version_utils_1 = require("../../utils/version-utils");
|
|
5
|
+
function validateOptions(tree, options) {
|
|
6
|
+
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
7
|
+
if (angularMajorVersion < 21) {
|
|
8
|
+
if (options.zoneless) {
|
|
9
|
+
throw new Error(`The "zoneless" option is only supported for Angular versions >= 21.0.0. You are using Angular ${angularVersion}.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAEL,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../../../../packages/angular/src/generators/remote/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAEL,MAAM,YAAY,CAAC;AAepB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mDAqHtD;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -12,13 +12,17 @@ const setup_mf_1 = require("../setup-mf/setup-mf");
|
|
|
12
12
|
const add_mf_env_to_inputs_1 = require("../utils/add-mf-env-to-inputs");
|
|
13
13
|
const assert_mf_utils_1 = require("../utils/assert-mf-utils");
|
|
14
14
|
const validations_1 = require("../utils/validations");
|
|
15
|
+
const version_utils_1 = require("../utils/version-utils");
|
|
15
16
|
const lib_1 = require("./lib");
|
|
16
17
|
async function remote(tree, schema) {
|
|
17
18
|
(0, validations_1.assertNotUsingTsSolutionSetup)(tree, 'remote');
|
|
19
|
+
(0, lib_1.validateOptions)(tree, schema);
|
|
18
20
|
// TODO: Replace with Rspack when confidence is high enough
|
|
19
21
|
schema.bundler ??= 'webpack';
|
|
20
22
|
const isRspack = schema.bundler === 'rspack';
|
|
21
|
-
(0, assert_mf_utils_1.assertRspackIsCSR)(schema.bundler, schema.ssr ?? false
|
|
23
|
+
(0, assert_mf_utils_1.assertRspackIsCSR)(schema.bundler, schema.ssr ?? false);
|
|
24
|
+
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
25
|
+
schema.zoneless ??= angularMajorVersion >= 21 ? true : false;
|
|
22
26
|
const { typescriptConfiguration = true, ...options } = schema;
|
|
23
27
|
options.standalone = options.standalone ?? true;
|
|
24
28
|
const projects = (0, devkit_1.getProjects)(tree);
|
|
@@ -78,6 +82,7 @@ async function remote(tree, schema) {
|
|
|
78
82
|
typescriptConfiguration,
|
|
79
83
|
standalone: options.standalone,
|
|
80
84
|
skipPackageJson: options.skipPackageJson,
|
|
85
|
+
zoneless: options.zoneless,
|
|
81
86
|
});
|
|
82
87
|
installTasks.push(ssrInstallTask);
|
|
83
88
|
}
|
|
@@ -16,7 +16,7 @@ export interface Schema {
|
|
|
16
16
|
skipTests?: boolean;
|
|
17
17
|
tags?: string;
|
|
18
18
|
linter?: Linter | LinterType;
|
|
19
|
-
unitTestRunner?: UnitTestRunner
|
|
19
|
+
unitTestRunner?: Exclude<UnitTestRunner, UnitTestRunner.VitestAngular>;
|
|
20
20
|
e2eTestRunner?: E2eTestRunner;
|
|
21
21
|
backendProject?: string;
|
|
22
22
|
strict?: boolean;
|
|
@@ -26,6 +26,6 @@ export interface Schema {
|
|
|
26
26
|
skipFormat?: boolean;
|
|
27
27
|
standalone?: boolean;
|
|
28
28
|
ssr?: boolean;
|
|
29
|
-
|
|
29
|
+
zoneless?: boolean;
|
|
30
30
|
typescriptConfiguration?: boolean;
|
|
31
31
|
}
|
|
@@ -113,10 +113,9 @@
|
|
|
113
113
|
},
|
|
114
114
|
"unitTestRunner": {
|
|
115
115
|
"type": "string",
|
|
116
|
-
"enum": ["
|
|
117
|
-
"description": "Test runner to use for unit tests.",
|
|
118
|
-
"x-prompt": "Which unit test runner would you like to use?"
|
|
119
|
-
"default": "jest"
|
|
116
|
+
"enum": ["vitest-analog", "jest", "none"],
|
|
117
|
+
"description": "Test runner to use for unit tests. `vitest-analog` uses AnalogJS-based setup with `@nx/vitest`. It defaults to `vitest-analog` for Angular versions >= 21.0.0, otherwise `jest`.",
|
|
118
|
+
"x-prompt": "Which unit test runner would you like to use?"
|
|
120
119
|
},
|
|
121
120
|
"e2eTestRunner": {
|
|
122
121
|
"type": "string",
|
|
@@ -170,8 +169,8 @@
|
|
|
170
169
|
"type": "boolean",
|
|
171
170
|
"default": false
|
|
172
171
|
},
|
|
173
|
-
"
|
|
174
|
-
"description": "
|
|
172
|
+
"zoneless": {
|
|
173
|
+
"description": "Generate an application that does not use `zone.js`. It defaults to `true`. _Note: this is only supported in Angular versions >= 21.0.0_",
|
|
175
174
|
"type": "boolean"
|
|
176
175
|
},
|
|
177
176
|
"typescriptConfiguration": {
|
|
@@ -10,7 +10,7 @@ function convertScamToStandalone(componentAST, componentFileContents, importsArr
|
|
|
10
10
|
const { tsquery } = require('@phenomnomnominal/tsquery');
|
|
11
11
|
const componentDecoratorMetadataNode = tsquery(componentAST, COMPONENT_PROPERTY_SELECTOR, { visitAllChildren: true })[0];
|
|
12
12
|
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
13
|
-
newComponentContents = `${componentFileContents.slice(0, componentDecoratorMetadataNode.getStart() - 1)}({
|
|
13
|
+
newComponentContents = `${componentFileContents.slice(0, componentDecoratorMetadataNode.getStart() - 1)}({
|
|
14
14
|
imports: [${importsArray.join(',')}],${providersArray.length > 0 ? `providers: [${providersArray.join(',')}],` : ''}${componentFileContents.slice(componentDecoratorMetadataNode.getStart() + 1, moduleNodes[0].getStart() - 1)}`;
|
|
15
15
|
tree.write(normalizedComponentPath, newComponentContents);
|
|
16
16
|
const componentPathParts = (0, path_1.parse)(normalizedComponentPath);
|
package/src/generators/setup-mf/files/entry-module-files/entry__componentFileSuffix__.ts__tmpl__
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
|
|
3
3
|
@Component({<% if (prefix) { %>
|
|
4
|
-
selector: '<%= prefix %>-<%= appName %>-entry'
|
|
5
|
-
standalone: false
|
|
4
|
+
selector: '<%= prefix %>-<%= appName %>-entry',
|
|
5
|
+
standalone: false,
|
|
6
6
|
template: `<<%= prefix %>-nx-welcome></<%= prefix %>-nx-welcome>`<% } else { %>
|
|
7
7
|
selector: '<%= appName %>-entry',
|
|
8
8
|
template: `<nx-welcome></nx-welcome>`<% } %>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TestBed } from '@angular/core/testing';
|
|
2
2
|
import { <%= appSymbolName %> } from './<%= appFileName %>';
|
|
3
3
|
import { <%= nxWelcomeSymbolName %> } from './<%= nxWelcomeFileName %>';
|
|
4
4
|
import { Router, RouterModule } from '@angular/router';
|
|
@@ -29,15 +29,14 @@ describe('<%= appSymbolName %>', () => {
|
|
|
29
29
|
expect(app.title).toEqual('<%= appName %>');
|
|
30
30
|
});
|
|
31
31
|
|
|
32
|
-
it('should render title',
|
|
32
|
+
it('should render title', async () => {
|
|
33
33
|
const fixture = TestBed.createComponent(<%= appSymbolName %>);
|
|
34
34
|
const router = TestBed.inject(Router);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
fixture.detectChanges();
|
|
35
|
+
await router.navigate(['']);
|
|
36
|
+
<%= zoneless ? 'await fixture.whenStable();' : 'fixture.detectChanges();' %>
|
|
38
37
|
const compiled = fixture.nativeElement as HTMLElement;
|
|
39
38
|
expect(compiled.querySelector('h1')?.textContent).toContain(
|
|
40
39
|
'Welcome <%= appName %>'
|
|
41
40
|
);
|
|
42
|
-
})
|
|
41
|
+
});
|
|
43
42
|
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { <%= nxWelcomeSymbolName %> } from './<%= nxWelcomeFileName %>';
|
|
3
3
|
|
|
4
|
-
@Component({
|
|
5
|
-
standalone: true,<% } %>
|
|
4
|
+
@Component({
|
|
6
5
|
imports: [<%= nxWelcomeSymbolName %>],<% if (prefix) { %>
|
|
7
6
|
selector: '<%= prefix %>-<%= appName %>-entry',
|
|
8
7
|
template: `<<%= prefix %>-nx-welcome></<%= prefix %>-nx-welcome>`<% } else { %>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-remote-entry.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/add-remote-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add-remote-entry.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/add-remote-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,QAgDhB"}
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addRemoteEntry = addRemoteEntry;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
|
|
6
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
7
6
|
function addRemoteEntry(tree, options, appRoot) {
|
|
8
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
9
7
|
const { appName, routing, prefix, standalone, componentType, componentFileSuffix, nxWelcomeComponentInfo, entryModuleFileName, } = options;
|
|
10
8
|
(0, devkit_1.generateFiles)(tree, standalone
|
|
11
9
|
? (0, devkit_1.joinPathFragments)(__dirname, '../files/standalone-entry-component-files')
|
|
@@ -14,9 +12,6 @@ function addRemoteEntry(tree, options, appRoot) {
|
|
|
14
12
|
appName,
|
|
15
13
|
routing,
|
|
16
14
|
prefix,
|
|
17
|
-
// Angular v19 or higher defaults to true, while lower versions default to false
|
|
18
|
-
setStandaloneFalse: angularMajorVersion >= 19,
|
|
19
|
-
setStandaloneTrue: angularMajorVersion < 19,
|
|
20
15
|
componentType,
|
|
21
16
|
componentFileSuffix,
|
|
22
17
|
entryModuleFileName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-host-app-routes.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/update-host-app-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"update-host-app-routes.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-mf/lib/update-host-app-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,QAmEzE"}
|
|
@@ -3,20 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.updateHostAppRoutes = updateHostAppRoutes;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const route_utils_1 = require("../../../utils/nx-devkit/route-utils");
|
|
6
|
+
const zoneless_1 = require("../../../utils/zoneless");
|
|
6
7
|
function updateHostAppRoutes(tree, options) {
|
|
7
|
-
const
|
|
8
|
+
const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
8
9
|
const { appComponentInfo, nxWelcomeComponentInfo } = options;
|
|
9
|
-
|
|
10
|
+
const zoneless = (0, zoneless_1.isZonelessApp)(project);
|
|
11
|
+
tree.write((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app', `${appComponentInfo.extensionlessFileName}.html`), `<ul class="remote-menu">
|
|
10
12
|
<li><a routerLink="/">Home</a></li>
|
|
11
13
|
</ul>
|
|
12
14
|
<router-outlet></router-outlet>
|
|
13
15
|
`);
|
|
14
|
-
let pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.routes.ts');
|
|
16
|
+
let pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.routes.ts');
|
|
15
17
|
if (!tree.exists(pathToHostRootRoutingFile)) {
|
|
16
|
-
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app-routing.module.ts');
|
|
18
|
+
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-routing.module.ts');
|
|
17
19
|
}
|
|
18
20
|
if (!tree.exists(pathToHostRootRoutingFile)) {
|
|
19
|
-
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app-routing-module.ts');
|
|
21
|
+
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-routing-module.ts');
|
|
20
22
|
}
|
|
21
23
|
(0, route_utils_1.addRoute)(tree, pathToHostRootRoutingFile, `{
|
|
22
24
|
path: '',
|
|
@@ -24,13 +26,14 @@ function updateHostAppRoutes(tree, options) {
|
|
|
24
26
|
}`);
|
|
25
27
|
tree.write(pathToHostRootRoutingFile, `import { ${nxWelcomeComponentInfo.symbolName} } from './${nxWelcomeComponentInfo.extensionlessFileName}';
|
|
26
28
|
${tree.read(pathToHostRootRoutingFile, 'utf-8')}`);
|
|
27
|
-
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/host-files'), (0, devkit_1.joinPathFragments)(sourceRoot, 'app'), {
|
|
29
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/host-files'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app'), {
|
|
28
30
|
appName: options.appName,
|
|
29
31
|
standalone: options.standalone,
|
|
30
32
|
appFileName: appComponentInfo.extensionlessFileName,
|
|
31
33
|
appSymbolName: appComponentInfo.symbolName,
|
|
32
34
|
nxWelcomeFileName: nxWelcomeComponentInfo.extensionlessFileName,
|
|
33
35
|
nxWelcomeSymbolName: nxWelcomeComponentInfo.symbolName,
|
|
36
|
+
zoneless,
|
|
34
37
|
tmpl: '',
|
|
35
38
|
});
|
|
36
39
|
}
|
|
@@ -50,10 +50,10 @@ app.use('/**', (req, res, next) => {
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
* Start the server if this module is the main entry point.
|
|
53
|
+
* Start the server if this module is the main entry point, or it is ran via PM2.
|
|
54
54
|
* The server listens on the port defined by the `PORT` environment variable, or defaults to <%= serverPort %>.
|
|
55
55
|
*/
|
|
56
|
-
if (isMainModule(import.meta.url)) {
|
|
56
|
+
if (isMainModule(import.meta.url) || process.env['pm_id']) {
|
|
57
57
|
const port = process.env['PORT'] || <%= serverPort %>;
|
|
58
58
|
app.listen(port, () => {
|
|
59
59
|
console.log(`Node Express server listening on http://localhost:${port}`);
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
<%_ if (!zoneless && angularMajorVersion < 21) { _%>
|
|
1
2
|
import 'zone.js/node';
|
|
2
3
|
|
|
4
|
+
<%_ } _%>
|
|
3
5
|
import { APP_BASE_HREF } from '@angular/common';
|
|
4
6
|
import { CommonEngine } from '@angular/ssr/node';
|
|
7
|
+
<%_ if (useDefaultImport) { _%>
|
|
8
|
+
import express from 'express';
|
|
9
|
+
<%_ } else { _%>
|
|
5
10
|
import * as express from 'express';
|
|
11
|
+
<%_ } _%>
|
|
6
12
|
import { existsSync } from 'node:fs';
|
|
7
13
|
import { join } from 'node:path';
|
|
8
14
|
import <% if (standalone) { %>bootstrap<% } else { %><%= rootModuleClassName %><% } %> from './<%= main.slice(0, -3) %>';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-hydration.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/add-hydration.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add-hydration.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/add-hydration.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAK5D,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,QA0E3E"}
|
|
@@ -6,7 +6,6 @@ const js_1 = require("@nx/js");
|
|
|
6
6
|
const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
|
|
7
7
|
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
|
8
8
|
const ast_utils_1 = require("../../../utils/nx-devkit/ast-utils");
|
|
9
|
-
const version_utils_1 = require("../../utils/version-utils");
|
|
10
9
|
let tsModule;
|
|
11
10
|
let tsquery;
|
|
12
11
|
function addHydration(tree, options) {
|
|
@@ -35,14 +34,9 @@ function addHydration(tree, options) {
|
|
|
35
34
|
const addImport = (source, symbolName, packageName, filePath, isDefault = false) => {
|
|
36
35
|
return (0, js_1.insertImport)(tree, source, filePath, symbolName, packageName, isDefault);
|
|
37
36
|
};
|
|
38
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
39
37
|
sourceFile = addImport(sourceFile, 'provideClientHydration', '@angular/platform-browser', pathToClientConfigFile);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
const provider = angularMajorVersion >= 19
|
|
44
|
-
? 'provideClientHydration(withEventReplay())'
|
|
45
|
-
: 'provideClientHydration()';
|
|
38
|
+
sourceFile = addImport(sourceFile, 'withEventReplay', '@angular/platform-browser', pathToClientConfigFile);
|
|
39
|
+
const provider = 'provideClientHydration(withEventReplay())';
|
|
46
40
|
if (options.standalone) {
|
|
47
41
|
(0, ast_utils_1.addProviderToAppConfig)(tree, pathToClientConfigFile, provider);
|
|
48
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-server-file.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/add-server-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add-server-file.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/add-server-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAG5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,QA0C5E"}
|
|
@@ -4,6 +4,7 @@ exports.addServerFile = addServerFile;
|
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
+
const zoneless_1 = require("../../../utils/zoneless");
|
|
7
8
|
const version_utils_1 = require("../../utils/version-utils");
|
|
8
9
|
const constants_1 = require("./constants");
|
|
9
10
|
function addServerFile(tree, options) {
|
|
@@ -20,21 +21,20 @@ function addServerFile(tree, options) {
|
|
|
20
21
|
? 'application-builder'
|
|
21
22
|
: 'server-builder', 'server');
|
|
22
23
|
}
|
|
23
|
-
else
|
|
24
|
+
else {
|
|
24
25
|
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', options.isUsingApplicationBuilder
|
|
25
26
|
? 'application-builder' +
|
|
26
27
|
(options.serverRouting ? '' : '-common-engine')
|
|
27
28
|
: 'server-builder', 'server');
|
|
28
29
|
}
|
|
29
|
-
else {
|
|
30
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'pre-v19', 'server', options.isUsingApplicationBuilder
|
|
31
|
-
? 'application-builder'
|
|
32
|
-
: 'server-builder');
|
|
33
|
-
}
|
|
34
30
|
const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(project, tree);
|
|
35
|
-
(0,
|
|
31
|
+
const zoneless = (0, zoneless_1.isZonelessApp)(project);
|
|
32
|
+
(0, devkit_1.generateFiles)(tree, pathToFiles, sourceRoot, {
|
|
36
33
|
...options,
|
|
37
34
|
browserDistDirectory,
|
|
35
|
+
zoneless,
|
|
36
|
+
useDefaultImport: angularMajorVersion >= 21,
|
|
37
|
+
angularMajorVersion,
|
|
38
38
|
tpl: '',
|
|
39
39
|
});
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAgBvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"generate-files.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAgBvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QAyEpC"}
|
|
@@ -24,14 +24,11 @@ function generateSSRFiles(tree, options) {
|
|
|
24
24
|
? 'application-builder'
|
|
25
25
|
: 'server-builder', options.standalone ? 'standalone-src' : 'ngmodule-src');
|
|
26
26
|
}
|
|
27
|
-
else
|
|
27
|
+
else {
|
|
28
28
|
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', options.isUsingApplicationBuilder
|
|
29
29
|
? 'application-builder'
|
|
30
30
|
: 'server-builder', options.standalone ? 'standalone-src' : 'ngmodule-src');
|
|
31
31
|
}
|
|
32
|
-
else {
|
|
33
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'pre-v19', options.standalone ? 'standalone-src' : 'ngmodule-src');
|
|
34
|
-
}
|
|
35
32
|
const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(project, tree);
|
|
36
33
|
const ssrVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, '@angular/ssr');
|
|
37
34
|
const cleanedSsrVersion = ssrVersion
|
|
@@ -44,9 +41,7 @@ function generateSSRFiles(tree, options) {
|
|
|
44
41
|
// https://github.com/angular/angular-cli/releases/tag/20.3.0
|
|
45
42
|
(0, semver_1.gte)(angularVersion, '20.3.0') ||
|
|
46
43
|
// https://github.com/angular/angular-cli/releases/tag/19.2.16
|
|
47
|
-
(angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16'))
|
|
48
|
-
// https://github.com/angular/angular-cli/releases/tag/18.2.21
|
|
49
|
-
(angularMajorVersion === 18 && (0, semver_1.gte)(angularVersion, '18.2.21'));
|
|
44
|
+
(angularMajorVersion === 19 && (0, semver_1.gte)(angularVersion, '19.2.16'));
|
|
50
45
|
(0, devkit_1.generateFiles)(tree, pathToFiles, sourceRoot, {
|
|
51
46
|
...options,
|
|
52
47
|
provideServerRoutingFn: !cleanedSsrVersion || (0, semver_1.gte)(cleanedSsrVersion, '19.2.0')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-server-ts-config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-server-ts-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-server-ts-config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/generate-server-ts-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAKpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAE5D,wBAAgB,6CAA6C,CAC3D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QAuBpC;AAED,wBAAgB,2CAA2C,CACzD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QA8EpC"}
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.setServerTsConfigOptionsForApplicationBuilder = setServerTsConfigOptionsForApplicationBuilder;
|
|
4
4
|
exports.generateTsConfigServerJsonForBrowserBuilder = generateTsConfigServerJsonForBrowserBuilder;
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
|
|
6
7
|
const path_1 = require("path");
|
|
8
|
+
const tsconfig_utils_1 = require("../../utils/tsconfig-utils");
|
|
7
9
|
const version_utils_1 = require("../../utils/version-utils");
|
|
8
10
|
function setServerTsConfigOptionsForApplicationBuilder(tree, options) {
|
|
9
11
|
const { targets } = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
@@ -17,15 +19,9 @@ function setServerTsConfigOptionsForApplicationBuilder(tree, options) {
|
|
|
17
19
|
// server file is already included, no need to add it
|
|
18
20
|
return json;
|
|
19
21
|
}
|
|
20
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
21
22
|
const files = new Set(json.files ?? []);
|
|
22
23
|
files.add((0, devkit_1.joinPathFragments)('src', options.main));
|
|
23
|
-
|
|
24
|
-
files.add((0, devkit_1.joinPathFragments)('src', options.serverFileName));
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
files.add((0, devkit_1.joinPathFragments)(options.serverFileName));
|
|
28
|
-
}
|
|
24
|
+
files.add((0, devkit_1.joinPathFragments)('src', options.serverFileName));
|
|
29
25
|
json.files = Array.from(files);
|
|
30
26
|
return json;
|
|
31
27
|
});
|
|
@@ -41,11 +37,8 @@ function generateTsConfigServerJsonForBrowserBuilder(tree, options) {
|
|
|
41
37
|
if (angularMajorVersion >= 20) {
|
|
42
38
|
pathToFiles = (0, path_1.join)(baseFilesPath, 'v20+', 'server-builder', 'root');
|
|
43
39
|
}
|
|
44
|
-
else if (angularMajorVersion === 19) {
|
|
45
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', 'server-builder', 'root');
|
|
46
|
-
}
|
|
47
40
|
else {
|
|
48
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, '
|
|
41
|
+
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', 'server-builder', 'root');
|
|
49
42
|
}
|
|
50
43
|
(0, devkit_1.generateFiles)(tree, pathToFiles, project.root, {
|
|
51
44
|
...options,
|
|
@@ -53,10 +46,11 @@ function generateTsConfigServerJsonForBrowserBuilder(tree, options) {
|
|
|
53
46
|
hasLocalizePackage,
|
|
54
47
|
tpl: '',
|
|
55
48
|
});
|
|
49
|
+
const tsconfigServerPath = (0, devkit_1.joinPathFragments)(project.root, 'tsconfig.server.json');
|
|
56
50
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(project.root, 'tsconfig.json'), (json) => {
|
|
57
51
|
json.references ??= [];
|
|
58
52
|
json.references.push({
|
|
59
|
-
path:
|
|
53
|
+
path: tsconfigServerPath,
|
|
60
54
|
});
|
|
61
55
|
return json;
|
|
62
56
|
});
|
|
@@ -72,4 +66,24 @@ function generateTsConfigServerJsonForBrowserBuilder(tree, options) {
|
|
|
72
66
|
return json;
|
|
73
67
|
});
|
|
74
68
|
}
|
|
69
|
+
if (angularMajorVersion >= 21) {
|
|
70
|
+
// remove module and moduleResolution from tsconfig.server.json
|
|
71
|
+
(0, devkit_1.updateJson)(tree, tsconfigServerPath, (json) => {
|
|
72
|
+
delete json.compilerOptions.module;
|
|
73
|
+
delete json.compilerOptions.moduleResolution;
|
|
74
|
+
return json;
|
|
75
|
+
});
|
|
76
|
+
// read the parsed compiler options from tsconfig.server.json
|
|
77
|
+
const compilerOptions = (0, tsconfig_utils_1.readCompilerOptionsFromTsConfig)(tree, tsconfigServerPath);
|
|
78
|
+
const ts = (0, ensure_typescript_1.ensureTypescript)();
|
|
79
|
+
if (compilerOptions.module === ts.ModuleKind.Preserve &&
|
|
80
|
+
compilerOptions.moduleResolution === ts.ModuleResolutionKind.Bundler) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
(0, devkit_1.updateJson)(tree, tsconfigServerPath, (json) => {
|
|
84
|
+
json.compilerOptions.module = 'preserve';
|
|
85
|
+
json.compilerOptions.moduleResolution = 'bundler';
|
|
86
|
+
return json;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
75
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-options.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/normalize-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEpE,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,0BAA0B,CAAC,
|
|
1
|
+
{"version":3,"file":"normalize-options.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/normalize-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEpE,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,0BAA0B,CAAC,CA+CrC"}
|
|
@@ -21,13 +21,9 @@ async function normalizeOptions(tree, options) {
|
|
|
21
21
|
}, { serverRouting: false }).then(({ serverRouting }) => serverRouting);
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
options.serverRouting =
|
|
24
|
+
options.serverRouting = true;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
else if (options.serverRouting !== undefined &&
|
|
28
|
-
!isUsingApplicationBuilder) {
|
|
29
|
-
throw new Error('Server routing APIs can only be added to a project using `application` builder.');
|
|
30
|
-
}
|
|
31
27
|
const isStandaloneApp = (0, ast_utils_1.isNgStandaloneApp)(tree, options.project);
|
|
32
28
|
return {
|
|
33
29
|
project: options.project,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-project-config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/update-project-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"update-project-config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/setup-ssr/lib/update-project-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAUvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAO5D,wBAAgB,wCAAwC,CACtD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,GAClC,IAAI,CAmDN;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,QAmFpC"}
|