@nx/angular 0.0.0-pr-30715-a5f5e3b → 0.0.0-pr-31313-387cdca
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/fesm2022/nx-angular-mf.mjs.map +1 -1
- package/fesm2022/nx-angular.mjs.map +1 -1
- package/index.d.ts +1 -2
- package/mf/index.d.ts +1 -71
- package/mf/mf.d.ts +69 -0
- package/migrations.json +0 -98
- package/package.json +16 -25
- package/plugins/component-testing.js +3 -8
- package/src/builders/dev-server/dev-server.impl.js +7 -4
- package/src/builders/dev-server/lib/normalize-options.js +6 -0
- package/src/builders/dev-server/lib/validate-options.js +4 -0
- package/src/builders/dev-server/schema.d.ts +15 -3
- package/src/builders/dev-server/schema.json +9 -3
- package/src/builders/webpack-browser/webpack-browser.impl.js +0 -2
- package/src/builders/webpack-server/webpack-server.impl.d.ts +1 -3
- package/src/builders/webpack-server/webpack-server.impl.js +0 -2
- package/src/executors/application/application.impl.d.ts +2 -2
- package/src/executors/application/application.impl.js +6 -11
- package/src/executors/application/schema.d.ts +1 -1
- package/src/executors/application/schema.json +10 -21
- package/src/executors/application/utils/normalize-options.js +1 -8
- package/src/executors/application/utils/validate-options.js +40 -10
- package/src/executors/extract-i18n/extract-i18n.impl.js +14 -6
- package/src/executors/extract-i18n/schema.d.ts +6 -1
- package/src/executors/module-federation-dev-server/lib/normalize-options.js +7 -1
- package/src/executors/module-federation-dev-server/schema.d.ts +15 -3
- package/src/executors/module-federation-dev-server/schema.json +15 -2
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +8 -10
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.d.ts +3 -6
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/entry-point.js +8 -46
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.d.ts +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.di.js +3 -3
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.d.ts +2 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-bundles.transform.js +6 -22
- package/src/executors/ng-packagr-lite/schema.json +3 -2
- package/src/executors/package/package.impl.js +5 -1
- package/src/executors/package/schema.d.ts +1 -3
- package/src/executors/package/schema.json +3 -2
- package/src/executors/utilities/esbuild-extensions.d.ts +1 -2
- package/src/executors/utilities/ng-packagr/package-imports.d.ts +1 -3
- package/src/executors/utilities/ng-packagr/package-imports.js +2 -2
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.d.ts +24 -1
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +105 -12
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +8 -4
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +1 -1
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +11 -18
- package/src/generators/add-linting/add-linting.js +0 -8
- package/src/generators/application/application.js +1 -21
- package/src/generators/application/files/base-pre18/src/favicon.ico +0 -0
- package/src/generators/application/files/ng-module/src/app/app.component.spec.ts__tpl__ +29 -0
- package/src/generators/application/files/ng-module/src/app/{app__componentFileSuffix__.ts__tpl__ → app.component.ts__tpl__} +3 -3
- package/src/generators/application/files/ng-module/src/app/app.module.ts__tpl__ +17 -0
- package/src/generators/application/files/ng-module/src/main.ts__tpl__ +3 -11
- package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/{nx-welcome__componentFileSuffix__.ts__tpl__ → nx-welcome.component.ts__tpl__} +1 -1
- package/src/generators/application/files/standalone-components/src/app/app.component.__style__ +0 -0
- package/src/generators/application/files/standalone-components/src/app/app.component.spec.ts__tpl__ +28 -0
- package/src/generators/application/files/standalone-components/src/app/{app__componentFileSuffix__.ts__tpl__ → app.component.ts__tpl__} +5 -5
- package/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +2 -6
- package/src/generators/application/files/standalone-components/src/main.ts__tpl__ +2 -2
- package/src/generators/application/lib/create-files.d.ts +1 -1
- package/src/generators/application/lib/create-files.js +14 -15
- package/src/generators/application/lib/create-project.d.ts +1 -1
- package/src/generators/application/lib/create-project.js +26 -119
- package/src/generators/application/lib/enable-strict-type-checking.js +0 -3
- package/src/generators/application/schema.json +1 -1
- package/src/generators/component/component.js +2 -13
- package/src/generators/component/files/__fileName__.ts__tpl__ +1 -1
- package/src/generators/component/lib/component.js +1 -11
- package/src/generators/component/lib/module.d.ts +2 -7
- package/src/generators/component/lib/module.js +5 -7
- package/src/generators/component/lib/normalize-options.js +3 -7
- package/src/generators/component/schema.d.ts +0 -1
- package/src/generators/component/schema.json +2 -6
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +22 -19
- package/src/generators/convert-to-rspack/convert-to-rspack.js +2 -6
- package/src/generators/convert-to-rspack/lib/get-custom-webpack-config.js +1 -1
- package/src/generators/directive/directive.js +1 -1
- package/src/generators/directive/lib/normalize-options.js +2 -7
- package/src/generators/directive/schema.d.ts +0 -1
- package/src/generators/directive/schema.json +2 -10
- package/src/generators/host/host.js +21 -1
- package/src/generators/host/schema.d.ts +1 -0
- package/src/generators/host/schema.json +7 -1
- package/src/generators/init/init.js +1 -1
- package/src/generators/library/files/ng-module/src/index.ts__tpl__ +1 -1
- package/src/generators/library/files/standalone-components/src/lib/lib.routes.ts__tpl__ +2 -2
- package/src/generators/library/lib/add-standalone-component.js +0 -1
- package/src/generators/library/lib/create-files.js +1 -10
- package/src/generators/library/lib/enable-strict-type-checking.d.ts +1 -1
- package/src/generators/library/lib/enable-strict-type-checking.js +0 -3
- package/src/generators/library/lib/normalize-options.d.ts +3 -3
- package/src/generators/library/lib/normalize-options.js +1 -6
- package/src/generators/library/lib/normalized-schema.d.ts +0 -2
- package/src/generators/library-secondary-entry-point/files/src/index.ts__tmpl__ +1 -1
- package/src/generators/library-secondary-entry-point/lib/add-files.js +1 -2
- package/src/generators/library-secondary-entry-point/lib/normalize-options.d.ts +2 -2
- package/src/generators/library-secondary-entry-point/lib/normalize-options.js +0 -3
- package/src/generators/library-secondary-entry-point/schema.d.ts +0 -1
- package/src/generators/move/lib/update-module-name.js +10 -17
- package/src/generators/move/lib/update-secondary-entry-points.js +3 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +1 -1
- package/src/generators/ng-add/migrators/projects/app.migrator.js +8 -43
- package/src/generators/ngrx/schema.json +3 -3
- package/src/generators/ngrx-root-store/lib/normalize-options.js +2 -9
- package/src/generators/pipe/lib/normalize-options.js +0 -4
- package/src/generators/pipe/pipe.js +1 -1
- package/src/generators/pipe/schema.d.ts +0 -1
- package/src/generators/pipe/schema.json +2 -11
- package/src/generators/remote/files/standalone/src/bootstrap.server.ts__tmpl__ +4 -4
- package/src/generators/remote/lib/update-ssr-setup.js +0 -5
- package/src/generators/remote/remote.js +23 -0
- package/src/generators/remote/schema.d.ts +1 -0
- package/src/generators/remote/schema.json +7 -1
- package/src/generators/scam/lib/convert-component-to-scam.js +3 -1
- package/src/generators/scam/lib/normalize-options.js +3 -11
- package/src/generators/scam/schema.d.ts +0 -1
- package/src/generators/scam/schema.json +2 -1
- package/src/generators/scam-directive/lib/convert-directive-to-scam.js +3 -1
- package/src/generators/scam-directive/lib/normalize-options.js +2 -11
- package/src/generators/scam-directive/schema.d.ts +0 -2
- package/src/generators/scam-directive/schema.json +2 -10
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +3 -1
- package/src/generators/scam-pipe/lib/normalize-options.js +0 -8
- package/src/generators/scam-pipe/schema.d.ts +0 -2
- package/src/generators/scam-pipe/schema.json +0 -5
- package/src/generators/setup-mf/files/entry-module-files/{entry__componentFileSuffix__.ts__tmpl__ → entry.component.ts__tmpl__} +1 -1
- package/src/generators/setup-mf/files/entry-module-files/{__entryModuleFileName__.ts__tmpl__ → entry.module.ts__tmpl__} +4 -4
- package/src/generators/setup-mf/files/entry-module-files/entry.routes.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/files/host-files/app.component.spec.ts__tmpl__ +47 -0
- package/src/generators/setup-mf/files/standalone-entry-component-files/{entry__componentFileSuffix__.ts__tmpl__ → entry.component.ts__tmpl__} +3 -3
- package/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/files/ts-webpack/module-federation.config.ts__tmpl__ +1 -1
- package/src/generators/setup-mf/files/ts-webpack/tsconfig.lint.json__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-entry.d.ts +2 -2
- package/src/generators/setup-mf/lib/add-remote-entry.js +3 -9
- package/src/generators/setup-mf/lib/add-remote-to-host.js +1 -11
- package/src/generators/setup-mf/lib/fix-bootstrap.d.ts +2 -2
- package/src/generators/setup-mf/lib/fix-bootstrap.js +4 -4
- package/src/generators/setup-mf/lib/generate-config.d.ts +2 -2
- package/src/generators/setup-mf/lib/generate-config.js +0 -1
- package/src/generators/setup-mf/lib/normalize-options.d.ts +1 -1
- package/src/generators/setup-mf/lib/normalize-options.js +0 -13
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +2 -2
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +14 -18
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +5 -1
- package/src/generators/setup-mf/lib/setup-tspath-for-remote.d.ts +2 -2
- package/src/generators/setup-mf/lib/setup-tspath-for-remote.js +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.d.ts +2 -2
- package/src/generators/setup-mf/lib/update-host-app-routes.js +9 -12
- package/src/generators/setup-mf/lib/update-tsconfig.d.ts +2 -2
- package/src/generators/setup-mf/lib/update-tsconfig.js +5 -5
- package/src/generators/setup-mf/schema.d.ts +0 -7
- package/src/generators/setup-ssr/lib/add-dependencies.js +7 -4
- package/src/generators/setup-ssr/lib/add-hydration.js +3 -10
- package/src/generators/setup-ssr/lib/add-server-file.js +2 -7
- package/src/generators/setup-ssr/lib/generate-files.js +4 -17
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +2 -5
- package/src/generators/setup-ssr/lib/normalize-options.js +2 -2
- package/src/generators/setup-ssr/lib/update-project-config.js +0 -5
- package/src/generators/setup-ssr/lib/validate-options.js +2 -2
- package/src/generators/setup-ssr/schema.json +1 -1
- package/src/generators/utils/add-jest.js +1 -6
- package/src/generators/utils/assert-mf-utils.d.ts +1 -0
- package/src/generators/utils/assert-mf-utils.js +11 -0
- package/src/generators/utils/ensure-angular-dependencies.js +3 -6
- package/src/generators/utils/export-scam.d.ts +0 -1
- package/src/generators/utils/export-scam.js +2 -1
- package/src/generators/utils/find-module.js +13 -18
- package/src/generators/utils/storybook-ast/component-info.js +24 -40
- package/src/generators/utils/storybook-ast/module-info.d.ts +1 -1
- package/src/generators/utils/storybook-ast/module-info.js +8 -3
- package/src/generators/utils/testing.js +28 -28
- package/src/generators/utils/version-utils.js +2 -2
- package/src/generators/web-worker/lib/add-snippet.js +3 -3
- package/src/plugins/plugin.js +13 -22
- package/src/utils/backward-compatible-versions.d.ts +2 -2
- package/src/utils/backward-compatible-versions.js +21 -20
- package/src/utils/nx-devkit/ast-utils.js +3 -17
- package/src/utils/nx-devkit/testing.js +9 -9
- package/src/utils/versions.d.ts +4 -3
- package/src/utils/versions.js +5 -4
- package/src/executors/utilities/builder-package.d.ts +0 -1
- package/src/executors/utilities/builder-package.js +0 -11
- package/src/generators/application/files/ng-module/src/app/app__componentFileSuffix__.spec.ts__tpl__ +0 -28
- package/src/generators/application/files/ng-module/src/app/app__moduleTypeSeparator__module.ts__tpl__ +0 -17
- package/src/generators/application/files/standalone-components/src/app/app__componentFileSuffix__.spec.ts__tpl__ +0 -27
- package/src/generators/setup-mf/files/host-files/__appFileName__.spec.ts__tmpl__ +0 -43
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/__main__ +0 -1
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/__rootModuleFileName__ +0 -12
- package/src/generators/setup-ssr/files/v20+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +0 -8
- package/src/generators/setup-ssr/files/v20+/application-builder/server/__serverFileName__ +0 -66
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/__main__ +0 -7
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +0 -12
- package/src/generators/setup-ssr/files/v20+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +0 -8
- package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/__main__ +0 -1
- package/src/generators/setup-ssr/files/v20+/server-builder/ngmodule-src/app/__rootModuleFileName__ +0 -14
- package/src/generators/setup-ssr/files/v20+/server-builder/root/tsconfig.server.json.template +0 -16
- package/src/generators/setup-ssr/files/v20+/server-builder/server/__serverFileName__ +0 -69
- package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/__main__ +0 -7
- package/src/generators/setup-ssr/files/v20+/server-builder/standalone-src/app/app.config.server.ts.template +0 -11
- package/src/generators/utils/app-components-info.d.ts +0 -9
- package/src/generators/utils/app-components-info.js +0 -39
- package/src/generators/utils/artifact-types.d.ts +0 -3
- package/src/generators/utils/artifact-types.js +0 -33
- package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.d.ts +0 -2
- package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.js +0 -110
- package/src/migrations/update-21-2-0/replace-provide-server-routing.d.ts +0 -2
- package/src/migrations/update-21-2-0/replace-provide-server-routing.js +0 -103
- package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.d.ts +0 -2
- package/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.js +0 -47
- package/src/migrations/update-21-2-0/update-angular-cli.d.ts +0 -3
- package/src/migrations/update-21-2-0/update-angular-cli.js +0 -23
- /package/src/generators/application/files/{base → base-18+}/public/favicon.ico +0 -0
- /package/src/generators/application/files/{ng-module/src/app/app__componentFileSuffix__.__style__ → base-pre18/src/assets/.gitkeep__tpl__} +0 -0
- /package/src/generators/application/files/{standalone-components/src/app/app__componentFileSuffix__.__style__ → ng-module/src/app/app.component.__style__} +0 -0
- /package/src/generators/application/files/ng-module/src/app/{app__componentFileSuffix__.html__tpl__ → app.component.html__tpl__} +0 -0
- /package/src/generators/application/files/standalone-components/src/app/{app__componentFileSuffix__.html__tpl__ → app.component.html__tpl__} +0 -0
- /package/src/generators/component/files/{__fileName____ngext__.html__tpl__ → __fileName__.html__tpl__} +0 -0
- /package/src/generators/library/files/ng-module/src/lib/{__libFileName____moduleTypeSeparator__module.ts__tpl__ → __libFileName__.module.ts__tpl__} +0 -0
- /package/src/generators/library-secondary-entry-point/files/src/lib/{__fileName____moduleTypeSeparator__module.ts__tmpl__ → __fileName__.module.ts__tmpl__} +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/app/app.config.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/application-builder-common-engine/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/ngmodule-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/ngmodule-src/app/__rootModuleFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/root/tsconfig.server.json.template +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/server/__serverFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/standalone-src/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{v19 → v19+}/server-builder/standalone-src/app/app.config.server.ts.template +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
|
-
import
|
|
3
|
-
export declare function removeDeadCodeFromRemote(tree: Tree, options:
|
|
2
|
+
import { Schema } from '../schema';
|
|
3
|
+
export declare function removeDeadCodeFromRemote(tree: Tree, options: Schema): void;
|
|
@@ -5,50 +5,46 @@ const devkit_1 = require("@nx/devkit");
|
|
|
5
5
|
function removeDeadCodeFromRemote(tree, options) {
|
|
6
6
|
const projectName = options.appName;
|
|
7
7
|
const project = (0, devkit_1.readProjectConfiguration)(tree, projectName);
|
|
8
|
-
const { appComponentInfo, nxWelcomeComponentInfo, entryModuleFileName } = options;
|
|
9
8
|
['css', 'less', 'scss', 'sass'].forEach((style) => {
|
|
10
|
-
const pathToComponentStyle = (0, devkit_1.joinPathFragments)(project.sourceRoot, `app
|
|
9
|
+
const pathToComponentStyle = (0, devkit_1.joinPathFragments)(project.sourceRoot, `app/app.component.${style}`);
|
|
11
10
|
if (tree.exists(pathToComponentStyle)) {
|
|
12
11
|
tree.delete(pathToComponentStyle);
|
|
13
12
|
}
|
|
14
13
|
});
|
|
15
|
-
tree.rename(
|
|
16
|
-
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot,
|
|
17
|
-
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot,
|
|
14
|
+
tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/nx-welcome.component.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/remote-entry/nx-welcome.component.ts'));
|
|
15
|
+
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.spec.ts'));
|
|
16
|
+
tree.delete((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.html'));
|
|
17
|
+
const pathToAppComponent = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.component.ts');
|
|
18
18
|
if (!options.standalone) {
|
|
19
|
-
const componentContents = tree.read(
|
|
19
|
+
const componentContents = tree.read(pathToAppComponent, 'utf-8');
|
|
20
20
|
const isInlineTemplate = !componentContents.includes('templateUrl');
|
|
21
21
|
const component = componentContents.split(isInlineTemplate ? 'template' : 'templateUrl')[0] +
|
|
22
22
|
`template: '<router-outlet></router-outlet>'
|
|
23
23
|
|
|
24
24
|
})
|
|
25
|
-
export class
|
|
26
|
-
tree.write(
|
|
27
|
-
|
|
28
|
-
if (!tree.exists(modulePath)) {
|
|
29
|
-
modulePath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app-module.ts');
|
|
30
|
-
}
|
|
31
|
-
tree.write(modulePath, `import { NgModule } from '@angular/core';
|
|
25
|
+
export class AppComponent {}`;
|
|
26
|
+
tree.write(pathToAppComponent, component);
|
|
27
|
+
tree.write((0, devkit_1.joinPathFragments)(project.sourceRoot, 'app/app.module.ts'), `import { NgModule } from '@angular/core';
|
|
32
28
|
import { BrowserModule } from '@angular/platform-browser';
|
|
33
29
|
import { RouterModule } from '@angular/router';
|
|
34
|
-
import {
|
|
30
|
+
import { AppComponent } from './app.component';
|
|
35
31
|
|
|
36
32
|
@NgModule({
|
|
37
|
-
declarations: [
|
|
33
|
+
declarations: [AppComponent],
|
|
38
34
|
imports: [
|
|
39
35
|
BrowserModule,
|
|
40
36
|
RouterModule.forRoot([{
|
|
41
37
|
path: '',
|
|
42
|
-
loadChildren: () => import('./remote-entry
|
|
38
|
+
loadChildren: () => import('./remote-entry/entry.module').then(m => m.RemoteEntryModule)
|
|
43
39
|
}], { initialNavigation: 'enabledBlocking' }),
|
|
44
40
|
],
|
|
45
41
|
providers: [],
|
|
46
|
-
bootstrap: [
|
|
42
|
+
bootstrap: [AppComponent],
|
|
47
43
|
})
|
|
48
44
|
export class AppModule {}`);
|
|
49
45
|
}
|
|
50
46
|
else {
|
|
51
|
-
tree.delete(
|
|
47
|
+
tree.delete(pathToAppComponent);
|
|
52
48
|
const pathToIndexHtml = project.targets.build.options.index;
|
|
53
49
|
const indexContents = tree.read(pathToIndexHtml, 'utf-8');
|
|
54
50
|
const rootSelectorRegex = new RegExp(`${options.prefix || 'app'}-root`, 'ig');
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupHostIfDynamic = setupHostIfDynamic;
|
|
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
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function setupTspathForRemote(tree: Tree, options:
|
|
2
|
+
import type { Schema } from '../schema';
|
|
3
|
+
export declare function setupTspathForRemote(tree: Tree, options: Schema): void;
|
|
@@ -7,7 +7,7 @@ function setupTspathForRemote(tree, options) {
|
|
|
7
7
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
8
8
|
const exportPath = options.standalone
|
|
9
9
|
? `./src/app/remote-entry/entry.routes.ts`
|
|
10
|
-
: `./src/app/remote-entry
|
|
10
|
+
: `./src/app/remote-entry/entry.module.ts`;
|
|
11
11
|
const exportName = options.standalone ? 'Routes' : 'Module';
|
|
12
12
|
(0, js_1.addTsConfigPath)(tree, `${options.appName.replace(/-/g, '_')}/${exportName}`, [
|
|
13
13
|
(0, devkit_1.joinPathFragments)(project.root, exportPath),
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type Tree } from '@nx/devkit';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function updateHostAppRoutes(tree: Tree, options:
|
|
2
|
+
import type { Schema } from '../schema';
|
|
3
|
+
export declare function updateHostAppRoutes(tree: Tree, options: Schema): void;
|
|
@@ -3,34 +3,31 @@ 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 version_utils_1 = require("../../utils/version-utils");
|
|
6
7
|
function updateHostAppRoutes(tree, options) {
|
|
7
8
|
const { sourceRoot } = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
|
|
8
|
-
|
|
9
|
-
tree.write((0, devkit_1.joinPathFragments)(sourceRoot, 'app', `${appComponentInfo.extensionlessFileName}.html`), `<ul class="remote-menu">
|
|
9
|
+
tree.write((0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.component.html'), `<ul class="remote-menu">
|
|
10
10
|
<li><a routerLink="/">Home</a></li>
|
|
11
11
|
</ul>
|
|
12
12
|
<router-outlet></router-outlet>
|
|
13
13
|
`);
|
|
14
14
|
let pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.routes.ts');
|
|
15
|
-
|
|
15
|
+
let hostRootRoutingFile = tree.read(pathToHostRootRoutingFile, 'utf-8');
|
|
16
|
+
if (!hostRootRoutingFile) {
|
|
16
17
|
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app-routing.module.ts');
|
|
17
|
-
|
|
18
|
-
if (!tree.exists(pathToHostRootRoutingFile)) {
|
|
19
|
-
pathToHostRootRoutingFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'app/app-routing-module.ts');
|
|
18
|
+
hostRootRoutingFile = tree.read(pathToHostRootRoutingFile, 'utf-8');
|
|
20
19
|
}
|
|
21
20
|
(0, route_utils_1.addRoute)(tree, pathToHostRootRoutingFile, `{
|
|
22
21
|
path: '',
|
|
23
|
-
component:
|
|
22
|
+
component: NxWelcomeComponent
|
|
24
23
|
}`);
|
|
25
|
-
tree.write(pathToHostRootRoutingFile, `import {
|
|
24
|
+
tree.write(pathToHostRootRoutingFile, `import { NxWelcomeComponent } from './nx-welcome.component';
|
|
26
25
|
${tree.read(pathToHostRootRoutingFile, 'utf-8')}`);
|
|
26
|
+
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
27
27
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/host-files'), (0, devkit_1.joinPathFragments)(sourceRoot, 'app'), {
|
|
28
28
|
appName: options.appName,
|
|
29
29
|
standalone: options.standalone,
|
|
30
|
-
|
|
31
|
-
appSymbolName: appComponentInfo.symbolName,
|
|
32
|
-
nxWelcomeFileName: nxWelcomeComponentInfo.extensionlessFileName,
|
|
33
|
-
nxWelcomeSymbolName: nxWelcomeComponentInfo.symbolName,
|
|
30
|
+
useRouterTestingModule: angularMajorVersion < 18,
|
|
34
31
|
tmpl: '',
|
|
35
32
|
});
|
|
36
33
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Tree } from '@nx/devkit';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function updateTsConfig(tree: Tree,
|
|
2
|
+
import type { Schema } from '../schema';
|
|
3
|
+
export declare function updateTsConfig(tree: Tree, schema: Schema): void;
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateTsConfig = updateTsConfig;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
-
function updateTsConfig(tree,
|
|
6
|
-
const { root } = (0, devkit_1.readProjectConfiguration)(tree,
|
|
5
|
+
function updateTsConfig(tree, schema) {
|
|
6
|
+
const { root } = (0, devkit_1.readProjectConfiguration)(tree, schema.appName);
|
|
7
7
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(root, `tsconfig.app.json`), (json) => {
|
|
8
8
|
json.compilerOptions ??= {};
|
|
9
9
|
json.compilerOptions.target = 'ES2020';
|
|
10
|
-
if (
|
|
10
|
+
if (schema.mfType === 'remote') {
|
|
11
11
|
json.files ??= [];
|
|
12
|
-
json.files.push(
|
|
12
|
+
json.files.push(schema.standalone
|
|
13
13
|
? 'src/app/remote-entry/entry.routes.ts'
|
|
14
|
-
:
|
|
14
|
+
: 'src/app/remote-entry/entry.module.ts');
|
|
15
15
|
}
|
|
16
16
|
return json;
|
|
17
17
|
});
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { ComponentMetadata } from '../utils/app-components-info';
|
|
2
|
-
|
|
3
1
|
type FederationType = 'static' | 'dynamic';
|
|
4
2
|
|
|
5
3
|
export interface Schema {
|
|
@@ -23,9 +21,4 @@ export interface Schema {
|
|
|
23
21
|
export interface NormalizedOptions extends Schema {
|
|
24
22
|
federationType: FederationType;
|
|
25
23
|
prefix: string | undefined;
|
|
26
|
-
componentType: string;
|
|
27
|
-
componentFileSuffix: string;
|
|
28
|
-
entryModuleFileName: string;
|
|
29
|
-
appComponentInfo: ComponentMetadata;
|
|
30
|
-
nxWelcomeComponentInfo: ComponentMetadata;
|
|
31
24
|
}
|
|
@@ -2,20 +2,23 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addDependencies = addDependencies;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const semver_1 = require("semver");
|
|
5
6
|
const version_utils_1 = require("../../utils/version-utils");
|
|
6
7
|
function addDependencies(tree, isUsingApplicationBuilder) {
|
|
7
8
|
const pkgVersions = (0, version_utils_1.versions)(tree);
|
|
9
|
+
const { version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
8
10
|
const dependencies = {
|
|
9
|
-
'@angular/platform-server': (0, version_utils_1.
|
|
10
|
-
pkgVersions.angularVersion,
|
|
11
|
+
'@angular/platform-server': (0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@angular/platform-server')
|
|
12
|
+
?.version ?? pkgVersions.angularVersion,
|
|
11
13
|
express: pkgVersions.expressVersion,
|
|
12
14
|
};
|
|
13
15
|
const devDependencies = {
|
|
14
16
|
'@types/express': pkgVersions.typesExpressVersion,
|
|
15
17
|
};
|
|
16
18
|
dependencies['@angular/ssr'] =
|
|
17
|
-
(0, version_utils_1.
|
|
18
|
-
|
|
19
|
+
(0, version_utils_1.getInstalledPackageVersionInfo)(tree, '@angular-devkit/build-angular')
|
|
20
|
+
?.version ?? pkgVersions.angularDevkitVersion;
|
|
21
|
+
if (!isUsingApplicationBuilder && (0, semver_1.gte)(angularVersion, '17.1.0')) {
|
|
19
22
|
devDependencies['browser-sync'] = pkgVersions.browserSyncVersion;
|
|
20
23
|
}
|
|
21
24
|
(0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
|
|
@@ -14,16 +14,9 @@ function addHydration(tree, options) {
|
|
|
14
14
|
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
15
15
|
tsquery = require('@phenomnomnominal/tsquery').tsquery;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
pathToClientConfigFile = (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'app/app.module.ts');
|
|
23
|
-
if (!tree.exists(pathToClientConfigFile)) {
|
|
24
|
-
pathToClientConfigFile = (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'app/app-module.ts');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
17
|
+
const pathToClientConfigFile = options.standalone
|
|
18
|
+
? (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'app/app.config.ts')
|
|
19
|
+
: (0, devkit_1.joinPathFragments)(projectConfig.sourceRoot, 'app/app.module.ts');
|
|
27
20
|
const sourceText = tree.read(pathToClientConfigFile, 'utf-8');
|
|
28
21
|
let sourceFile = tsModule.createSourceFile(pathToClientConfigFile, sourceText, tsModule.ScriptTarget.Latest, true);
|
|
29
22
|
const provideClientHydrationCallExpression = tsquery(sourceFile, 'ObjectLiteralExpression PropertyAssignment:has(Identifier[name=providers]) ArrayLiteralExpression CallExpression:has(Identifier[name=provideClientHydration])')[0];
|
|
@@ -14,13 +14,8 @@ function addServerFile(tree, options) {
|
|
|
14
14
|
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
15
15
|
const baseFilesPath = (0, path_1.join)(__dirname, '..', 'files');
|
|
16
16
|
let pathToFiles;
|
|
17
|
-
if (angularMajorVersion >=
|
|
18
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, '
|
|
19
|
-
? 'application-builder'
|
|
20
|
-
: 'server-builder', 'server');
|
|
21
|
-
}
|
|
22
|
-
else if (angularMajorVersion === 19) {
|
|
23
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', options.isUsingApplicationBuilder
|
|
17
|
+
if (angularMajorVersion >= 19) {
|
|
18
|
+
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19+', options.isUsingApplicationBuilder
|
|
24
19
|
? 'application-builder' +
|
|
25
20
|
(options.serverRouting ? '' : '-common-engine')
|
|
26
21
|
: 'server-builder', 'server');
|
|
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateSSRFiles = generateSSRFiles;
|
|
4
4
|
const devkit_1 = require("@nx/devkit");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
-
const semver_1 = require("semver");
|
|
7
|
-
const app_components_info_1 = require("../../utils/app-components-info");
|
|
8
|
-
const artifact_types_1 = require("../../utils/artifact-types");
|
|
9
6
|
const version_utils_1 = require("../../utils/version-utils");
|
|
7
|
+
const semver_1 = require("semver");
|
|
10
8
|
function generateSSRFiles(tree, options) {
|
|
11
9
|
const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
|
|
12
10
|
if (project.targets.server ||
|
|
@@ -18,13 +16,8 @@ function generateSSRFiles(tree, options) {
|
|
|
18
16
|
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
19
17
|
const baseFilesPath = (0, path_1.join)(__dirname, '..', 'files');
|
|
20
18
|
let pathToFiles;
|
|
21
|
-
if (angularMajorVersion >=
|
|
22
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, '
|
|
23
|
-
? 'application-builder'
|
|
24
|
-
: 'server-builder', options.standalone ? 'standalone-src' : 'ngmodule-src');
|
|
25
|
-
}
|
|
26
|
-
else if (angularMajorVersion === 19) {
|
|
27
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', options.isUsingApplicationBuilder
|
|
19
|
+
if (angularMajorVersion >= 19) {
|
|
20
|
+
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19+', options.isUsingApplicationBuilder
|
|
28
21
|
? 'application-builder'
|
|
29
22
|
: 'server-builder', options.standalone ? 'standalone-src' : 'ngmodule-src');
|
|
30
23
|
}
|
|
@@ -36,20 +29,14 @@ function generateSSRFiles(tree, options) {
|
|
|
36
29
|
const cleanedSsrVersion = ssrVersion
|
|
37
30
|
? (0, semver_1.clean)(ssrVersion) ?? (0, semver_1.coerce)(ssrVersion).version
|
|
38
31
|
: null;
|
|
39
|
-
const componentType = (0, artifact_types_1.getComponentType)(tree);
|
|
40
|
-
const appComponentInfo = (0, app_components_info_1.getAppComponentInfo)(tree, componentType ? `.${componentType}` : '', project);
|
|
41
|
-
const moduleTypeSeparator = (0, artifact_types_1.getModuleTypeSeparator)(tree);
|
|
42
32
|
(0, devkit_1.generateFiles)(tree, pathToFiles, sourceRoot, {
|
|
43
33
|
...options,
|
|
44
34
|
provideServerRoutingFn: !cleanedSsrVersion || (0, semver_1.gte)(cleanedSsrVersion, '19.2.0')
|
|
45
35
|
? 'provideServerRouting'
|
|
46
36
|
: 'provideServerRoutesConfig',
|
|
47
|
-
appFileName: appComponentInfo.extensionlessFileName,
|
|
48
|
-
appSymbolName: appComponentInfo.symbolName,
|
|
49
|
-
moduleTypeSeparator,
|
|
50
37
|
tpl: '',
|
|
51
38
|
});
|
|
52
|
-
if (angularMajorVersion
|
|
39
|
+
if (angularMajorVersion >= 19 && !options.serverRouting) {
|
|
53
40
|
tree.delete((0, devkit_1.joinPathFragments)(sourceRoot, 'app/app.routes.server.ts'));
|
|
54
41
|
}
|
|
55
42
|
}
|
|
@@ -34,11 +34,8 @@ function generateTsConfigServerJsonForBrowserBuilder(tree, options) {
|
|
|
34
34
|
!!packageJson.devDependencies?.['@angular/localize'];
|
|
35
35
|
const baseFilesPath = (0, path_1.join)(__dirname, '..', 'files');
|
|
36
36
|
let pathToFiles;
|
|
37
|
-
if (angularMajorVersion >=
|
|
38
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, '
|
|
39
|
-
}
|
|
40
|
-
else if (angularMajorVersion === 19) {
|
|
41
|
-
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19', 'server-builder', 'root');
|
|
37
|
+
if (angularMajorVersion >= 19) {
|
|
38
|
+
pathToFiles = (0, path_1.join)(baseFilesPath, 'v19+', 'server-builder', 'root');
|
|
42
39
|
}
|
|
43
40
|
else {
|
|
44
41
|
pathToFiles = (0, path_1.join)(baseFilesPath, 'pre-v19', 'root');
|
|
@@ -12,7 +12,7 @@ async function normalizeOptions(tree, options) {
|
|
|
12
12
|
targets.build.executor === '@nx/angular:application';
|
|
13
13
|
if (options.serverRouting === undefined && isUsingApplicationBuilder) {
|
|
14
14
|
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
15
|
-
if (angularMajorVersion
|
|
15
|
+
if (angularMajorVersion >= 19) {
|
|
16
16
|
options.serverRouting = await (0, prompt_1.promptWhenInteractive)({
|
|
17
17
|
type: 'confirm',
|
|
18
18
|
name: 'serverRouting',
|
|
@@ -21,7 +21,7 @@ async function normalizeOptions(tree, options) {
|
|
|
21
21
|
}, { serverRouting: false }).then(({ serverRouting }) => serverRouting);
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
options.serverRouting =
|
|
24
|
+
options.serverRouting = false;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
else if (options.serverRouting !== undefined &&
|
|
@@ -21,11 +21,6 @@ function updateProjectConfigForApplicationBuilder(tree, options) {
|
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
23
|
outputPath = outputPath.base;
|
|
24
|
-
if (buildTarget.outputs && buildTarget.outputs.length > 0) {
|
|
25
|
-
buildTarget.outputs = buildTarget.outputs.map((output) => output === '{options.outputPath.base}'
|
|
26
|
-
? '{options.outputPath}'
|
|
27
|
-
: output);
|
|
28
|
-
}
|
|
29
24
|
}
|
|
30
25
|
}
|
|
31
26
|
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
@@ -8,8 +8,8 @@ function validateOptions(tree, options) {
|
|
|
8
8
|
validateProject(tree, options.project);
|
|
9
9
|
validateBuildTarget(tree, options.project);
|
|
10
10
|
const { major: angularMajorVersion, version: angularVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
11
|
-
if (angularMajorVersion
|
|
12
|
-
throw new Error(`The "serverRouting" option is only supported in Angular versions 19.
|
|
11
|
+
if (angularMajorVersion < 19 && options.serverRouting) {
|
|
12
|
+
throw new Error(`The "serverRouting" option is only supported in Angular versions >= 19.0.0. You are using Angular ${angularVersion}.`);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
function validateProject(tree, project) {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"default": true
|
|
54
54
|
},
|
|
55
55
|
"serverRouting": {
|
|
56
|
-
"description": "Creates a server application using the Server Routing and App Engine APIs
|
|
56
|
+
"description": "Creates a server application using the Server Routing and App Engine APIs (Developer Preview). _Note: this is only supported in Angular versions >= 19.0.0_.",
|
|
57
57
|
"type": "boolean"
|
|
58
58
|
},
|
|
59
59
|
"skipFormat": {
|
|
@@ -3,15 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addJest = addJest;
|
|
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
|
-
|
|
11
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
12
|
-
// TODO(leo): jest-preset-angular still needs this until https://github.com/thymikee/jest-preset-angular/pull/3079 is merged
|
|
13
|
-
'@angular/platform-browser-dynamic': pkgVersions.angularVersion,
|
|
14
|
-
}, { 'jest-preset-angular': pkgVersions.jestPresetAngularVersion }, undefined, true);
|
|
9
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, { 'jest-preset-angular': versions_1.jestPresetAngularVersion }, undefined, true);
|
|
15
10
|
}
|
|
16
11
|
const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/jest', versions_1.nxVersion);
|
|
17
12
|
await configurationGenerator(tree, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertRspackIsCSR(bundler: 'webpack' | 'rspack', ssr: boolean, serverRouting: boolean): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertRspackIsCSR = assertRspackIsCSR;
|
|
4
|
+
function assertRspackIsCSR(bundler, ssr, serverRouting) {
|
|
5
|
+
if (bundler === 'rspack' && serverRouting) {
|
|
6
|
+
throw new Error('Server Routing is not currently supported for Angular Rspack Module Federation. Please use webpack instead.');
|
|
7
|
+
}
|
|
8
|
+
if (bundler === 'rspack' && ssr) {
|
|
9
|
+
throw new Error('SSR is not currently supported for Angular Rspack Module Federation. Please use webpack instead.');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -24,12 +24,13 @@ function ensureAngularDependencies(tree) {
|
|
|
24
24
|
dependencies['@angular/core'] = angularVersion;
|
|
25
25
|
dependencies['@angular/forms'] = angularVersion;
|
|
26
26
|
dependencies['@angular/platform-browser'] = angularVersion;
|
|
27
|
+
dependencies['@angular/platform-browser-dynamic'] = angularVersion;
|
|
27
28
|
dependencies['@angular/router'] = angularVersion;
|
|
28
29
|
dependencies.rxjs = rxjsVersion;
|
|
29
30
|
dependencies.tslib = tsLibVersion;
|
|
30
31
|
dependencies['zone.js'] = zoneJsVersion;
|
|
31
32
|
}
|
|
32
|
-
const installedAngularDevkitVersion = (0, version_utils_1.
|
|
33
|
+
const installedAngularDevkitVersion = (0, version_utils_1.getInstalledPackageVersion)(tree, '@angular-devkit/build-angular');
|
|
33
34
|
if (!installedAngularDevkitVersion) {
|
|
34
35
|
/**
|
|
35
36
|
* If `@angular-devkit/build-angular` is already installed, we assume the workspace
|
|
@@ -42,12 +43,8 @@ function ensureAngularDependencies(tree) {
|
|
|
42
43
|
}
|
|
43
44
|
// Ensure the `@nx/angular` peer dependencies are always installed.
|
|
44
45
|
const angularDevkitVersion = installedAngularDevkitVersion ?? pkgVersions.angularDevkitVersion;
|
|
46
|
+
devDependencies['@angular-devkit/build-angular'] = angularDevkitVersion;
|
|
45
47
|
devDependencies['@angular-devkit/schematics'] = angularDevkitVersion;
|
|
46
48
|
devDependencies['@schematics/angular'] = angularDevkitVersion;
|
|
47
|
-
const { major: angularMajorVersion } = (0, version_utils_1.getInstalledAngularVersionInfo)(tree);
|
|
48
|
-
if (angularMajorVersion < 20) {
|
|
49
|
-
devDependencies['@angular/build'] = angularDevkitVersion;
|
|
50
|
-
devDependencies['@angular-devkit/build-angular'] = angularDevkitVersion;
|
|
51
|
-
}
|
|
52
49
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies, undefined, true);
|
|
53
50
|
}
|
|
@@ -27,7 +27,8 @@ function exportScam(tree, options) {
|
|
|
27
27
|
let updatedEntryPointContent = (0, devkit_1.stripIndents) `${entryPointContent}
|
|
28
28
|
export * from '${relativePathFromEntryPoint}';`;
|
|
29
29
|
if (!options.inlineScam) {
|
|
30
|
-
const
|
|
30
|
+
const moduleFilePath = (0, devkit_1.joinPathFragments)(options.directory, `${(0, devkit_1.names)(options.name).fileName}.module.ts`);
|
|
31
|
+
const relativePathFromModule = (0, path_1.getRelativeImportToFile)(entryPointPath, moduleFilePath);
|
|
31
32
|
updatedEntryPointContent = (0, devkit_1.stripIndents) `${updatedEntryPointContent}
|
|
32
33
|
export * from '${relativePathFromModule}';`;
|
|
33
34
|
}
|
|
@@ -9,43 +9,38 @@ const js_1 = require("@nx/js");
|
|
|
9
9
|
const insert_ngmodule_import_1 = require("./insert-ngmodule-import");
|
|
10
10
|
let tsModule;
|
|
11
11
|
function findModule(tree, path, module) {
|
|
12
|
-
|
|
12
|
+
let modulePath = '';
|
|
13
13
|
let pathToSearch = path;
|
|
14
14
|
while (pathToSearch !== '.' && pathToSearch !== '/') {
|
|
15
15
|
if (module) {
|
|
16
16
|
const pathToModule = (0, devkit_1.joinPathFragments)(pathToSearch, module);
|
|
17
17
|
if (tree.exists(pathToModule)) {
|
|
18
|
-
|
|
18
|
+
modulePath = pathToModule;
|
|
19
19
|
break;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
23
|
const potentialOptions = tree
|
|
24
24
|
.children(pathToSearch)
|
|
25
|
-
.filter((f) => f.endsWith('.module.ts')
|
|
26
|
-
if (potentialOptions.length >
|
|
27
|
-
|
|
25
|
+
.filter((f) => f.endsWith('.module.ts'));
|
|
26
|
+
if (potentialOptions.length > 1) {
|
|
27
|
+
throw new Error(`More than one NgModule was found. Please provide the NgModule you wish to use.`);
|
|
28
|
+
}
|
|
29
|
+
else if (potentialOptions.length === 1) {
|
|
30
|
+
modulePath = (0, devkit_1.joinPathFragments)(pathToSearch, potentialOptions[0]);
|
|
28
31
|
break;
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
pathToSearch = (0, path_1.dirname)(pathToSearch);
|
|
32
35
|
}
|
|
33
|
-
if (
|
|
36
|
+
if (modulePath === '') {
|
|
34
37
|
throw new Error('Could not find a declaring module file.');
|
|
35
38
|
}
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
if (modules.length === 0) {
|
|
41
|
-
throw new Error(candidatePaths.length === 1
|
|
42
|
-
? `Declaring module file (${candidatePaths[0]}) does not contain an @NgModule Declaration.`
|
|
43
|
-
: `Declaring module files (${candidatePaths.join(', ')}) do not contain an @NgModule Declaration.`);
|
|
44
|
-
}
|
|
45
|
-
if (modules.length > 1) {
|
|
46
|
-
throw new Error(`More than one NgModule was found. Please provide the NgModule you wish to use.`);
|
|
39
|
+
const moduleContents = tree.read(modulePath, 'utf-8');
|
|
40
|
+
if (!moduleContents.includes('@NgModule')) {
|
|
41
|
+
throw new Error(`Declaring module file (${modulePath}) does not contain an @NgModule Declaration.`);
|
|
47
42
|
}
|
|
48
|
-
return
|
|
43
|
+
return modulePath;
|
|
49
44
|
}
|
|
50
45
|
function addToNgModule(tree, path, modulePath, name, className, fileName, ngModuleProperty,
|
|
51
46
|
// TODO(leo): remove once all consumers are updated
|