@nx/angular 19.6.0 → 19.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. package/README.md +1 -1
  2. package/esm2022/mf/index.mjs +2 -2
  3. package/fesm2022/nx-angular-mf.mjs +1 -1
  4. package/mf/index.d.ts +1 -1
  5. package/migrations.json +18 -0
  6. package/package.json +8 -8
  7. package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +4 -1
  8. package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +10 -3
  9. package/src/generators/application/lib/normalized-schema.d.ts +2 -2
  10. package/src/generators/application/schema.d.ts +2 -2
  11. package/src/generators/host/schema.d.ts +2 -2
  12. package/src/generators/library/lib/normalized-schema.d.ts +2 -2
  13. package/src/generators/library/schema.d.ts +2 -2
  14. package/src/generators/ng-add/schema.d.ts +2 -2
  15. package/src/generators/remote/schema.d.ts +2 -2
  16. package/src/generators/setup-mf/lib/index.d.ts +1 -0
  17. package/src/generators/setup-mf/lib/index.js +1 -0
  18. package/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.d.ts +2 -0
  19. package/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.js +15 -0
  20. package/src/generators/setup-mf/setup-mf.d.ts +1 -1
  21. package/src/generators/setup-mf/setup-mf.js +9 -1
  22. package/src/generators/storybook-configuration/schema.d.ts +2 -2
  23. package/src/generators/utils/add-mf-env-to-inputs.js +1 -0
  24. package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.d.ts +2 -0
  25. package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.js +46 -0
  26. package/src/utils/versions.d.ts +1 -1
  27. package/src/utils/versions.js +1 -1
package/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # Nx: Smart Monorepos · Fast CI
24
24
 
25
- Nx is a build system with built-in tooling and advanced CI capabilities. It helps you maintain and scale monorepos, both locally and on CI.
25
+ Nx is a build system, optimized for monorepos, with plugins for popular frameworks and tools and advanced CI capabilities including caching and distribution.
26
26
 
27
27
  This package is an [Angular plugin for Nx](https://nx.dev/nx-api/angular).
28
28
 
@@ -1,2 +1,2 @@
1
- export { setRemoteUrlResolver, setRemoteDefinitions, loadRemoteModule, } from './mf';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL21mL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNqQixNQUFNLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIHNldFJlbW90ZVVybFJlc29sdmVyLFxuICBzZXRSZW1vdGVEZWZpbml0aW9ucyxcbiAgbG9hZFJlbW90ZU1vZHVsZSxcbn0gZnJvbSAnLi9tZic7XG4iXX0=
1
+ export { setRemoteUrlResolver, setRemoteDefinitions, setRemoteDefinition, loadRemoteModule, } from './mf';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL21mL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixnQkFBZ0IsR0FDakIsTUFBTSxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBzZXRSZW1vdGVVcmxSZXNvbHZlcixcbiAgc2V0UmVtb3RlRGVmaW5pdGlvbnMsXG4gIHNldFJlbW90ZURlZmluaXRpb24sXG4gIGxvYWRSZW1vdGVNb2R1bGUsXG59IGZyb20gJy4vbWYnO1xuIl19
@@ -53,5 +53,5 @@ async function loadRemoteContainer(remoteName) {
53
53
  * Generated bundle index. Do not edit.
54
54
  */
55
55
 
56
- export { loadRemoteModule, setRemoteDefinitions, setRemoteUrlResolver };
56
+ export { loadRemoteModule, setRemoteDefinition, setRemoteDefinitions, setRemoteUrlResolver };
57
57
  //# sourceMappingURL=nx-angular-mf.mjs.map
package/mf/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { setRemoteUrlResolver, setRemoteDefinitions, loadRemoteModule, } from './mf';
1
+ export { setRemoteUrlResolver, setRemoteDefinitions, setRemoteDefinition, loadRemoteModule, } from './mf';
package/migrations.json CHANGED
@@ -428,6 +428,12 @@
428
428
  },
429
429
  "description": "Update the @angular/cli package version to ~18.2.0.",
430
430
  "factory": "./src/migrations/update-19-6-0/update-angular-cli"
431
+ },
432
+ "update-19-6-1-ensure-module-federation-target-defaults": {
433
+ "cli": "nx",
434
+ "version": "19.6.1-beta.0",
435
+ "description": "Ensure Target Defaults are set correctly for Module Federation.",
436
+ "factory": "./src/migrations/update-19-6-1/ensure-depends-on-for-mf"
431
437
  }
432
438
  },
433
439
  "packageJsonUpdates": {
@@ -2104,6 +2110,18 @@
2104
2110
  "alwaysAddToPackageJson": false
2105
2111
  }
