@nrwl/angular 14.1.1 → 14.1.4
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/ng-package.json +2 -1
- package/package.json +8 -7
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +0 -34
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js.map +1 -1
- package/src/executors/file-server/file-server.impl.js +6 -1
- package/src/executors/file-server/file-server.impl.js.map +1 -1
- package/src/utils/mfe/mfe-webpack.d.ts +5 -8
- package/src/utils/mfe/mfe-webpack.js +59 -45
- package/src/utils/mfe/mfe-webpack.js.map +1 -1
- package/src/utils/mfe/utils.d.ts +8 -0
- package/src/utils/mfe/utils.js +14 -0
- package/src/utils/mfe/utils.js.map +1 -0
- package/src/utils/mfe/with-module-federation.d.ts +8 -1
- package/src/utils/mfe/with-module-federation.js +62 -22
- package/src/utils/mfe/with-module-federation.js.map +1 -1
- package/src/utils/versions.js +1 -1
package/ng-package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/angular",
|
|
3
|
-
"version": "14.1.
|
|
3
|
+
"version": "14.1.4",
|
|
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,12 +65,12 @@
|
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"@angular-devkit/schematics": "~13.3.0",
|
|
68
|
-
"@nrwl/cypress": "14.1.
|
|
69
|
-
"@nrwl/devkit": "14.1.
|
|
70
|
-
"@nrwl/jest": "14.1.
|
|
71
|
-
"@nrwl/linter": "14.1.
|
|
72
|
-
"@nrwl/storybook": "14.1.
|
|
73
|
-
"@nrwl/workspace": "14.1.
|
|
68
|
+
"@nrwl/cypress": "14.1.4",
|
|
69
|
+
"@nrwl/devkit": "14.1.4",
|
|
70
|
+
"@nrwl/jest": "14.1.4",
|
|
71
|
+
"@nrwl/linter": "14.1.4",
|
|
72
|
+
"@nrwl/storybook": "14.1.4",
|
|
73
|
+
"@nrwl/workspace": "14.1.4",
|
|
74
74
|
"@schematics/angular": "~13.3.0",
|
|
75
75
|
"@phenomnomnominal/tsquery": "4.1.1",
|
|
76
76
|
"chalk": "4.1.0",
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"tsconfig-paths": "^3.9.0",
|
|
84
84
|
"semver": "7.3.4",
|
|
85
85
|
"webpack": "^5.58.1",
|
|
86
|
+
"http-server": "^14.1.0",
|
|
86
87
|
"tslib": "^2.3.0"
|
|
87
88
|
},
|
|
88
89
|
"module": "fesm2015/nrwl-angular.mjs",
|
|
@@ -7,36 +7,6 @@ const ngcli_adapter_1 = require("nx/src/adapter/ngcli-adapter");
|
|
|
7
7
|
const architect_1 = require("@angular-devkit/architect");
|
|
8
8
|
const path_1 = require("path");
|
|
9
9
|
const webpack_server_impl_1 = require("../webpack-server/webpack-server.impl");
|
|
10
|
-
const child_process_1 = require("child_process");
|
|
11
|
-
/**
|
|
12
|
-
* Inline kill-port to prevent adding a new dependency
|
|
13
|
-
*/
|
|
14
|
-
function killPort(port, method = 'tcp') {
|
|
15
|
-
port = Number.parseInt(port);
|
|
16
|
-
if (!port) {
|
|
17
|
-
throw new Error('Invalid argument provided for port');
|
|
18
|
-
}
|
|
19
|
-
if (process.platform === 'win32') {
|
|
20
|
-
return (0, child_process_1.exec)('netstat -nao', (error, stdout, stderr) => {
|
|
21
|
-
if (!stdout)
|
|
22
|
-
return;
|
|
23
|
-
const lines = stdout.split('\n');
|
|
24
|
-
// The second white-space delimited column of netstat output is the local port,
|
|
25
|
-
// which is the only port we care about.
|
|
26
|
-
// The regex here will match only the local port column of the output
|
|
27
|
-
const lineWithLocalPortRegEx = new RegExp(`^ *${method.toUpperCase()} *[^ ]*:${port}`, 'gm');
|
|
28
|
-
const linesWithLocalPort = lines.filter((line) => line.match(lineWithLocalPortRegEx));
|
|
29
|
-
const pids = linesWithLocalPort.reduce((acc, line) => {
|
|
30
|
-
const match = line.match(/(\d*)\w*(\n|$)/gm);
|
|
31
|
-
return match && match[0] && !acc.includes(match[0])
|
|
32
|
-
? acc.concat(match[0])
|
|
33
|
-
: acc;
|
|
34
|
-
}, []);
|
|
35
|
-
return (0, child_process_1.execSync)(`TaskKill /F /PID ${pids.join(' /PID ')}`);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return (0, child_process_1.execSync)(`lsof -ni ${method === 'udp' ? 'udp' : 'tcp'}:${port} | grep ${method === 'udp' ? 'UDP' : 'LISTEN'} | awk '{print $2}' | xargs kill -9`);
|
|
39
|
-
}
|
|
40
10
|
function moduleFederationDevServer(schema, context) {
|
|
41
11
|
var _a, _b, _c;
|
|
42
12
|
const workspaces = new devkit_1.Workspaces(context.workspaceRoot);
|
|
@@ -71,10 +41,6 @@ function moduleFederationDevServer(schema, context) {
|
|
|
71
41
|
executor: context.builder.builderName,
|
|
72
42
|
}, options.verbose);
|
|
73
43
|
}
|
|
74
|
-
// Cleanup ports on kill
|
|
75
|
-
process.on('kill', () => {
|
|
76
|
-
remotePorts.forEach((port) => killPort(port));
|
|
77
|
-
});
|
|
78
44
|
return (0, webpack_server_impl_1.webpackServer)(options, context);
|
|
79
45
|
}
|
|
80
46
|
exports.moduleFederationDevServer = moduleFederationDevServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-federation-dev-server.impl.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts"],"names":[],"mappings":";;;;AACA,yCAA0C;AAC1C,gEAA8D;AAC9D,yDAA0E;AAE1E,+BAA4B;AAC5B,+EAAsE;
|
|
1
|
+
{"version":3,"file":"module-federation-dev-server.impl.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts"],"names":[],"mappings":";;;;AACA,yCAA0C;AAC1C,gEAA8D;AAC9D,yDAA0E;AAE1E,+BAA4B;AAC5B,+EAAsE;AAEtE,SAAgB,yBAAyB,CACvC,MAAc,EACd,OAAuB;;IAEvB,MAAM,UAAU,GAAG,IAAI,mBAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,UAAU,CAAC,0BAA0B,EAAE,CAAC;IAEhE,MAAM,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,IAAA,WAAI,EACvB,OAAO,CAAC,aAAa,EACrB,CAAC,CAAC,IAAI,EACN,6BAA6B,CAC9B,CAAC;IAEF,IAAI,SAAgC,CAAC;IACrC,IAAI;QACF,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;KACnC;IAAC,WAAM;QACN,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,yDAAyD,CACxF,CAAC;KACH;IAED,MAAW,OAAO,kBAAK,MAAM,EAAvB,EAAc,CAAS,CAAC;IAC9B,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,UAAU;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;QAEhD,WAAW,CAAC,IAAI,CACd,MAAA,MAAA,MAAA,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,0CAAE,OAAO,CAAC,MAAM,CAAC,0CAAE,OAAO,CAAC,IAAI,mCAAI,IAAI,CACxE,CAAC;QAEF,IAAA,8BAAc,EACZ,OAAO,CAAC,aAAa,EACrB;YACE,OAAO,EAAE,MAAM;YACf,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa;YAC3C,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;SACtC,EACD,OAAO,CAAC,OAAO,CAChB,CAAC;KACH;IAED,OAAO,IAAA,mCAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAzDD,8DAyDC;AAED,kBAAe,IAAA,yBAAa,EAAsB,yBAAyB,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@ const ignore_1 = require("ignore");
|
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const chokidar_1 = require("chokidar");
|
|
9
9
|
const os_1 = require("os");
|
|
10
|
+
const path_1 = require("path");
|
|
10
11
|
// platform specific command name
|
|
11
12
|
const pmCmd = (0, os_1.platform)() === 'win32' ? `npx.cmd` : 'npx';
|
|
12
13
|
function getHttpServerArgs(options) {
|
|
@@ -121,7 +122,11 @@ function fileServerExecutor(options, context) {
|
|
|
121
122
|
run();
|
|
122
123
|
const outputPath = getBuildTargetOutputPath(options, context);
|
|
123
124
|
const args = getHttpServerArgs(options);
|
|
124
|
-
const
|
|
125
|
+
const pathToHttpServerPkgJson = require.resolve('http-server/package.json');
|
|
126
|
+
const pathToHttpServerBin = (0, devkit_1.readJsonFile)(pathToHttpServerPkgJson).bin['http-server'];
|
|
127
|
+
const pathToHttpServer = (0, path_1.resolve)(pathToHttpServerPkgJson.replace('package.json', ''), pathToHttpServerBin);
|
|
128
|
+
const serve = (0, child_process_1.fork)(pathToHttpServer, [outputPath, ...args], {
|
|
129
|
+
stdio: 'pipe',
|
|
125
130
|
cwd: context.root,
|
|
126
131
|
env: Object.assign({ FORCE_COLOR: 'true' }, process.env),
|
|
127
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-server.impl.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/executors/file-server/file-server.impl.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"file-server.impl.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/executors/file-server/file-server.impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { NormalModuleReplacementPlugin } from 'webpack';
|
|
2
2
|
export interface SharedLibraryConfig {
|
|
3
|
-
singleton
|
|
4
|
-
strictVersion
|
|
5
|
-
requiredVersion
|
|
6
|
-
eager
|
|
3
|
+
singleton?: boolean;
|
|
4
|
+
strictVersion?: boolean;
|
|
5
|
+
requiredVersion?: false | string;
|
|
6
|
+
eager?: boolean;
|
|
7
7
|
}
|
|
8
8
|
export declare function shareWorkspaceLibraries(libraries: string[], tsConfigPath?: string): {
|
|
9
|
-
getAliases: () => any[];
|
|
10
|
-
getLibraries: () => void;
|
|
11
|
-
getReplacementPlugin: () => NormalModuleReplacementPlugin;
|
|
12
|
-
} | {
|
|
13
9
|
getAliases: () => {};
|
|
14
10
|
getLibraries: (eager?: boolean) => Record<string, SharedLibraryConfig>;
|
|
15
11
|
getReplacementPlugin: () => NormalModuleReplacementPlugin;
|
|
16
12
|
};
|
|
13
|
+
export declare function getNpmPackageSharedConfig(pkgName: string, version: string): SharedLibraryConfig | undefined;
|
|
17
14
|
export declare function sharePackages(packages: string[]): Record<string, SharedLibraryConfig>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sharePackages = exports.shareWorkspaceLibraries = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const webpack_1 = require("webpack");
|
|
3
|
+
exports.sharePackages = exports.getNpmPackageSharedConfig = exports.shareWorkspaceLibraries = void 0;
|
|
6
4
|
const devkit_1 = require("@nrwl/devkit");
|
|
7
|
-
const path_1 = require("path");
|
|
8
5
|
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const webpack_1 = require("webpack");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
9
10
|
function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
10
11
|
var _a, _b;
|
|
11
12
|
if (tsConfigPath === void 0) { tsConfigPath = (_a = process.env.NX_TSCONFIG_PATH) !== null && _a !== void 0 ? _a : (0, typescript_1.getRootTsConfigPath)(); }
|
|
@@ -17,7 +18,7 @@ function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
|
17
18
|
if (!tsconfigPathAliases) {
|
|
18
19
|
return {
|
|
19
20
|
getAliases: () => [],
|
|
20
|
-
getLibraries: () => {
|
|
21
|
+
getLibraries: () => ({}),
|
|
21
22
|
getReplacementPlugin: () => new webpack_1.NormalModuleReplacementPlugin(/./, () => { }),
|
|
22
23
|
};
|
|
23
24
|
}
|
|
@@ -50,53 +51,66 @@ function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
exports.shareWorkspaceLibraries = shareWorkspaceLibraries;
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
const directories = (0, fs_1.readdirSync)(pathToPackage)
|
|
54
|
+
function getNonNodeModulesSubDirs(directory) {
|
|
55
|
+
return (0, fs_1.readdirSync)(directory)
|
|
56
56
|
.filter((file) => file !== 'node_modules')
|
|
57
|
-
.map((file) => (0, path_1.join)(
|
|
57
|
+
.map((file) => (0, path_1.join)(directory, file))
|
|
58
58
|
.filter((file) => (0, fs_1.lstatSync)(file).isDirectory());
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
}
|
|
60
|
+
function recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pkgRoot, directories, collectedPackages) {
|
|
61
|
+
for (const directory of directories) {
|
|
62
|
+
const packageJsonPath = (0, path_1.join)(directory, 'package.json');
|
|
63
|
+
if ((0, fs_1.existsSync)(packageJsonPath)) {
|
|
64
|
+
const importName = (0, devkit_1.joinPathFragments)(pkgName, (0, path_1.relative)(pkgRoot, directory));
|
|
65
|
+
try {
|
|
66
|
+
// require the secondary entry point to try to rule out sample code
|
|
67
|
+
require.resolve(importName, { paths: [devkit_1.workspaceRoot] });
|
|
68
|
+
const { name } = (0, devkit_1.readJsonFile)(packageJsonPath);
|
|
69
|
+
// further check to make sure what we were able to require is the
|
|
70
|
+
// same as the package name
|
|
71
|
+
if (name === importName) {
|
|
72
|
+
collectedPackages.push({ name, version: pkgVersion });
|
|
73
|
+
}
|
|
63
74
|
}
|
|
64
|
-
|
|
65
|
-
.filter((file) => file !== 'node_modules')
|
|
66
|
-
.map((file) => (0, path_1.join)(directory, file))
|
|
67
|
-
.filter((file) => (0, fs_1.lstatSync)(file).isDirectory());
|
|
68
|
-
recursivelyCheckSubDirectories(subDirs, secondaries);
|
|
75
|
+
catch (_a) { }
|
|
69
76
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
recursivelyCheckSubDirectories(directories, secondaries);
|
|
73
|
-
for (const secondary of secondaries) {
|
|
74
|
-
const pathToPkg = (0, path_1.join)(secondary, 'package.json');
|
|
75
|
-
const libName = JSON.parse((0, fs_1.readFileSync)(pathToPkg, 'utf-8')).name;
|
|
76
|
-
if (!libName) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
packages.push(libName);
|
|
80
|
-
collectPackageSecondaries(libName, packages);
|
|
77
|
+
const subDirs = getNonNodeModulesSubDirs(directory);
|
|
78
|
+
recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pkgRoot, subDirs, collectedPackages);
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
|
-
function
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
function collectPackageSecondaryEntryPoints(pkgName, pkgVersion, collectedPackages) {
|
|
82
|
+
const packageJsonPath = require.resolve(`${pkgName}/package.json`, {
|
|
83
|
+
paths: [devkit_1.workspaceRoot],
|
|
84
|
+
});
|
|
85
|
+
const pathToPackage = (0, path_1.dirname)(packageJsonPath);
|
|
86
|
+
const subDirs = getNonNodeModulesSubDirs(pathToPackage);
|
|
87
|
+
recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pathToPackage, subDirs, collectedPackages);
|
|
88
|
+
}
|
|
89
|
+
function getNpmPackageSharedConfig(pkgName, version) {
|
|
90
|
+
if (!version) {
|
|
91
|
+
devkit_1.logger.warn(`Could not find a version for "${pkgName}" in the root "package.json" ` +
|
|
92
|
+
'when collecting shared packages for the Module Federation setup. ' +
|
|
93
|
+
'The package will not be shared.');
|
|
94
|
+
return undefined;
|
|
87
95
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
return { singleton: true, strictVersion: true, requiredVersion: version };
|
|
97
|
+
}
|
|
98
|
+
exports.getNpmPackageSharedConfig = getNpmPackageSharedConfig;
|
|
99
|
+
function sharePackages(packages) {
|
|
100
|
+
const pkgJson = (0, utils_1.readRootPackageJson)();
|
|
101
|
+
const allPackages = [];
|
|
102
|
+
packages.forEach((pkg) => {
|
|
103
|
+
var _a, _b, _c;
|
|
104
|
+
const pkgVersion = (_b = (_a = pkgJson.dependencies) === null || _a === void 0 ? void 0 : _a[pkg]) !== null && _b !== void 0 ? _b : (_c = pkgJson.devDependencies) === null || _c === void 0 ? void 0 : _c[pkg];
|
|
105
|
+
allPackages.push({ name: pkg, version: pkgVersion });
|
|
106
|
+
collectPackageSecondaryEntryPoints(pkg, pkgVersion, allPackages);
|
|
107
|
+
});
|
|
108
|
+
return allPackages.reduce((shared, pkg) => {
|
|
109
|
+
const config = getNpmPackageSharedConfig(pkg.name, pkg.version);
|
|
110
|
+
if (config) {
|
|
111
|
+
shared[pkg.name] = config;
|
|
112
|
+
}
|
|
113
|
+
return shared;
|
|
100
114
|
}, {});
|
|
101
115
|
}
|
|
102
116
|
exports.sharePackages = sharePackages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfe-webpack.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mfe/mfe-webpack.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"mfe-webpack.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mfe/mfe-webpack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readRootPackageJson = void 0;
|
|
4
|
+
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
function readRootPackageJson() {
|
|
7
|
+
const pkgJsonPath = (0, devkit_1.joinPathFragments)(devkit_1.workspaceRoot, 'package.json');
|
|
8
|
+
if (!(0, fs_1.existsSync)(pkgJsonPath)) {
|
|
9
|
+
throw new Error('NX MFE: Could not find root package.json to determine dependency versions.');
|
|
10
|
+
}
|
|
11
|
+
return (0, devkit_1.readJsonFile)(pkgJsonPath);
|
|
12
|
+
}
|
|
13
|
+
exports.readRootPackageJson = readRootPackageJson;
|
|
14
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mfe/utils.ts"],"names":[],"mappings":";;;AAAA,yCAA8E;AAC9E,2BAAgC;AAEhC,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,4EAA4E,CAC7E,CAAC;KACH;IAED,OAAO,IAAA,qBAAY,EAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAZD,kDAYC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { SharedLibraryConfig } from './mfe-webpack';
|
|
2
2
|
export declare type MFERemotes = string[] | [remoteName: string, remoteUrl: string][];
|
|
3
|
+
declare type SharedFunction = (libraryName: string, sharedConfig: SharedLibraryConfig) => SharedLibraryConfig | false;
|
|
4
|
+
declare type AdditionalSharedConfig = Array<string | [libraryName: string, sharedConfig: SharedLibraryConfig] | {
|
|
5
|
+
libraryName: string;
|
|
6
|
+
sharedConfig: SharedLibraryConfig;
|
|
7
|
+
}>;
|
|
3
8
|
export interface MFEConfig {
|
|
4
9
|
name: string;
|
|
5
10
|
remotes?: MFERemotes;
|
|
6
11
|
exposes?: Record<string, string>;
|
|
7
|
-
shared?:
|
|
12
|
+
shared?: SharedFunction;
|
|
13
|
+
additionalShared?: AdditionalSharedConfig;
|
|
8
14
|
}
|
|
9
15
|
export declare function withModuleFederation(options: MFEConfig): Promise<(config: any) => any>;
|
|
16
|
+
export {};
|
|
@@ -7,6 +7,7 @@ const devkit_1 = require("@nrwl/devkit");
|
|
|
7
7
|
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
8
8
|
const file_utils_1 = require("nx/src/project-graph/file-utils");
|
|
9
9
|
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
10
11
|
function collectDependencies(projectGraph, name, dependencies = {
|
|
11
12
|
workspaceLibraries: new Set(),
|
|
12
13
|
npmPackages: new Set(),
|
|
@@ -53,15 +54,8 @@ function mapWorkspaceLibrariesToTsConfigImport(workspaceLibraries) {
|
|
|
53
54
|
}
|
|
54
55
|
return mappedLibraries;
|
|
55
56
|
}
|
|
56
|
-
function getDependentPackagesForProject(name) {
|
|
57
|
+
function getDependentPackagesForProject(projectGraph, name) {
|
|
57
58
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
let projectGraph;
|
|
59
|
-
try {
|
|
60
|
-
projectGraph = (0, devkit_1.readCachedProjectGraph)();
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
|
|
64
|
-
}
|
|
65
59
|
const { npmPackages, workspaceLibraries } = collectDependencies(projectGraph, name);
|
|
66
60
|
return {
|
|
67
61
|
workspaceLibraries: mapWorkspaceLibrariesToTsConfigImport([
|
|
@@ -98,10 +92,67 @@ function mapRemotes(remotes) {
|
|
|
98
92
|
}
|
|
99
93
|
return mappedRemotes;
|
|
100
94
|
}
|
|
95
|
+
function applySharedFunction(sharedConfig, sharedFn) {
|
|
96
|
+
if (!sharedFn) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
for (const [libraryName, library] of Object.entries(sharedConfig)) {
|
|
100
|
+
const mappedDependency = sharedFn(libraryName, library);
|
|
101
|
+
if (mappedDependency === false) {
|
|
102
|
+
delete sharedConfig[libraryName];
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
else if (!mappedDependency) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
sharedConfig[libraryName] = mappedDependency;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function addStringDependencyToSharedConfig(sharedConfig, dependency, projectGraph) {
|
|
112
|
+
var _a, _b, _c, _d;
|
|
113
|
+
if (projectGraph.nodes[dependency]) {
|
|
114
|
+
sharedConfig[dependency] = { requiredVersion: false };
|
|
115
|
+
}
|
|
116
|
+
else if ((_a = projectGraph.externalNodes) === null || _a === void 0 ? void 0 : _a[dependency]) {
|
|
117
|
+
const pkgJson = (0, utils_1.readRootPackageJson)();
|
|
118
|
+
const config = (0, mfe_webpack_1.getNpmPackageSharedConfig)(dependency, (_c = (_b = pkgJson.dependencies) === null || _b === void 0 ? void 0 : _b[dependency]) !== null && _c !== void 0 ? _c : (_d = pkgJson.devDependencies) === null || _d === void 0 ? void 0 : _d[dependency]);
|
|
119
|
+
if (!config) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
sharedConfig[dependency] = config;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
throw new Error(`The specified dependency "${dependency}" in the additionalShared configuration does not exist in the project graph. ` +
|
|
126
|
+
`Please check your additionalShared configuration and make sure you are including valid workspace projects or npm packages.`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function applyAdditionalShared(sharedConfig, additionalShared, projectGraph) {
|
|
130
|
+
if (!additionalShared) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
for (const shared of additionalShared) {
|
|
134
|
+
if (typeof shared === 'string') {
|
|
135
|
+
addStringDependencyToSharedConfig(sharedConfig, shared, projectGraph);
|
|
136
|
+
}
|
|
137
|
+
else if (Array.isArray(shared)) {
|
|
138
|
+
sharedConfig[shared[0]] = shared[1];
|
|
139
|
+
}
|
|
140
|
+
else if (typeof shared === 'object') {
|
|
141
|
+
sharedConfig[shared.libraryName] = shared.sharedConfig;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
101
145
|
function withModuleFederation(options) {
|
|
102
146
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
147
|
const DEFAULT_NPM_PACKAGES_TO_AVOID = ['zone.js', '@nrwl/angular/mfe'];
|
|
104
|
-
|
|
148
|
+
let projectGraph;
|
|
149
|
+
try {
|
|
150
|
+
projectGraph = (0, devkit_1.readCachedProjectGraph)();
|
|
151
|
+
}
|
|
152
|
+
catch (e) {
|
|
153
|
+
projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
|
|
154
|
+
}
|
|
155
|
+
const dependencies = yield getDependentPackagesForProject(projectGraph, options.name);
|
|
105
156
|
const sharedLibraries = (0, mfe_webpack_1.shareWorkspaceLibraries)(dependencies.workspaceLibraries);
|
|
106
157
|
const npmPackages = (0, mfe_webpack_1.sharePackages)(dependencies.npmPackages.filter((pkg) => !DEFAULT_NPM_PACKAGES_TO_AVOID.includes(pkg)));
|
|
107
158
|
DEFAULT_NPM_PACKAGES_TO_AVOID.forEach((pkgName) => {
|
|
@@ -110,19 +161,8 @@ function withModuleFederation(options) {
|
|
|
110
161
|
}
|
|
111
162
|
});
|
|
112
163
|
const sharedDependencies = Object.assign(Object.assign({}, sharedLibraries.getLibraries()), npmPackages);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const mappedDependency = options.shared(libraryName, library);
|
|
116
|
-
if (mappedDependency === false) {
|
|
117
|
-
delete sharedDependencies[libraryName];
|
|
118
|
-
continue;
|
|
119
|
-
}
|
|
120
|
-
else if (!mappedDependency) {
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
sharedDependencies[libraryName] = mappedDependency;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
164
|
+
applySharedFunction(sharedDependencies, options.shared);
|
|
165
|
+
applyAdditionalShared(sharedDependencies, options.additionalShared, projectGraph);
|
|
126
166
|
const mappedRemotes = !options.remotes || options.remotes.length === 0
|
|
127
167
|
? {}
|
|
128
168
|
: mapRemotes(options.remotes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-module-federation.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mfe/with-module-federation.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"with-module-federation.js","sourceRoot":"","sources":["../../../../../../packages/angular/src/utils/mfe/with-module-federation.ts"],"names":[],"mappings":"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"}
|
package/src/utils/versions.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.autoprefixerVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.jestPresetAngularVersion = exports.rxjsVersion = exports.ngrxVersion = exports.angularJsVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
|
|
4
|
-
exports.nxVersion = '14.1.
|
|
4
|
+
exports.nxVersion = '14.1.4';
|
|
5
5
|
exports.angularVersion = '~13.3.0';
|
|
6
6
|
exports.angularDevkitVersion = '~13.3.0';
|
|
7
7
|
exports.angularJsVersion = '1.7.9';
|