@nx/angular 19.6.0 → 19.6.2
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/README.md +1 -1
- package/esm2022/mf/index.mjs +2 -2
- package/fesm2022/nx-angular-mf.mjs +1 -1
- package/mf/index.d.ts +1 -1
- package/migrations.json +18 -0
- package/package.json +8 -8
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.js +4 -1
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +10 -3
- package/src/generators/application/lib/normalized-schema.d.ts +2 -2
- package/src/generators/application/schema.d.ts +2 -2
- package/src/generators/host/schema.d.ts +2 -2
- package/src/generators/library/lib/normalized-schema.d.ts +2 -2
- package/src/generators/library/schema.d.ts +2 -2
- package/src/generators/ng-add/schema.d.ts +2 -2
- package/src/generators/remote/schema.d.ts +2 -2
- package/src/generators/setup-mf/lib/index.d.ts +1 -0
- package/src/generators/setup-mf/lib/index.js +1 -0
- package/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.d.ts +2 -0
- package/src/generators/setup-mf/lib/move-angular-plugin-to-dependencies.js +15 -0
- package/src/generators/setup-mf/setup-mf.d.ts +1 -1
- package/src/generators/setup-mf/setup-mf.js +9 -1
- package/src/generators/storybook-configuration/schema.d.ts +2 -2
- package/src/generators/utils/add-mf-env-to-inputs.js +1 -0
- package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.d.ts +2 -0
- package/src/migrations/update-19-6-1/ensure-depends-on-for-mf.js +46 -0
- package/src/utils/versions.d.ts +1 -1
- 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
|
|
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
|
|
package/esm2022/mf/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { setRemoteUrlResolver, setRemoteDefinitions, loadRemoteModule, } from './mf';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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.
|
|
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.
|
|
83
|
-
"@nx/js": "19.6.
|
|
84
|
-
"@nx/eslint": "19.6.
|
|
85
|
-
"@nx/webpack": "19.6.
|
|
86
|
-
"@nx/web": "19.6.
|
|
87
|
-
"@nx/workspace": "19.6.
|
|
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.
|
|
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(
|
|
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');
|
package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js
CHANGED
|
@@ -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
|
|
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
|
|
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(
|
|
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,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
|
+
}
|
|
@@ -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,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
|
+
}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -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.
|
|
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";
|
package/src/utils/versions.js
CHANGED
|
@@ -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.
|
|
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';
|