2106
2112
  }
2113
+ },
2114
+ "19.6.1-ngrx": {
2115
+ "version": "19.6.1-beta.0",
2116
+ "requires": {
2117
+ "@angular/core": "^18.0.0"
2118
+ },
2119
+ "packages": {
2120
+ "@ngrx/store": {
2121
+ "version": "^18.0.2",
2122
+ "alwaysAddToPackageJson": false
2123
+ }
2124
+ }
2107
2125
  }
2108
2126
  }
2109
2127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "19.6.0",
3
+ "version": "19.6.2",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
6
6
  "repository": {
@@ -79,14 +79,14 @@
79
79
  "webpack-merge": "^5.8.0",
80
80
  "webpack": "^5.88.0",
81
81
  "@module-federation/enhanced": "~0.2.3",
82
- "@nx/devkit": "19.6.0",
83
- "@nx/js": "19.6.0",
84
- "@nx/eslint": "19.6.0",
85
- "@nx/webpack": "19.6.0",
86
- "@nx/web": "19.6.0",
87
- "@nx/workspace": "19.6.0",
82
+ "@nx/devkit": "19.6.2",
83
+ "@nx/js": "19.6.2",
84
+ "@nx/eslint": "19.6.2",
85
+ "@nx/webpack": "19.6.2",
86
+ "@nx/web": "19.6.2",
87
+ "@nx/workspace": "19.6.2",
88
88
  "piscina": "^4.4.0",
89
- "@nrwl/angular": "19.6.0"
89
+ "@nrwl/angular": "19.6.2"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "@angular-devkit/build-angular": ">= 16.0.0 < 19.0.0",
@@ -66,7 +66,10 @@ async function* moduleFederationDevServerExecutor(schema, context) {
66
66
  }, pathToManifestFile);
67
67
  options.staticRemotesPort ??= remotes.staticRemotePort;
68
68
  // Set NX_MF_DEV_REMOTES for the Nx Runtime Library Control Plugin
69
- process.env.NX_MF_DEV_REMOTES = JSON.stringify(remotes.devRemotes.map((r) => (typeof r === 'string' ? r : r.remoteName)));
69
+ process.env.NX_MF_DEV_REMOTES = JSON.stringify([
70
+ ...(remotes.devRemotes.map((r) => typeof r === 'string' ? r : r.remoteName) ?? []),
71
+ project.name,
72
+ ]);
70
73
  const staticRemotesConfig = (0, parse_static_remotes_config_1.parseStaticRemotesConfig)([...remotes.staticRemotes, ...remotes.dynamicRemotes], context);
71
74
  const mappedLocationsOfStaticRemotes = await (0, lib_1.buildStaticRemotes)(staticRemotesConfig, nxBin, context, options);
72
75
  const devRemoteIters = await (0, lib_1.startRemotes)(remotes.devRemotes, workspaceProjects, options, context, 'serve');
@@ -17,11 +17,15 @@ const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
17
17
  const normalize_options_1 = require("./lib/normalize-options");
18
18
  const wait_for_port_open_1 = require("@nx/web/src/utils/wait-for-port-open");
19
19
  const start_ssr_remote_proxies_1 = require("@nx/webpack/src/utils/module-federation/start-ssr-remote-proxies");
