@nrwl/angular 15.0.13 → 15.1.0-beta.1
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/module-federation/index.d.ts +0 -1
- package/module-federation/index.js +0 -2
- package/module-federation/index.js.map +1 -1
- package/package.json +9 -9
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +14 -9
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js.map +1 -1
- package/src/builders/module-federation-dev-server/schema.d.ts +1 -0
- package/src/builders/module-federation-dev-server/schema.json +7 -0
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +4 -2
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js.map +1 -1
- package/src/executors/package/package.impl.js +4 -2
- package/src/executors/package/package.impl.js.map +1 -1
- package/src/executors/utilities/typescript.d.ts +13 -0
- package/src/executors/utilities/typescript.js +49 -0
- package/src/executors/utilities/typescript.js.map +1 -0
- package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +12 -8
- package/src/generators/library/library.js +2 -0
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/ng-add/migrate-from-angular-cli.js +4 -4
- package/src/generators/ng-add/migrate-from-angular-cli.js.map +1 -1
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.d.ts +10 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +88 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +1 -1
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js.map +1 -1
- package/src/generators/ng-add/migrators/builders/builder.migrator.d.ts +4 -2
- package/src/generators/ng-add/migrators/builders/builder.migrator.js +5 -1
- package/src/generators/ng-add/migrators/builders/builder.migrator.js.map +1 -1
- package/src/generators/ng-add/migrators/builders/index.d.ts +1 -0
- package/src/generators/ng-add/migrators/builders/index.js +1 -0
- package/src/generators/ng-add/migrators/builders/index.js.map +1 -1
- package/src/generators/ng-add/migrators/migrator.d.ts +8 -1
- package/src/generators/ng-add/migrators/migrator.js +78 -0
- package/src/generators/ng-add/migrators/migrator.js.map +1 -1
- package/src/generators/ng-add/migrators/projects/app.migrator.d.ts +1 -4
- package/src/generators/ng-add/migrators/projects/app.migrator.js +16 -76
- package/src/generators/ng-add/migrators/projects/app.migrator.js.map +1 -1
- package/src/generators/ng-add/migrators/projects/lib.migrator.d.ts +1 -4
- package/src/generators/ng-add/migrators/projects/lib.migrator.js +2 -57
- package/src/generators/ng-add/migrators/projects/lib.migrator.js.map +1 -1
- package/src/generators/ng-add/migrators/projects/project.migrator.d.ts +3 -8
- package/src/generators/ng-add/migrators/projects/project.migrator.js +9 -70
- package/src/generators/ng-add/migrators/projects/project.migrator.js.map +1 -1
- package/src/generators/ng-add/utilities/types.d.ts +2 -4
- package/src/generators/ng-add/utilities/workspace.d.ts +3 -2
- package/src/generators/ng-add/utilities/workspace.js +20 -23
- package/src/generators/ng-add/utilities/workspace.js.map +1 -1
- package/src/utils/mf/with-module-federation.d.ts +2 -16
- package/src/utils/mf/with-module-federation.js +6 -77
- package/src/utils/mf/with-module-federation.js.map +1 -1
- package/src/utils/mf/mf-webpack.d.ts +0 -15
- package/src/utils/mf/mf-webpack.js +0 -185
- package/src/utils/mf/mf-webpack.js.map +0 -1
- package/src/utils/mf/typescript.d.ts +0 -2
- package/src/utils/mf/typescript.js +0 -28
- package/src/utils/mf/typescript.js.map +0 -1
- package/src/utils/mf/utils.d.ts +0 -18
- package/src/utils/mf/utils.js +0 -57
- package/src/utils/mf/utils.js.map +0 -1
|
@@ -29,6 +29,15 @@ class ProjectMigrator extends migrator_1.Migrator {
|
|
|
29
29
|
get projectName() {
|
|
30
30
|
return this.project.name;
|
|
31
31
|
}
|
|
32
|
+
getWorkspaceRootFileTypesInfo() {
|
|
33
|
+
var _a;
|
|
34
|
+
const workspaceRootFileTypesInfo = {
|
|
35
|
+
eslint: Boolean((_a = this.projectConfig.targets) === null || _a === void 0 ? void 0 : _a.lint) ||
|
|
36
|
+
this.tree.exists(`${this.projectConfig.root}/.eslintrc.json`),
|
|
37
|
+
karma: this.builderMigrators.some((migrator) => migrator.rootFileType === 'karma' && migrator.isBuilderUsed()),
|
|
38
|
+
};
|
|
39
|
+
return workspaceRootFileTypesInfo;
|
|
40
|
+
}
|
|
32
41
|
validate() {
|
|
33
42
|
var _a, _b;
|
|
34
43
|
const errors = [];
|
|
@@ -105,14 +114,6 @@ class ProjectMigrator extends migrator_1.Migrator {
|
|
|
105
114
|
});
|
|
106
115
|
return errors.length ? errors : null;
|
|
107
116
|
}
|
|
108
|
-
convertAsset(asset) {
|
|
109
|
-
if (typeof asset === 'string') {
|
|
110
|
-
return this.convertSourceRootPath(asset);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return Object.assign(Object.assign({}, asset), { input: this.convertSourceRootPath(asset.input) });
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
117
|
convertEsLintConfigExtendToNewPath(eslintConfigPath, extendPath) {
|
|
117
118
|
if (!extendPath.startsWith('..')) {
|
|
118
119
|
// we only need to adjust paths that are on a different directory, files
|
|
@@ -122,11 +123,6 @@ class ProjectMigrator extends migrator_1.Migrator {
|
|
|
122
123
|
}
|
|
123
124
|
return (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(this.project.newRoot), (0, path_1.dirname)(eslintConfigPath), extendPath);
|
|
124
125
|
}
|
|
125
|
-
convertSourceRootPath(originalPath) {
|
|
126
|
-
return (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldSourceRoot))
|
|
127
|
-
? (0, devkit_1.joinPathFragments)(this.project.newSourceRoot, originalPath.replace(this.project.oldSourceRoot, ''))
|
|
128
|
-
: originalPath;
|
|
129
|
-
}
|
|
130
126
|
convertRootPath(originalPath) {
|
|
131
127
|
return (originalPath === null || originalPath === void 0 ? void 0 : originalPath.startsWith(this.project.oldRoot))
|
|
132
128
|
? (0, devkit_1.joinPathFragments)(this.project.newRoot, originalPath.replace(this.project.oldRoot, ''))
|
|
@@ -141,68 +137,11 @@ class ProjectMigrator extends migrator_1.Migrator {
|
|
|
141
137
|
}
|
|
142
138
|
return originalPath;
|
|
143
139
|
}
|
|
144
|
-
getTargetValuesForOption(target, optionPath) {
|
|
145
|
-
var _a;
|
|
146
|
-
const values = new Set();
|
|
147
|
-
const value = this.getValueForOption(target.options, optionPath);
|
|
148
|
-
if (value) {
|
|
149
|
-
values.add(value);
|
|
150
|
-
}
|
|
151
|
-
for (const configuration of Object.values((_a = target.configurations) !== null && _a !== void 0 ? _a : {})) {
|
|
152
|
-
const value = this.getValueForOption(configuration, optionPath);
|
|
153
|
-
if (value) {
|
|
154
|
-
values.add(value);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return Array.from(values);
|
|
158
|
-
}
|
|
159
|
-
getValueForOption(options, optionPath) {
|
|
160
|
-
if (!options) {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
const segments = optionPath.split('.');
|
|
164
|
-
let value = options;
|
|
165
|
-
for (const segment of segments) {
|
|
166
|
-
if (value && value[segment]) {
|
|
167
|
-
value = value[segment];
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return value;
|
|
174
|
-
}
|
|
175
|
-
moveProjectRootFile(filePath, isRequired = true) {
|
|
176
|
-
if (!filePath) {
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
const filename = !!filePath ? (0, path_1.basename)(filePath) : '';
|
|
180
|
-
const from = filePath;
|
|
181
|
-
const to = (0, devkit_1.joinPathFragments)(this.project.newRoot, filename);
|
|
182
|
-
this.moveFile(from, to, isRequired);
|
|
183
|
-
}
|
|
184
140
|
moveDir(from, to) {
|
|
185
141
|
(0, devkit_1.visitNotIgnoredFiles)(this.tree, from, (file) => {
|
|
186
142
|
this.moveFile(file, (0, devkit_1.normalizePath)(file).replace(from, to), true);
|
|
187
143
|
});
|
|
188
144
|
}
|
|
189
|
-
moveFile(from, to, required = true) {
|
|
190
|
-
if (!this.tree.exists(from)) {
|
|
191
|
-
if (required) {
|
|
192
|
-
this.logger.warn(`The path "${from}" does not exist. Skipping.`);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
else if (this.tree.exists(to)) {
|
|
196
|
-
if (required) {
|
|
197
|
-
this.logger.warn(`The path "${to}" already exists. Skipping.`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
const contents = this.tree.read(from);
|
|
202
|
-
this.tree.write(to, contents);
|
|
203
|
-
this.tree.delete(from);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
145
|
collectTargetNames() {
|
|
207
146
|
var _a;
|
|
208
147
|
const targetTypes = Object.keys(this.targets);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.migrator.js","sourceRoot":"","sources":["../../../../../../../../packages/angular/src/generators/ng-add/migrators/projects/project.migrator.ts"],"names":[],"mappings":";;;AACA,yCAKsB;AACtB,+
|
|
1
|
+
{"version":3,"file":"project.migrator.js","sourceRoot":"","sources":["../../../../../../../../packages/angular/src/generators/ng-add/migrators/projects/project.migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,8 @@ export declare type ProjectMigrationInfo = {
|
|
|
14
14
|
newRoot: string;
|
|
15
15
|
newSourceRoot: string;
|
|
16
16
|
};
|
|
17
|
-
export declare type
|
|
18
|
-
|
|
19
|
-
eslint: boolean;
|
|
20
|
-
};
|
|
17
|
+
export declare type WorkspaceRootFileType = 'karma' | 'eslint';
|
|
18
|
+
export declare type WorkspaceRootFileTypesInfo = Record<WorkspaceRootFileType, boolean>;
|
|
21
19
|
export declare type ValidationError = {
|
|
22
20
|
message?: string;
|
|
23
21
|
messageGroup?: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Tree } from '@nrwl/devkit';
|
|
2
|
+
import type { ProjectMigrator } from '../migrators';
|
|
2
3
|
import type { GeneratorOptions } from '../schema';
|
|
3
|
-
import type {
|
|
4
|
+
import type { WorkspaceRootFileTypesInfo } from './types';
|
|
4
5
|
export declare function validateWorkspace(tree: Tree): void;
|
|
5
6
|
export declare function createNxJson(tree: Tree, options: GeneratorOptions, setWorkspaceLayoutAsNewProjectRoot?: boolean): void;
|
|
6
7
|
export declare function decorateAngularCli(tree: Tree): void;
|
|
@@ -11,4 +12,4 @@ export declare function updateRootEsLintConfig(tree: Tree, existingEsLintConfig:
|
|
|
11
12
|
export declare function cleanupEsLintPackages(tree: Tree): void;
|
|
12
13
|
export declare function createWorkspaceFiles(tree: Tree): Promise<void>;
|
|
13
14
|
export declare function createRootKarmaConfig(tree: Tree): void;
|
|
14
|
-
export declare function
|
|
15
|
+
export declare function getWorkspaceRootFileTypesInfo(tree: Tree, migrators: ProjectMigrator[]): WorkspaceRootFileTypesInfo;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getWorkspaceRootFileTypesInfo = exports.createRootKarmaConfig = exports.createWorkspaceFiles = exports.cleanupEsLintPackages = exports.updateRootEsLintConfig = exports.updatePackageJson = exports.updateRootTsConfig = exports.updateWorkspaceConfigDefaults = exports.decorateAngularCli = exports.createNxJson = exports.validateWorkspace = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
6
|
const linter_1 = require("@nrwl/linter");
|
|
@@ -214,36 +214,33 @@ function createRootKarmaConfig(tree) {
|
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
216
|
exports.createRootKarmaConfig = createRootKarmaConfig;
|
|
217
|
-
function
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
function getWorkspaceRootFileTypesInfo(tree, migrators) {
|
|
218
|
+
const workspaceRootFileTypesInfo = {
|
|
219
|
+
eslint: false,
|
|
220
|
+
karma: false,
|
|
221
|
+
};
|
|
220
222
|
if (tree.exists('.eslintrc.json')) {
|
|
221
|
-
|
|
223
|
+
workspaceRootFileTypesInfo.eslint = true;
|
|
222
224
|
}
|
|
223
225
|
if (tree.exists('karma.conf.js')) {
|
|
224
|
-
|
|
226
|
+
workspaceRootFileTypesInfo.karma = true;
|
|
225
227
|
}
|
|
226
|
-
if (
|
|
227
|
-
return
|
|
228
|
+
if (workspaceRootFileTypesInfo.eslint && workspaceRootFileTypesInfo.karma) {
|
|
229
|
+
return workspaceRootFileTypesInfo;
|
|
228
230
|
}
|
|
229
|
-
for (const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
if (
|
|
236
|
-
|
|
237
|
-
tree.exists(`${project.config.root}/karma.conf.js`))) {
|
|
238
|
-
capabilities.karma = true;
|
|
239
|
-
}
|
|
240
|
-
if (capabilities.eslint && capabilities.karma) {
|
|
241
|
-
return capabilities;
|
|
231
|
+
for (const migrator of migrators) {
|
|
232
|
+
const projectInfo = migrator.getWorkspaceRootFileTypesInfo();
|
|
233
|
+
workspaceRootFileTypesInfo.eslint =
|
|
234
|
+
workspaceRootFileTypesInfo.eslint || projectInfo.eslint;
|
|
235
|
+
workspaceRootFileTypesInfo.karma =
|
|
236
|
+
workspaceRootFileTypesInfo.karma || projectInfo.karma;
|
|
237
|
+
if (workspaceRootFileTypesInfo.eslint && workspaceRootFileTypesInfo.karma) {
|
|
238
|
+
return workspaceRootFileTypesInfo;
|
|
242
239
|
}
|
|
243
240
|
}
|
|
244
|
-
return
|
|
241
|
+
return workspaceRootFileTypesInfo;
|
|
245
242
|
}
|
|
246
|
-
exports.
|
|
243
|
+
exports.getWorkspaceRootFileTypesInfo = getWorkspaceRootFileTypesInfo;
|
|
247
244
|
function updateVsCodeRecommendedExtensions(tree) {
|
|
248
245
|
const recommendations = [
|
|
249
246
|
'nrwl.angular-console',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/workspace.ts"],"names":[],"mappings":";;;;AACA,yCAQsB;AACtB,yCAAyD;AACzD,kFAAkG;AAClG,6EAA+E;AAC/E,qEAA2F;AAC3F,yEAAqF;AACrF,iEAAqE;AACrE,2BAAkC;AAClC,4DAAkE;AAClE,+BAAqC;AACrC,sDAA0E;
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../../../packages/angular/src/generators/ng-add/utilities/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare
|
|
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
|
-
}>;
|
|
8
|
-
export interface MFConfig {
|
|
9
|
-
name: string;
|
|
10
|
-
remotes?: MFRemotes;
|
|
11
|
-
exposes?: Record<string, string>;
|
|
12
|
-
shared?: SharedFunction;
|
|
13
|
-
additionalShared?: AdditionalSharedConfig;
|
|
14
|
-
}
|
|
15
|
-
export declare function withModuleFederation(options: MFConfig): Promise<(config: any) => any>;
|
|
16
|
-
export {};
|
|
1
|
+
import { ModuleFederationConfig } from '@nrwl/devkit';
|
|
2
|
+
export declare function withModuleFederation(options: ModuleFederationConfig): Promise<(config: any) => any>;
|
|
@@ -4,9 +4,6 @@ exports.withModuleFederation = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
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");
|
|
10
7
|
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
|
|
11
8
|
function determineRemoteUrl(remote) {
|
|
12
9
|
const remoteProjectConfiguration = (0, project_graph_1.readCachedProjectConfiguration)(remote);
|
|
@@ -20,74 +17,6 @@ function determineRemoteUrl(remote) {
|
|
|
20
17
|
}
|
|
21
18
|
return `${publicHost.endsWith('/') ? publicHost.slice(0, -1) : publicHost}/remoteEntry.mjs`;
|
|
22
19
|
}
|
|
23
|
-
function mapRemotes(remotes) {
|
|
24
|
-
const mappedRemotes = {};
|
|
25
|
-
for (const remote of remotes) {
|
|
26
|
-
if (Array.isArray(remote)) {
|
|
27
|
-
const [remoteName, remoteLocation] = remote;
|
|
28
|
-
const remoteLocationExt = (0, path_1.extname)(remoteLocation);
|
|
29
|
-
mappedRemotes[remoteName] = ['.js', '.mjs'].includes(remoteLocationExt)
|
|
30
|
-
? remoteLocation
|
|
31
|
-
: `${remoteLocation.endsWith('/')
|
|
32
|
-
? remoteLocation.slice(0, -1)
|
|
33
|
-
: remoteLocation}/remoteEntry.mjs`;
|
|
34
|
-
}
|
|
35
|
-
else if (typeof remote === 'string') {
|
|
36
|
-
mappedRemotes[remote] = determineRemoteUrl(remote);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return mappedRemotes;
|
|
40
|
-
}
|
|
41
|
-
function applySharedFunction(sharedConfig, sharedFn) {
|
|
42
|
-
if (!sharedFn) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
for (const [libraryName, library] of Object.entries(sharedConfig)) {
|
|
46
|
-
const mappedDependency = sharedFn(libraryName, library);
|
|
47
|
-
if (mappedDependency === false) {
|
|
48
|
-
delete sharedConfig[libraryName];
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
else if (!mappedDependency) {
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
sharedConfig[libraryName] = mappedDependency;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function addStringDependencyToSharedConfig(sharedConfig, dependency, projectGraph) {
|
|
58
|
-
var _a, _b, _c, _d;
|
|
59
|
-
if (projectGraph.nodes[dependency]) {
|
|
60
|
-
sharedConfig[dependency] = { requiredVersion: false };
|
|
61
|
-
}
|
|
62
|
-
else if ((_a = projectGraph.externalNodes) === null || _a === void 0 ? void 0 : _a[`npm:${dependency}`]) {
|
|
63
|
-
const pkgJson = (0, utils_1.readRootPackageJson)();
|
|
64
|
-
const config = (0, mf_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]);
|
|
65
|
-
if (!config) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
sharedConfig[dependency] = config;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
throw new Error(`The specified dependency "${dependency}" in the additionalShared configuration does not exist in the project graph. ` +
|
|
72
|
-
`Please check your additionalShared configuration and make sure you are including valid workspace projects or npm packages.`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function applyAdditionalShared(sharedConfig, additionalShared, projectGraph) {
|
|
76
|
-
if (!additionalShared) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
for (const shared of additionalShared) {
|
|
80
|
-
if (typeof shared === 'string') {
|
|
81
|
-
addStringDependencyToSharedConfig(sharedConfig, shared, projectGraph);
|
|
82
|
-
}
|
|
83
|
-
else if (Array.isArray(shared)) {
|
|
84
|
-
sharedConfig[shared[0]] = shared[1];
|
|
85
|
-
}
|
|
86
|
-
else if (typeof shared === 'object') {
|
|
87
|
-
sharedConfig[shared.libraryName] = shared.sharedConfig;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
20
|
function applyDefaultEagerPackages(sharedConfig) {
|
|
92
21
|
const DEFAULT_PACKAGES_TO_LOAD_EAGERLY = [
|
|
93
22
|
'@angular/localize',
|
|
@@ -114,9 +43,9 @@ function withModuleFederation(options) {
|
|
|
114
43
|
catch (e) {
|
|
115
44
|
projectGraph = yield (0, devkit_1.createProjectGraphAsync)();
|
|
116
45
|
}
|
|
117
|
-
const dependencies = (0,
|
|
118
|
-
const sharedLibraries = (0,
|
|
119
|
-
const npmPackages = (0,
|
|
46
|
+
const dependencies = (0, devkit_1.getDependentPackagesForProject)(projectGraph, options.name);
|
|
47
|
+
const sharedLibraries = (0, devkit_1.shareWorkspaceLibraries)(dependencies.workspaceLibraries);
|
|
48
|
+
const npmPackages = (0, devkit_1.sharePackages)(Array.from(new Set([
|
|
120
49
|
...DEFAULT_ANGULAR_PACKAGES_TO_SHARE,
|
|
121
50
|
...dependencies.npmPackages.filter((pkg) => !DEFAULT_NPM_PACKAGES_TO_AVOID.includes(pkg)),
|
|
122
51
|
])));
|
|
@@ -127,11 +56,11 @@ function withModuleFederation(options) {
|
|
|
127
56
|
});
|
|
128
57
|
const sharedDependencies = Object.assign(Object.assign({}, sharedLibraries.getLibraries()), npmPackages);
|
|
129
58
|
applyDefaultEagerPackages(sharedDependencies);
|
|
130
|
-
applySharedFunction(sharedDependencies, options.shared);
|
|
131
|
-
applyAdditionalShared(sharedDependencies, options.additionalShared, projectGraph);
|
|
59
|
+
(0, devkit_1.applySharedFunction)(sharedDependencies, options.shared);
|
|
60
|
+
(0, devkit_1.applyAdditionalShared)(sharedDependencies, options.additionalShared, projectGraph);
|
|
132
61
|
const mappedRemotes = !options.remotes || options.remotes.length === 0
|
|
133
62
|
? {}
|
|
134
|
-
: mapRemotes(options.remotes);
|
|
63
|
+
: (0, devkit_1.mapRemotes)(options.remotes, 'mjs', determineRemoteUrl);
|
|
135
64
|
return (config) => {
|
|
136
65
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
137
66
|
return (Object.assign(Object.assign({}, (config !== null && config !== void 0 ? config : {})), { output: Object.assign(Object.assign({}, ((_a = config.output) !== null && _a !== void 0 ? _a : {})), { uniqueName: options.name, publicPath: 'auto' }), optimization: Object.assign(Object.assign({}, ((_b = config.optimization) !== null && _b !== void 0 ? _b : {})), { runtimeChunk: false }), resolve: Object.assign(Object.assign({}, ((_c = config.resolve) !== null && _c !== void 0 ? _c : {})), { alias: Object.assign(Object.assign({}, ((_e = (_d = config.resolve) === null || _d === void 0 ? void 0 : _d.alias) !== null && _e !== void 0 ? _e : {})), sharedLibraries.getAliases()) }), experiments: Object.assign(Object.assign({}, ((_f = config.experiments) !== null && _f !== void 0 ? _f : {})), { outputModule: true }), plugins: [
|
|
@@ -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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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { NormalModuleReplacementPlugin } from 'webpack';
|
|
2
|
-
import { WorkspaceLibrary } from './utils';
|
|
3
|
-
export interface SharedLibraryConfig {
|
|
4
|
-
singleton?: boolean;
|
|
5
|
-
strictVersion?: boolean;
|
|
6
|
-
requiredVersion?: false | string;
|
|
7
|
-
eager?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare function shareWorkspaceLibraries(libraries: WorkspaceLibrary[], tsConfigPath?: string): {
|
|
10
|
-
getAliases: () => {};
|
|
11
|
-
getLibraries: (eager?: boolean) => Record<string, SharedLibraryConfig>;
|
|
12
|
-
getReplacementPlugin: () => NormalModuleReplacementPlugin;
|
|
13
|
-
};
|
|
14
|
-
export declare function getNpmPackageSharedConfig(pkgName: string, version: string): SharedLibraryConfig | undefined;
|
|
15
|
-
export declare function sharePackages(packages: string[]): Record<string, SharedLibraryConfig>;
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sharePackages = exports.getNpmPackageSharedConfig = exports.shareWorkspaceLibraries = void 0;
|
|
4
|
-
const devkit_1 = require("@nrwl/devkit");
|
|
5
|
-
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
6
|
-
const fs_1 = require("fs");
|
|
7
|
-
const package_json_1 = require("nx/src/utils/package-json");
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const webpack_1 = require("webpack");
|
|
10
|
-
const typescript_2 = require("./typescript");
|
|
11
|
-
const utils_1 = require("./utils");
|
|
12
|
-
function collectWorkspaceLibrarySecondaryEntryPoints(library, tsconfigPathAliases) {
|
|
13
|
-
const libraryRoot = (0, path_1.join)(devkit_1.workspaceRoot, library.root);
|
|
14
|
-
const needsSecondaryEntryPointsCollected = (0, fs_1.existsSync)((0, path_1.join)(libraryRoot, 'ng-package.json'));
|
|
15
|
-
const secondaryEntryPoints = [];
|
|
16
|
-
if (needsSecondaryEntryPointsCollected) {
|
|
17
|
-
const tsConfigAliasesForLibWithSecondaryEntryPoints = Object.entries(tsconfigPathAliases).reduce((acc, [tsKey, tsPaths]) => {
|
|
18
|
-
if (!tsKey.startsWith(library.importKey)) {
|
|
19
|
-
return Object.assign({}, acc);
|
|
20
|
-
}
|
|
21
|
-
if (tsPaths.some((path) => path.startsWith(`${library.root}/`))) {
|
|
22
|
-
acc = Object.assign(Object.assign({}, acc), { [tsKey]: tsPaths });
|
|
23
|
-
}
|
|
24
|
-
return acc;
|
|
25
|
-
}, {});
|
|
26
|
-
for (const [alias] of Object.entries(tsConfigAliasesForLibWithSecondaryEntryPoints)) {
|
|
27
|
-
const pathToLib = (0, path_1.dirname)((0, path_1.join)(devkit_1.workspaceRoot, tsconfigPathAliases[alias][0]));
|
|
28
|
-
let searchDir = pathToLib;
|
|
29
|
-
while (searchDir !== libraryRoot) {
|
|
30
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(searchDir, 'ng-package.json'))) {
|
|
31
|
-
secondaryEntryPoints.push({ name: alias, path: pathToLib });
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
searchDir = (0, path_1.dirname)(searchDir);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return secondaryEntryPoints;
|
|
39
|
-
}
|
|
40
|
-
function shareWorkspaceLibraries(libraries, tsConfigPath) {
|
|
41
|
-
var _a;
|
|
42
|
-
if (tsConfigPath === void 0) { tsConfigPath = (_a = process.env.NX_TSCONFIG_PATH) !== null && _a !== void 0 ? _a : (0, typescript_1.getRootTsConfigPath)(); }
|
|
43
|
-
if (!libraries) {
|
|
44
|
-
return getEmptySharedLibrariesConfig();
|
|
45
|
-
}
|
|
46
|
-
const tsconfigPathAliases = (0, typescript_2.readTsPathMappings)(tsConfigPath);
|
|
47
|
-
if (!Object.keys(tsconfigPathAliases).length) {
|
|
48
|
-
return getEmptySharedLibrariesConfig();
|
|
49
|
-
}
|
|
50
|
-
const pathMappings = [];
|
|
51
|
-
for (const [key, paths] of Object.entries(tsconfigPathAliases)) {
|
|
52
|
-
const library = libraries.find((lib) => lib.importKey === key);
|
|
53
|
-
if (!library) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
collectWorkspaceLibrarySecondaryEntryPoints(library, tsconfigPathAliases).forEach(({ name, path }) => pathMappings.push({
|
|
57
|
-
name,
|
|
58
|
-
path,
|
|
59
|
-
}));
|
|
60
|
-
pathMappings.push({
|
|
61
|
-
name: key,
|
|
62
|
-
path: (0, path_1.normalize)((0, path_1.join)(devkit_1.workspaceRoot, paths[0])),
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return {
|
|
66
|
-
getAliases: () => pathMappings.reduce((aliases, library) => (Object.assign(Object.assign({}, aliases), { [library.name]: library.path })), {}),
|
|
67
|
-
getLibraries: (eager) => pathMappings.reduce((libraries, library) => (Object.assign(Object.assign({}, libraries), { [library.name]: { requiredVersion: false, eager } })), {}),
|
|
68
|
-
getReplacementPlugin: () => new webpack_1.NormalModuleReplacementPlugin(/./, (req) => {
|
|
69
|
-
if (!req.request.startsWith('.')) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const from = req.context;
|
|
73
|
-
const to = (0, path_1.normalize)((0, path_1.join)(req.context, req.request));
|
|
74
|
-
for (const library of pathMappings) {
|
|
75
|
-
const libFolder = (0, path_1.normalize)((0, path_1.dirname)(library.path));
|
|
76
|
-
if (!from.startsWith(libFolder) &&
|
|
77
|
-
to.startsWith(libFolder) &&
|
|
78
|
-
!library.name.endsWith('/*')) {
|
|
79
|
-
req.request = library.name;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}),
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
exports.shareWorkspaceLibraries = shareWorkspaceLibraries;
|
|
86
|
-
function getEmptySharedLibrariesConfig() {
|
|
87
|
-
return {
|
|
88
|
-
getAliases: () => ({}),
|
|
89
|
-
getLibraries: () => ({}),
|
|
90
|
-
getReplacementPlugin: () => new webpack_1.NormalModuleReplacementPlugin(/./, () => { }),
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function getNonNodeModulesSubDirs(directory) {
|
|
94
|
-
return (0, fs_1.readdirSync)(directory)
|
|
95
|
-
.filter((file) => file !== 'node_modules')
|
|
96
|
-
.map((file) => (0, path_1.join)(directory, file))
|
|
97
|
-
.filter((file) => (0, fs_1.lstatSync)(file).isDirectory());
|
|
98
|
-
}
|
|
99
|
-
function recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pkgRoot, mainEntryPointExports, directories, collectedPackages) {
|
|
100
|
-
for (const directory of directories) {
|
|
101
|
-
const packageJsonPath = (0, path_1.join)(directory, 'package.json');
|
|
102
|
-
const relativeEntryPointPath = (0, path_1.relative)(pkgRoot, directory);
|
|
103
|
-
const entryPointName = (0, devkit_1.joinPathFragments)(pkgName, relativeEntryPointPath);
|
|
104
|
-
if ((0, fs_1.existsSync)(packageJsonPath)) {
|
|
105
|
-
try {
|
|
106
|
-
// require the secondary entry point to try to rule out sample code
|
|
107
|
-
require.resolve(entryPointName, { paths: [devkit_1.workspaceRoot] });
|
|
108
|
-
const { name } = (0, devkit_1.readJsonFile)(packageJsonPath);
|
|
109
|
-
// further check to make sure what we were able to require is the
|
|
110
|
-
// same as the package name
|
|
111
|
-
if (name === entryPointName) {
|
|
112
|
-
collectedPackages.push({ name, version: pkgVersion });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
catch (_a) { }
|
|
116
|
-
}
|
|
117
|
-
else if (mainEntryPointExports) {
|
|
118
|
-
// if the package.json doesn't exist, check if the directory is
|
|
119
|
-
// exported by the main entry point
|
|
120
|
-
const entryPointExportKey = `./${relativeEntryPointPath}`;
|
|
121
|
-
const entryPointInfo = mainEntryPointExports[entryPointExportKey];
|
|
122
|
-
if (entryPointInfo) {
|
|
123
|
-
collectedPackages.push({
|
|
124
|
-
name: entryPointName,
|
|
125
|
-
version: pkgVersion,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const subDirs = getNonNodeModulesSubDirs(directory);
|
|
130
|
-
recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pkgRoot, mainEntryPointExports, subDirs, collectedPackages);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
function collectPackageSecondaryEntryPoints(pkgName, pkgVersion, collectedPackages) {
|
|
134
|
-
let pathToPackage;
|
|
135
|
-
let packageJsonPath;
|
|
136
|
-
let packageJson;
|
|
137
|
-
try {
|
|
138
|
-
({ path: packageJsonPath, packageJson } = (0, package_json_1.readModulePackageJson)(pkgName));
|
|
139
|
-
pathToPackage = (0, path_1.dirname)(packageJsonPath);
|
|
140
|
-
}
|
|
141
|
-
catch (_a) {
|
|
142
|
-
// the package.json might not resolve if the package has the "exports"
|
|
143
|
-
// entry and is not exporting the package.json file, fall back to trying
|
|
144
|
-
// to find it from the top-level node_modules
|
|
145
|
-
pathToPackage = (0, path_1.join)(devkit_1.workspaceRoot, 'node_modules', pkgName);
|
|
146
|
-
packageJsonPath = (0, path_1.join)(pathToPackage, 'package.json');
|
|
147
|
-
if (!(0, fs_1.existsSync)(packageJsonPath)) {
|
|
148
|
-
// might not exist if it's nested in another package, just return here
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
packageJson = (0, devkit_1.readJsonFile)(packageJsonPath);
|
|
152
|
-
}
|
|
153
|
-
const { exports } = packageJson;
|
|
154
|
-
const subDirs = getNonNodeModulesSubDirs(pathToPackage);
|
|
155
|
-
recursivelyCollectSecondaryEntryPointsFromDirectory(pkgName, pkgVersion, pathToPackage, exports, subDirs, collectedPackages);
|
|
156
|
-
}
|
|
157
|
-
function getNpmPackageSharedConfig(pkgName, version) {
|
|
158
|
-
if (!version) {
|
|
159
|
-
devkit_1.logger.warn(`Could not find a version for "${pkgName}" in the root "package.json" ` +
|
|
160
|
-
'when collecting shared packages for the Module Federation setup. ' +
|
|
161
|
-
'The package will not be shared.');
|
|
162
|
-
return undefined;
|
|
163
|
-
}
|
|
164
|
-
return { singleton: true, strictVersion: true, requiredVersion: version };
|
|
165
|
-
}
|
|
166
|
-
exports.getNpmPackageSharedConfig = getNpmPackageSharedConfig;
|
|
167
|
-
function sharePackages(packages) {
|
|
168
|
-
const pkgJson = (0, utils_1.readRootPackageJson)();
|
|
169
|
-
const allPackages = [];
|
|
170
|
-
packages.forEach((pkg) => {
|
|
171
|
-
var _a, _b, _c;
|
|
172
|
-
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];
|
|
173
|
-
allPackages.push({ name: pkg, version: pkgVersion });
|
|
174
|
-
collectPackageSecondaryEntryPoints(pkg, pkgVersion, allPackages);
|
|
175
|
-
});
|
|
176
|
-
return allPackages.reduce((shared, pkg) => {
|
|
177
|
-
const config = getNpmPackageSharedConfig(pkg.name, pkg.version);
|
|
178
|
-
if (config) {
|
|
179
|
-
shared[pkg.name] = config;
|
|
180
|
-
}
|
|
181
|
-
return shared;
|
|
182
|
-
}, {});
|
|
183
|
-
}
|
|
184
|
-
exports.sharePackages = sharePackages;
|
|
185
|
-
//# sourceMappingURL=mf-webpack.js.map
|