@nrwl/angular 14.5.0-beta.4 → 14.5.0
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/CHANGELOG.md +1 -1
- package/package.json +9 -9
- package/src/utils/mf/mf-webpack.d.ts +2 -1
- package/src/utils/mf/mf-webpack.js +31 -45
- package/src/utils/mf/mf-webpack.js.map +1 -1
- package/src/utils/mf/typescript.d.ts +2 -0
- package/src/utils/mf/typescript.js +28 -0
- package/src/utils/mf/typescript.js.map +1 -0
- package/src/utils/mf/utils.d.ts +10 -0
- package/src/utils/mf/utils.js +44 -1
- package/src/utils/mf/utils.js.map +1 -1
- package/src/utils/mf/with-module-federation.js +4 -62
- package/src/utils/mf/with-module-federation.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [14.5.0
|
|
6
|
+
# [14.5.0](https://github.com/nrwl/nx/compare/14.4.2...14.5.0) (2022-07-28)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @nrwl/angular
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/angular",
|
|
3
|
-
"version": "14.5.0
|
|
3
|
+
"version": "14.5.0",
|
|
4
4
|
"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, Cypress, Karma, and Protractor. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Upgrading AngularJS applications \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@angular-devkit/schematics": "~14.1.0",
|
|
68
|
-
"@nrwl/cypress": "14.5.0
|
|
69
|
-
"@nrwl/devkit": "14.5.0
|
|
70
|
-
"@nrwl/jest": "14.5.0
|
|
71
|
-
"@nrwl/linter": "14.5.0
|
|
72
|
-
"@nrwl/storybook": "14.5.0
|
|
73
|
-
"@nrwl/web": "14.5.0
|
|
74
|
-
"@nrwl/workspace": "14.5.0
|
|
68
|
+
"@nrwl/cypress": "14.5.0",
|
|
69
|
+
"@nrwl/devkit": "14.5.0",
|
|
70
|
+
"@nrwl/jest": "14.5.0",
|
|
71
|
+
"@nrwl/linter": "14.5.0",
|
|
72
|
+
"@nrwl/storybook": "14.5.0",
|
|
73
|
+
"@nrwl/web": "14.5.0",
|
|
74
|
+
"@nrwl/workspace": "14.5.0",
|
|
75
75
|
"@phenomnomnominal/tsquery": "4.1.1",
|
|
76
76
|
"@schematics/angular": "~14.1.0",
|
|
77
77
|
"chalk": "4.1.0",
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"fesm2015": "fesm2015/nrwl-angular.mjs",
|
|
95
95
|
"typings": "index.d.ts",
|
|
96
96
|
"sideEffects": false,
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "5bff9159df187bb60fabd11f1eb58c4d4d835afa"
|
|
98
98
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { NormalModuleReplacementPlugin } from 'webpack';
|
|
2
|
+
import { WorkspaceLibrary } from './utils';
|
|
2
3
|
export interface SharedLibraryConfig {
|
|
3
4
|
singleton?: boolean;
|
|
4
5
|
strictVersion?: boolean;
|
|
5
6
|
requiredVersion?: false | string;
|
|
6
7
|
eager?: boolean;
|
|
7
8
|
}
|
|
8
|
-
export declare function shareWorkspaceLibraries(libraries:
|
|
9
|
+
export declare function shareWorkspaceLibraries(libraries: WorkspaceLibrary[], tsConfigPath?: string): {
|
|
9
10
|
getAliases: () => {};
|
|
10
11
|
getLibraries: (eager?: boolean) => Record<string, SharedLibraryConfig>;
|
|
11
12
|
getReplacementPlugin: () => NormalModuleReplacementPlugin;
|
|
@@ -7,69 +7,48 @@ const fs_1 = require("fs");
|
|
|
7
7
|
const package_json_1 = require("nx/src/utils/package-json");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const webpack_1 = require("webpack");
|
|
10
|
+
const typescript_2 = require("./typescript");
|
|
10
11
|
const utils_1 = require("./utils");
|
|
11
|
-
function
|
|
12
|
-
while (dirPath !== endPath) {
|
|
13
|
-
if (action(dirPath)) {
|
|
14
|
-
break;
|
|
15
|
-
}
|
|
16
|
-
dirPath = (0, path_1.dirname)(dirPath);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function collectWorkspaceLibrarySecondaryEntryPoints(library, libraryPath, tsconfigPathAliases) {
|
|
20
|
-
let libraryRootDirPath = libraryPath;
|
|
21
|
-
traverseUpFileTreeAndPerformActionUntil((0, path_1.dirname)(libraryRootDirPath), devkit_1.workspaceRoot, (currentDirPath) => {
|
|
22
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(currentDirPath, 'package.json'))) {
|
|
23
|
-
libraryRootDirPath = currentDirPath;
|
|
24
|
-
return true;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
12
|
+
function collectWorkspaceLibrarySecondaryEntryPoints(library, libraryRoot, tsconfigPathAliases) {
|
|
27
13
|
const aliasesUnderLibrary = Object.keys(tsconfigPathAliases).filter((libName) => libName.startsWith(library) && libName !== library);
|
|
28
14
|
const secondaryEntryPoints = [];
|
|
29
15
|
for (const alias of aliasesUnderLibrary) {
|
|
30
16
|
const pathToLib = (0, path_1.dirname)((0, path_1.join)(devkit_1.workspaceRoot, tsconfigPathAliases[alias][0]));
|
|
31
|
-
let isSecondaryEntrypoint = false;
|
|
32
17
|
let searchDir = pathToLib;
|
|
33
|
-
|
|
34
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
while (searchDir !== libraryRoot) {
|
|
19
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(searchDir, 'ng-package.json'))) {
|
|
20
|
+
secondaryEntryPoints.push({ name: alias, path: pathToLib });
|
|
21
|
+
break;
|
|
37
22
|
}
|
|
38
|
-
|
|
39
|
-
if (isSecondaryEntrypoint) {
|
|
40
|
-
secondaryEntryPoints.push({ name: alias, path: pathToLib });
|
|
23
|
+
searchDir = (0, path_1.dirname)(searchDir);
|
|
41
24
|
}
|
|
42
25
|
}
|
|
43
26
|
return secondaryEntryPoints;
|
|
44
27
|
}
|
|
45
28
|
function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
46
|
-
var _a
|
|
29
|
+
var _a;
|
|
47
30
|
if (tsConfigPath === void 0) { tsConfigPath = (_a = process.env.NX_TSCONFIG_PATH) !== null && _a !== void 0 ? _a : (0, typescript_1.getRootTsConfigPath)(); }
|
|
48
|
-
if (!
|
|
49
|
-
|
|
31
|
+
if (!libraries) {
|
|
32
|
+
return getEmptySharedLibrariesConfig();
|
|
50
33
|
}
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return {
|
|
55
|
-
getAliases: () => [],
|
|
56
|
-
getLibraries: () => ({}),
|
|
57
|
-
getReplacementPlugin: () => new webpack_1.NormalModuleReplacementPlugin(/./, () => { }),
|
|
58
|
-
};
|
|
34
|
+
const tsconfigPathAliases = (0, typescript_2.readTsPathMappings)(tsConfigPath);
|
|
35
|
+
if (!Object.keys(tsconfigPathAliases).length) {
|
|
36
|
+
return getEmptySharedLibrariesConfig();
|
|
59
37
|
}
|
|
60
38
|
const pathMappings = [];
|
|
61
39
|
for (const [key, paths] of Object.entries(tsconfigPathAliases)) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
name,
|
|
66
|
-
path,
|
|
67
|
-
}));
|
|
68
|
-
pathMappings.push({
|
|
69
|
-
name: key,
|
|
70
|
-
path: pathToLib,
|
|
71
|
-
});
|
|
40
|
+
const library = libraries.find((lib) => lib.importKey === key);
|
|
41
|
+
if (!library) {
|
|
42
|
+
continue;
|
|
72
43
|
}
|
|
44
|
+
collectWorkspaceLibrarySecondaryEntryPoints(key, (0, path_1.join)(devkit_1.workspaceRoot, library.root), tsconfigPathAliases).forEach(({ name, path }) => pathMappings.push({
|
|
45
|
+
name,
|
|
46
|
+
path,
|
|
47
|
+
}));
|
|
48
|
+
pathMappings.push({
|
|
49
|
+
name: key,
|
|
50
|
+
path: (0, path_1.normalize)((0, path_1.join)(devkit_1.workspaceRoot, paths[0])),
|
|
51
|
+
});
|
|
73
52
|
}
|
|
74
53
|
return {
|
|
75
54
|
getAliases: () => pathMappings.reduce((aliases, library) => (Object.assign(Object.assign({}, aliases), { [library.name]: library.path })), {}),
|
|
@@ -92,6 +71,13 @@ function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
|
92
71
|
};
|
|
93
72
|
}
|
|
94
73
|
exports.shareWorkspaceLibraries = shareWorkspaceLibraries;
|
|
74
|
+
function getEmptySharedLibrariesConfig() {
|
|
75
|
+
return {
|
|
76
|
+
getAliases: () => ({}),
|
|
77
|
+
getLibraries: () => ({}),
|
|
78
|
+
getReplacementPlugin: () => new webpack_1.NormalModuleReplacementPlugin(/./, () => { }),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
95
81
|
function getNonNodeModulesSubDirs(directory) {
|
|
96
82
|
return (0, fs_1.readdirSync)(directory)
|
|
97
83
|
.filter((file) => file !== 'node_modules')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mf-webpack.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/mf-webpack.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AACtB,
|
|
1
|
+
{"version":3,"file":"mf-webpack.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/mf-webpack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readTsPathMappings = void 0;
|
|
4
|
+
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
let tsConfig;
|
|
7
|
+
let tsPathMappings;
|
|
8
|
+
function readTsPathMappings(tsConfigPath) {
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
if (tsConfigPath === void 0) { tsConfigPath = (_a = process.env.NX_TSCONFIG_PATH) !== null && _a !== void 0 ? _a : (0, typescript_1.getRootTsConfigPath)(); }
|
|
11
|
+
if (tsPathMappings) {
|
|
12
|
+
return tsPathMappings;
|
|
13
|
+
}
|
|
14
|
+
tsConfig !== null && tsConfig !== void 0 ? tsConfig : (tsConfig = readTsConfiguration(tsConfigPath));
|
|
15
|
+
tsPathMappings = {};
|
|
16
|
+
Object.entries((_c = (_b = tsConfig.options) === null || _b === void 0 ? void 0 : _b.paths) !== null && _c !== void 0 ? _c : {}).forEach(([alias, paths]) => {
|
|
17
|
+
tsPathMappings[alias] = paths.map((path) => path.replace(/^\.\//, ''));
|
|
18
|
+
});
|
|
19
|
+
return tsPathMappings;
|
|
20
|
+
}
|
|
21
|
+
exports.readTsPathMappings = readTsPathMappings;
|
|
22
|
+
function readTsConfiguration(tsConfigPath) {
|
|
23
|
+
if (!(0, fs_1.existsSync)(tsConfigPath)) {
|
|
24
|
+
throw new Error(`NX MF: TsConfig Path for workspace libraries does not exist! (${tsConfigPath}).`);
|
|
25
|
+
}
|
|
26
|
+
return (0, typescript_1.readTsConfig)(tsConfigPath);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=typescript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/typescript.ts"],"names":[],"mappings":";;;AAAA,yEAGkD;AAClD,2BAAgC;AAGhC,IAAI,QAA2B,CAAC;AAChC,IAAI,cAAqD,CAAC;AAC1D,SAAgB,kBAAkB,CAChC,YAA4E;;iCAA5E,EAAA,qBAAuB,OAAO,CAAC,GAAG,CAAC,gBAAgB,mCAAI,IAAA,gCAAmB,GAAE;IAE5E,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,QAAQ,aAAR,QAAQ,cAAR,QAAQ,IAAR,QAAQ,GAAK,mBAAmB,CAAC,YAAY,CAAC,EAAC;IAC/C,cAAc,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,OAAO,CAAC,MAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;QACvE,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAdD,gDAcC;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CACb,iEAAiE,YAAY,IAAI,CAClF,CAAC;KACH;IAED,OAAO,IAAA,yBAAY,EAAC,YAAY,CAAC,CAAC;AACpC,CAAC"}
|
package/src/utils/mf/utils.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { ProjectGraph } from '@nrwl/devkit';
|
|
2
|
+
export declare type WorkspaceLibrary = {
|
|
3
|
+
name: string;
|
|
4
|
+
root: string;
|
|
5
|
+
importKey: string | undefined;
|
|
6
|
+
};
|
|
1
7
|
export declare function readRootPackageJson(): {
|
|
2
8
|
dependencies?: {
|
|
3
9
|
[key: string]: string;
|
|
@@ -6,3 +12,7 @@ export declare function readRootPackageJson(): {
|
|
|
6
12
|
[key: string]: string;
|
|
7
13
|
};
|
|
8
14
|
};
|
|
15
|
+
export declare function getDependentPackagesForProject(projectGraph: ProjectGraph, name: string): {
|
|
16
|
+
workspaceLibraries: WorkspaceLibrary[];
|
|
17
|
+
npmPackages: string[];
|
|
18
|
+
};
|
package/src/utils/mf/utils.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readRootPackageJson = void 0;
|
|
3
|
+
exports.getDependentPackagesForProject = exports.readRootPackageJson = void 0;
|
|
4
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
|
+
const typescript_1 = require("./typescript");
|
|
6
7
|
function readRootPackageJson() {
|
|
7
8
|
const pkgJsonPath = (0, devkit_1.joinPathFragments)(devkit_1.workspaceRoot, 'package.json');
|
|
8
9
|
if (!(0, fs_1.existsSync)(pkgJsonPath)) {
|
|
@@ -11,4 +12,46 @@ function readRootPackageJson() {
|
|
|
11
12
|
return (0, devkit_1.readJsonFile)(pkgJsonPath);
|
|
12
13
|
}
|
|
13
14
|
exports.readRootPackageJson = readRootPackageJson;
|
|
15
|
+
function getDependentPackagesForProject(projectGraph, name) {
|
|
16
|
+
const { npmPackages, workspaceLibraries } = collectDependencies(projectGraph, name);
|
|
17
|
+
return {
|
|
18
|
+
workspaceLibraries: [...workspaceLibraries.values()],
|
|
19
|
+
npmPackages: [...npmPackages],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.getDependentPackagesForProject = getDependentPackagesForProject;
|
|
23
|
+
function collectDependencies(projectGraph, name, dependencies = {
|
|
24
|
+
workspaceLibraries: new Map(),
|
|
25
|
+
npmPackages: new Set(),
|
|
26
|
+
}, seen = new Set()) {
|
|
27
|
+
var _a;
|
|
28
|
+
if (seen.has(name)) {
|
|
29
|
+
return dependencies;
|
|
30
|
+
}
|
|
31
|
+
seen.add(name);
|
|
32
|
+
((_a = projectGraph.dependencies[name]) !== null && _a !== void 0 ? _a : []).forEach((dependency) => {
|
|
33
|
+
if (dependency.target.startsWith('npm:')) {
|
|
34
|
+
dependencies.npmPackages.add(dependency.target.replace('npm:', ''));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
dependencies.workspaceLibraries.set(dependency.target, {
|
|
38
|
+
name: dependency.target,
|
|
39
|
+
root: projectGraph.nodes[dependency.target].data.root,
|
|
40
|
+
importKey: getLibraryImportPath(dependency.target, projectGraph),
|
|
41
|
+
});
|
|
42
|
+
collectDependencies(projectGraph, dependency.target, dependencies, seen);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return dependencies;
|
|
46
|
+
}
|
|
47
|
+
function getLibraryImportPath(library, projectGraph) {
|
|
48
|
+
const tsConfigPathMappings = (0, typescript_1.readTsPathMappings)();
|
|
49
|
+
const sourceRoot = projectGraph.nodes[library].data.sourceRoot;
|
|
50
|
+
for (const [key, value] of Object.entries(tsConfigPathMappings)) {
|
|
51
|
+
if (value.find((path) => path.startsWith(sourceRoot))) {
|
|
52
|
+
return key;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
14
57
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/utils.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AACtB,2BAAgC;AAChC,6CAAkD;AAQlD,SAAgB,mBAAmB;IAIjC,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,sBAAa,EAAE,cAAc,CAAC,CAAC;IACrE,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;KACH;IAED,OAAO,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAZD,kDAYC;AAED,SAAgB,8BAA8B,CAC5C,YAA0B,EAC1B,IAAY;IAKZ,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAC7D,YAAY,EACZ,IAAI,CACL,CAAC;IAEF,OAAO;QACL,kBAAkB,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACpD,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;KAC9B,CAAC;AACJ,CAAC;AAhBD,wEAgBC;AAED,SAAS,mBAAmB,CAC1B,YAA0B,EAC1B,IAAY,EACZ,eAAe;IACb,kBAAkB,EAAE,IAAI,GAAG,EAA4B;IACvD,WAAW,EAAE,IAAI,GAAG,EAAU;CAC/B,EACD,OAAoB,IAAI,GAAG,EAAE;;IAK7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,YAAY,CAAC;KACrB;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEf,CAAC,MAAA,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC7D,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YACxC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SACrE;aAAM;YACL,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE;gBACrD,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI;gBACrD,SAAS,EAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;aACjE,CAAC,CAAC;YACH,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;SAC1E;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAe,EACf,YAA0B;IAE1B,MAAM,oBAAoB,GAAG,IAAA,+BAAkB,GAAE,CAAC;IAElD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;QAC/D,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;YACrD,OAAO,GAAG,CAAC;SACZ;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -2,70 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.withModuleFederation = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const mf_webpack_1 = require("./mf-webpack");
|
|
6
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
7
|
-
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
8
|
-
const utils_1 = require("./utils");
|
|
9
|
-
const path_1 = require("path");
|
|
10
6
|
const project_graph_1 = require("nx/src/project-graph/project-graph");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const mf_webpack_1 = require("./mf-webpack");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
11
10
|
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
|
|
12
|
-
function collectDependencies(projectGraph, name, dependencies = {
|
|
13
|
-
workspaceLibraries: new Set(),
|
|
14
|
-
npmPackages: new Set(),
|
|
15
|
-
}, seen = new Set()) {
|
|
16
|
-
var _a;
|
|
17
|
-
if (seen.has(name)) {
|
|
18
|
-
return dependencies;
|
|
19
|
-
}
|
|
20
|
-
seen.add(name);
|
|
21
|
-
((_a = projectGraph.dependencies[name]) !== null && _a !== void 0 ? _a : []).forEach((dependency) => {
|
|
22
|
-
if (dependency.target.startsWith('npm:')) {
|
|
23
|
-
dependencies.npmPackages.add(dependency.target.replace('npm:', ''));
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
dependencies.workspaceLibraries.add(dependency.target);
|
|
27
|
-
collectDependencies(projectGraph, dependency.target, dependencies, seen);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
return dependencies;
|
|
31
|
-
}
|
|
32
|
-
function mapWorkspaceLibrariesToTsConfigImport(workspaceLibraries) {
|
|
33
|
-
var _a, _b;
|
|
34
|
-
const { nodes: projectGraphNodes } = (0, devkit_1.readCachedProjectGraph)();
|
|
35
|
-
const tsConfigPath = (_a = process.env.NX_TSCONFIG_PATH) !== null && _a !== void 0 ? _a : (0, typescript_1.getRootTsConfigPath)();
|
|
36
|
-
const tsConfig = (0, typescript_1.readTsConfig)(tsConfigPath);
|
|
37
|
-
const tsconfigPathAliases = (_b = tsConfig.options) === null || _b === void 0 ? void 0 : _b.paths;
|
|
38
|
-
if (!tsconfigPathAliases) {
|
|
39
|
-
return workspaceLibraries;
|
|
40
|
-
}
|
|
41
|
-
const mappedLibraries = [];
|
|
42
|
-
for (const lib of workspaceLibraries) {
|
|
43
|
-
const sourceRoot = projectGraphNodes[lib].data.sourceRoot;
|
|
44
|
-
let found = false;
|
|
45
|
-
for (const [key, value] of Object.entries(tsconfigPathAliases)) {
|
|
46
|
-
if (value.find((p) => p.startsWith(sourceRoot))) {
|
|
47
|
-
mappedLibraries.push(key);
|
|
48
|
-
found = true;
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (!found) {
|
|
53
|
-
mappedLibraries.push(lib);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return mappedLibraries;
|
|
57
|
-
}
|
|
58
|
-
function getDependentPackagesForProject(projectGraph, name) {
|
|
59
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const { npmPackages, workspaceLibraries } = collectDependencies(projectGraph, name);
|
|
61
|
-
return {
|
|
62
|
-
workspaceLibraries: mapWorkspaceLibrariesToTsConfigImport([
|
|
63
|
-
...workspaceLibraries,
|
|
64
|
-
]),
|
|
65
|
-
npmPackages: [...npmPackages],
|
|
66
|
-
};
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
11
|
function determineRemoteUrl(remote) {
|
|
70
12
|
const remoteProjectConfiguration = (0, project_graph_1.readCachedProjectConfiguration)(remote);
|
|
71
13
|
let publicHost = '';
|
|
@@ -164,7 +106,7 @@ function withModuleFederation(options) {
|
|
|
164
106
|
catch (e) {
|
|
165
107
|
projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
|
|
166
108
|
}
|
|
167
|
-
const dependencies =
|
|
109
|
+
const dependencies = (0, utils_1.getDependentPackagesForProject)(projectGraph, options.name);
|
|
168
110
|
const sharedLibraries = (0, mf_webpack_1.shareWorkspaceLibraries)(dependencies.workspaceLibraries);
|
|
169
111
|
const npmPackages = (0, mf_webpack_1.sharePackages)(dependencies.npmPackages.filter((pkg) => !DEFAULT_NPM_PACKAGES_TO_AVOID.includes(pkg)));
|
|
170
112
|
DEFAULT_NPM_PACKAGES_TO_AVOID.forEach((pkgName) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-module-federation.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/with-module-federation.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"with-module-federation.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mf/with-module-federation.ts"],"names":[],"mappings":"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"}
|