20
- const dev_server_impl_1 = require("../../builders/dev-server/dev-server.impl");
20
+ const angular_version_utils_1 = require("../utilities/angular-version-utils");
21
21
  async function* moduleFederationSsrDevServerExecutor(schema, context) {
22
22
  const nxBin = require.resolve('nx/bin/nx');
23
23
  const options = (0, normalize_options_1.normalizeOptions)(schema);
24
- const currIter = (0, rxjs_for_await_1.eachValueFrom)((0, dev_server_impl_1.executeDevServerBuilder)(options, await (0, ngcli_adapter_1.createBuilderContext)({
24
+ const { major: angularMajorVersion } = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
25
+ const { executeSSRDevServerBuilder } = angularMajorVersion >= 17
26
+ ? require('@angular-devkit/build-angular')
27
+ : require('@nguniversal/builders');
28
+ const currIter = (0, rxjs_for_await_1.eachValueFrom)(executeSSRDevServerBuilder(options, await (0, ngcli_adapter_1.createBuilderContext)({
25
29
  builderName: '@nx/angular:webpack-server',
26
30
  description: 'Build a ssr application',
27
31
  optionSchema: require('../../builders/webpack-server/schema.json'),
@@ -57,7 +61,10 @@ async function* moduleFederationSsrDevServerExecutor(schema, context) {
57
61
  const staticRemotesConfig = (0, parse_static_remotes_config_1.parseStaticSsrRemotesConfig)([...remotes.staticRemotes, ...remotes.dynamicRemotes], context);
58
62
  const mappedLocationsOfStaticRemotes = await (0, build_static_remotes_1.buildStaticRemotes)(staticRemotesConfig, nxBin, context, options);
59
63
  // Set NX_MF_DEV_REMOTES for the Nx Runtime Library Control Plugin
60
- process.env.NX_MF_DEV_REMOTES = JSON.stringify(options.devRemotes);
64
+ process.env.NX_MF_DEV_REMOTES = JSON.stringify([
65
+ ...(options.devRemotes ?? []),
66
+ project.name,
67
+ ]);
61
68
  const devRemotes = await (0, start_dev_remotes_1.startRemotes)(remotes.devRemotes, workspaceProjects, options, context);
62
69
  const staticRemotes = (0, start_static_remotes_1.startStaticRemotes)(staticRemotesConfig, context, options);
63
70
  (0, start_ssr_remote_proxies_1.startSsrRemoteProxies)(staticRemotesConfig, mappedLocationsOfStaticRemotes, options.ssl
@@ -1,8 +1,8 @@
1
1
  import { E2eTestRunner, UnitTestRunner } from '../../../utils/test-runners';
2
2
  import type { Schema } from '../schema';
3
- import { Linter } from '@nx/eslint';
3
+ import { Linter, LinterType } from '@nx/eslint';
4
4
  export interface NormalizedSchema extends Schema {
5
- linter: Linter;
5
+ linter: Linter | LinterType;
6
6
  unitTestRunner: UnitTestRunner;
7
7
  e2eTestRunner: E2eTestRunner;
8
8
  prefix: string;
@@ -1,5 +1,5 @@
1
1
  import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
- import type { Linter } from '@nx/eslint';
2
+ import type { Linter, LinterType } from '@nx/eslint';
3
3
  import type { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
4
4
  import type { Styles } from '../utils/types';
5
5
 
@@ -17,7 +17,7 @@ export interface Schema {
17
17
  directory?: string;
18
18
  projectNameAndRootFormat?: ProjectNameAndRootFormat;
19
19
  tags?: string;
20
- linter?: Linter;
20
+ linter?: Linter | LinterType;
21
21
  unitTestRunner?: UnitTestRunner;
22
22
  e2eTestRunner?: E2eTestRunner;
23
23
  backendProject?: string;
@@ -1,5 +1,5 @@
1
1
  import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
- import type { Linter } from '@nx/eslint';
2
+ import type { Linter, LinterType } from '@nx/eslint';
3
3
  import type { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
4
4
  import type { Styles } from '../utils/types';
5
5
 
@@ -17,7 +17,7 @@ export interface Schema {
17
17
  directory?: string;
18
18
  projectNameAndRootFormat?: ProjectNameAndRootFormat;
19
19
  tags?: string;
20
- linter?: Linter;
20
+ linter?: Linter | LinterType;
21
21
  unitTestRunner?: UnitTestRunner;
22
22
  e2eTestRunner?: E2eTestRunner;
23
23
  backendProject?: string;
@@ -1,5 +1,5 @@
1
1
  import { UnitTestRunner } from '../../../utils/test-runners';
2
- import type { Linter } from '@nx/eslint';
2
+ import type { Linter, LinterType } from '@nx/eslint';
3
3
  export interface NormalizedSchema {
4
4
  libraryOptions: {
5
5
  name: string;
@@ -26,7 +26,7 @@ export interface NormalizedSchema {
26
26
  skipPackageJson?: boolean;
27
27
  skipPostInstall?: boolean;
28
28
  standalone?: boolean;
29
- linter: Linter;
29
+ linter: Linter | LinterType;
30
30
  unitTestRunner: UnitTestRunner;
31
31
  prefix: string;
32
32
  fileName: string;
@@ -1,5 +1,5 @@
1
1
  import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
- import type { Linter } from '@nx/eslint';
2
+ import type { Linter, LinterType } from '@nx/eslint';
3
3
  import type { UnitTestRunner } from '../../utils/test-runners';
4
4
 
5
5
  export interface Schema {
@@ -24,7 +24,7 @@ export interface Schema {
24
24
  parent?: string;
25
25
  tags?: string;
26
26
  strict?: boolean;
27
- linter?: Linter;
27
+ linter?: Linter | LinterType;
28
28
  unitTestRunner?: UnitTestRunner;
29
29
  compilationMode?: 'full' | 'partial';
30
30
  setParserOptionsProject?: boolean;
@@ -1,4 +1,4 @@
1
- import { Linter } from '@nx/eslint';
1
+ import { Linter, LinterType } from '@nx/eslint';
2
2
  import { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
3
3
  import type { Styles } from '../utils/types';
4
4
 
@@ -11,6 +11,6 @@ export interface GeneratorOptions {
11
11
  skipInstall?: boolean;
12
12
  skipPostInstall?: boolean;
13
13
  style?: Styles;
14
- linter?: Linter;
14
+ linter?: Linter | LinterType;
15
15
  skipPackageJson?: boolean;
16
16
  }
@@ -1,5 +1,5 @@
1
1
  import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
2
- import type { Linter } from '@nx/eslint';
2
+ import type { Linter, LinterType } from '@nx/eslint';
3
3
  import type { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
4
4
  import type { Styles } from '../utils/types';
5
5
 
@@ -16,7 +16,7 @@ export interface Schema {
16
16
  directory?: string;
17
17
  projectNameAndRootFormat?: ProjectNameAndRootFormat;
18
18
  tags?: string;
19
- linter?: Linter;
19
+ linter?: Linter | LinterType;
20
20
  unitTestRunner?: UnitTestRunner;
21
21
  e2eTestRunner?: E2eTestRunner;
22
22
  backendProject?: string;
@@ -5,6 +5,7 @@ export * from './change-build-target';
5
5
  export * from './fix-bootstrap';
6
6
  export * from './generate-config';
7
7
  export * from './get-remotes-with-ports';
8
+ export * from './move-angular-plugin-to-dependencies';
8
9
  export * from './normalize-options';
9
10
  export * from './update-tsconfig';
10
11
  export * from './setup-host-if-dynamic';
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./change-build-target"), exports);
8
8
  tslib_1.__exportStar(require("./fix-bootstrap"), exports);
9
9
  tslib_1.__exportStar(require("./generate-config"), exports);
10
10
  tslib_1.__exportStar(require("./get-remotes-with-ports"), exports);
11
+ tslib_1.__exportStar(require("./move-angular-plugin-to-dependencies"), exports);
11
12
  tslib_1.__exportStar(require("./normalize-options"), exports);
12
13
  tslib_1.__exportStar(require("./update-tsconfig"), exports);
13
14
  tslib_1.__exportStar(require("./setup-host-if-dynamic"), exports);
@@ -0,0 +1,2 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export declare function moveAngularPluginToDependencies(tree: Tree): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moveAngularPluginToDependencies = moveAngularPluginToDependencies;
4
+ const devkit_1 = require("@nx/devkit");
5
+ function moveAngularPluginToDependencies(tree) {
6
+ const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
7
+ if (packageJson.dependencies?.['@nx/angular']) {
8
+ return;
9
+ }
10
+ packageJson.dependencies ??= {};
11
+ packageJson.dependencies['@nx/angular'] =
12
+ packageJson.devDependencies['@nx/angular'];
13
+ delete packageJson.devDependencies['@nx/angular'];
14
+ (0, devkit_1.writeJson)(tree, 'package.json', packageJson);
15
+ }
@@ -1,4 +1,4 @@
1
- import type { Tree } from '@nx/devkit';
1
+ import { type Tree } from '@nx/devkit';
2
2
  import type { Schema } from './schema';
3
3
  export declare function setupMf(tree: Tree, rawOptions: Schema): Promise<() => void>;
4
4
  export default setupMf;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupMf = setupMf;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const lib_1 = require("./lib");
6
5
  const versions_1 = require("../../utils/versions");
6
+ const lib_1 = require("./lib");
7
7
  async function setupMf(tree, rawOptions) {
8
8
  const options = (0, lib_1.normalizeOptions)(tree, rawOptions);
9
9
  const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, options.appName);
@@ -50,6 +50,14 @@ async function setupMf(tree, rawOptions) {
50
50
  }
51
51
  }
52
52
  (0, lib_1.fixBootstrap)(tree, projectConfig.root, options);
53
+ if (options.mfType === 'host' || options.federationType === 'dynamic') {
54
+ /**
55
+ * Host applications and dynamic federation applications generate runtime
56
+ * code that depends on the @nx/angular plugin. Ensure that the plugin is
57
+ * in the production dependencies.
58
+ */
59
+ (0, lib_1.moveAngularPluginToDependencies)(tree);
60
+ }
53
61
  if (!options.skipE2E) {
54
62
  (0, lib_1.addCypressOnErrorWorkaround)(tree, options);
55
63
  }
@@ -1,9 +1,9 @@
1
- import type { Linter } from '@nx/eslint';
1
+ import type { Linter, LinterType } from '@nx/eslint';
2
2
 
3
3
  export interface StorybookConfigurationOptions {
4
4
  configureStaticServe?: boolean;
5
5
  generateStories: boolean;
6
- linter: Linter;
6
+ linter: Linter | LinterType;
7
7
  project: string;
8
8
  tsConfiguration?: boolean;
9
9
  skipFormat?: boolean;
@@ -12,6 +12,7 @@ function addMfEnvToTargetDefaultInputs(tree) {
12
12
  'production',
13
13
  '^production',
14
14
  ];
15
+ nxJson.targetDefaults[webpackExecutor].dependsOn ??= ['^build'];
15
16
  let mfEnvVarExists = false;
16
17
  for (const input of nxJson.targetDefaults[webpackExecutor].inputs) {
17
18
  if (typeof input === 'object' && input['env'] === mfEnvVar) {
@@ -0,0 +1,2 @@
1
+ import { type Tree } from '@nx/devkit';
2
+ export default function (tree: Tree): Promise<void>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
6
+ async function default_1(tree) {
7
+ let usesModuleFederation = false;
8
+ (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nx/angular:webpack-browser', (options, projectName, targetName) => {
9
+ const webpackConfig = options.webpackConfig;
10
+ if (!webpackConfig) {
11
+ return;
12
+ }
13
+ const webpackContents = tree.read(webpackConfig, 'utf-8');
14
+ if (['withModuleFederation', 'withModuleFederationForSSR'].some((p) => webpackContents.includes(p))) {
15
+ usesModuleFederation = true;
16
+ }
17
+ });
18
+ if (!usesModuleFederation) {
19
+ return;
20
+ }
21
+ const nxJson = (0, devkit_1.readNxJson)(tree);
22
+ const nxMFDevRemotesEnvVar = 'NX_MF_DEV_REMOTES';
23
+ if (!nxJson.targetDefaults ||
24
+ !nxJson.targetDefaults?.['@nx/angular:webpack-browser']) {
25
+ nxJson.targetDefaults ??= {};
26
+ nxJson.targetDefaults['@nx/angular:webpack-browser'] = {
27
+ cache: true,
28
+ inputs: ['production', '^production', { env: nxMFDevRemotesEnvVar }],
29
+ dependsOn: ['^build'],
30
+ };
31
+ }
32
+ else {
33
+ nxJson.targetDefaults['@nx/angular:webpack-browser'].dependsOn ??= [];
34
+ if (!nxJson.targetDefaults['@nx/angular:webpack-browser'].dependsOn.includes('^build')) {
35
+ nxJson.targetDefaults['@nx/angular:webpack-browser'].dependsOn.push('^build');
36
+ }
37
+ nxJson.targetDefaults['@nx/angular:webpack-browser'].inputs ??= [];
38
+ if (!nxJson.targetDefaults['@nx/angular:webpack-browser'].inputs.find((i) => typeof i === 'string' ? false : i['env'] === nxMFDevRemotesEnvVar)) {
39
+ nxJson.targetDefaults['@nx/angular:webpack-browser'].inputs.push({
40
+ env: nxMFDevRemotesEnvVar,
41
+ });
42
+ }
43
+ }
44
+ (0, devkit_1.updateNxJson)(tree, nxJson);
45
+ await (0, devkit_1.formatFiles)(tree);
46
+ }
@@ -2,7 +2,7 @@ export declare const nxVersion: any;
2
2
  export declare const angularVersion = "~18.2.0";
3
3
  export declare const angularDevkitVersion = "~18.2.0";
4
4
  export declare const ngPackagrVersion = "~18.2.0";
5
- export declare const ngrxVersion = "^18.0.1";
5
+ export declare const ngrxVersion = "^18.0.2";
6
6
  export declare const rxjsVersion = "~7.8.0";
7
7
  export declare const zoneJsVersion = "~0.14.3";
8
8
  export declare const angularJsVersion = "1.7.9";
@@ -5,7 +5,7 @@ exports.nxVersion = require('../../package.json').version;
5
5
  exports.angularVersion = '~18.2.0';
6
6
  exports.angularDevkitVersion = '~18.2.0';
7
7
  exports.ngPackagrVersion = '~18.2.0';
8
- exports.ngrxVersion = '^18.0.1';
8
+ exports.ngrxVersion = '^18.0.2';
9
9
  exports.rxjsVersion = '~7.8.0';
10
10
  exports.zoneJsVersion = '~0.14.3';
11
11
  exports.angularJsVersion = '1.7.9';