@angular-architects/native-federation 0.9.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/README.md +259 -0
- package/builders.json +10 -0
- package/collection.json +17 -0
- package/config.d.ts +1 -0
- package/config.js +5 -0
- package/config.js.map +1 -0
- package/executors.json +10 -0
- package/generators.json +12 -0
- package/package.json +27 -0
- package/src/builders/build/builder.d.ts +5 -0
- package/src/builders/build/builder.js +224 -0
- package/src/builders/build/builder.js.map +1 -0
- package/src/builders/build/schema.d.ts +3 -0
- package/src/builders/build/schema.json +550 -0
- package/src/config/federation-config.d.ts +26 -0
- package/src/config/federation-config.js +3 -0
- package/src/config/federation-config.js.map +1 -0
- package/src/config/index.d.ts +2 -0
- package/src/config/index.js +10 -0
- package/src/config/index.js.map +1 -0
- package/src/config/with-native-federation.d.ts +2 -0
- package/src/config/with-native-federation.js +53 -0
- package/src/config/with-native-federation.js.map +1 -0
- package/src/config.d.ts +2 -0
- package/src/config.js +10 -0
- package/src/config.js.map +1 -0
- package/src/executors/build/executor.d.ts +4 -0
- package/src/executors/build/executor.js +13 -0
- package/src/executors/build/executor.js.map +1 -0
- package/src/executors/build/schema.d.ts +1 -0
- package/src/executors/build/schema.json +9 -0
- package/src/generators/native-federation/files/src/index.ts__template__ +1 -0
- package/src/generators/native-federation/generator.d.ts +3 -0
- package/src/generators/native-federation/generator.js +44 -0
- package/src/generators/native-federation/generator.js.map +1 -0
- package/src/generators/native-federation/schema.d.ts +5 -0
- package/src/generators/native-federation/schema.json +29 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/schematics/init/files/federation.config.js +19 -0
- package/src/schematics/init/schema.d.ts +6 -0
- package/src/schematics/init/schema.json +34 -0
- package/src/schematics/init/schematic.d.ts +4 -0
- package/src/schematics/init/schematic.js +174 -0
- package/src/schematics/init/schematic.js.map +1 -0
- package/src/utils/build-utils.d.ts +9 -0
- package/src/utils/build-utils.js +38 -0
- package/src/utils/build-utils.js.map +1 -0
- package/src/utils/hash-file.d.ts +1 -0
- package/src/utils/hash-file.js +13 -0
- package/src/utils/hash-file.js.map +1 -0
- package/src/utils/mapped-paths.d.ts +10 -0
- package/src/utils/mapped-paths.js +37 -0
- package/src/utils/mapped-paths.js.map +1 -0
- package/src/utils/package-info.d.ts +7 -0
- package/src/utils/package-info.js +94 -0
- package/src/utils/package-info.js.map +1 -0
- package/src/utils/shared-mappings-plugin.d.ts +3 -0
- package/src/utils/shared-mappings-plugin.js +29 -0
- package/src/utils/shared-mappings-plugin.js.map +1 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPackageInfo = void 0;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function getPackageInfo(packageName, context) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const projectRoot = context.workspaceRoot;
|
|
9
|
+
const mainPkgName = getPkgFolder(packageName);
|
|
10
|
+
const mainPkgPath = path.join(projectRoot, 'node_modules', mainPkgName);
|
|
11
|
+
const mainPkgJsonPath = path.join(mainPkgPath, 'package.json');
|
|
12
|
+
if (!fs.existsSync(mainPkgPath)) {
|
|
13
|
+
context.logger.warn('No package.json found for ' + packageName);
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const mainPkgJson = readJson(mainPkgJsonPath);
|
|
17
|
+
const version = mainPkgJson['version'];
|
|
18
|
+
if (!version) {
|
|
19
|
+
context.logger.warn('No version found for ' + packageName);
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
let relSecondaryPath = path.relative(mainPkgName, packageName);
|
|
23
|
+
if (!relSecondaryPath) {
|
|
24
|
+
relSecondaryPath = '.';
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
relSecondaryPath = './' + relSecondaryPath;
|
|
28
|
+
}
|
|
29
|
+
let cand = (_b = (_a = mainPkgJson === null || mainPkgJson === void 0 ? void 0 : mainPkgJson.exports) === null || _a === void 0 ? void 0 : _a[relSecondaryPath]) === null || _b === void 0 ? void 0 : _b.default;
|
|
30
|
+
if (cand) {
|
|
31
|
+
return {
|
|
32
|
+
entryPoint: path.join(mainPkgPath, cand),
|
|
33
|
+
packageName,
|
|
34
|
+
version,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
cand = mainPkgJson['module'];
|
|
38
|
+
if (cand && relSecondaryPath === '.') {
|
|
39
|
+
return {
|
|
40
|
+
entryPoint: path.join(mainPkgPath, cand),
|
|
41
|
+
packageName,
|
|
42
|
+
version,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const secondaryPgkPath = path.join(projectRoot, 'node_modules', packageName);
|
|
46
|
+
const secondaryPgkJsonPath = path.join(secondaryPgkPath, 'package.json');
|
|
47
|
+
let secondaryPgkJson = null;
|
|
48
|
+
if (fs.existsSync(secondaryPgkJsonPath)) {
|
|
49
|
+
secondaryPgkJson = readJson(secondaryPgkJsonPath);
|
|
50
|
+
}
|
|
51
|
+
if (secondaryPgkJson && secondaryPgkJson['module']) {
|
|
52
|
+
return {
|
|
53
|
+
entryPoint: path.join(secondaryPgkPath, secondaryPgkJson['module']),
|
|
54
|
+
packageName,
|
|
55
|
+
version,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
cand = path.join(secondaryPgkPath, 'index.mjs');
|
|
59
|
+
if (fs.existsSync(cand)) {
|
|
60
|
+
return {
|
|
61
|
+
entryPoint: cand,
|
|
62
|
+
packageName,
|
|
63
|
+
version,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
cand = path.join(secondaryPgkPath, 'index.js');
|
|
67
|
+
if (fs.existsSync(cand)) {
|
|
68
|
+
return {
|
|
69
|
+
entryPoint: cand,
|
|
70
|
+
packageName,
|
|
71
|
+
version,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
context.logger.warn('No esm-based entry point found for ' + packageName);
|
|
75
|
+
context.logger.warn(' >> Did you confuse dependencies with depDependencies in your package.json or your federation config?');
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
exports.getPackageInfo = getPackageInfo;
|
|
79
|
+
function readJson(mainPkgJsonPath) {
|
|
80
|
+
return JSON.parse(fs.readFileSync(mainPkgJsonPath, 'utf-8'));
|
|
81
|
+
}
|
|
82
|
+
function getPkgFolder(packageName) {
|
|
83
|
+
const parts = packageName.split('/');
|
|
84
|
+
let folder = parts[0];
|
|
85
|
+
if (folder.startsWith('@')) {
|
|
86
|
+
folder += '/' + parts[1];
|
|
87
|
+
}
|
|
88
|
+
return folder;
|
|
89
|
+
}
|
|
90
|
+
// const pkg = process.argv[2]
|
|
91
|
+
// console.log('pkg', pkg);
|
|
92
|
+
// const r = getPackageInfo('D:/Dokumente/projekte/mf-plugin/angular-architects/', pkg);
|
|
93
|
+
// console.log('entry', r);
|
|
94
|
+
//# sourceMappingURL=package-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-info.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/package-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSharedMappingsPlugin = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function createSharedMappingsPlugin(mappedPaths) {
|
|
7
|
+
return {
|
|
8
|
+
name: 'custom',
|
|
9
|
+
setup(build) {
|
|
10
|
+
build.onResolve({ filter: /^[.]/ }, (args) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
|
+
let mappedPath = null;
|
|
12
|
+
if (args.path.includes('playground-lib') &&
|
|
13
|
+
args.kind === 'import-statement') {
|
|
14
|
+
const importPath = path.join(args.resolveDir, args.path);
|
|
15
|
+
mappedPath = mappedPaths.find((p) => importPath.startsWith(path.dirname(p.path)));
|
|
16
|
+
}
|
|
17
|
+
if (mappedPath) {
|
|
18
|
+
return {
|
|
19
|
+
path: mappedPath.key,
|
|
20
|
+
external: true,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {};
|
|
24
|
+
}));
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.createSharedMappingsPlugin = createSharedMappingsPlugin;
|
|
29
|
+
//# sourceMappingURL=shared-mappings-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-mappings-plugin.js","sourceRoot":"","sources":["../../../../../libs/native-federation/src/utils/shared-mappings-plugin.ts"],"names":[],"mappings":";;;;AACA,6BAA6B;AAG7B,SAAgB,0BAA0B,CAAC,WAAyB;IAClE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,CAAC,KAAkB;YACtB,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAO,IAAI,EAAE,EAAE;gBACjD,IAAI,UAAU,GAAsB,IAAI,CAAC;gBACzC,IACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBACpC,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAChC;oBACA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzD,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;iBACH;gBAED,IAAI,UAAU,EAAE;oBACd,OAAO;wBACL,IAAI,EAAE,UAAU,CAAC,GAAG;wBACpB,QAAQ,EAAE,IAAI;qBACf,CAAC;iBACH;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AA3BD,gEA2BC"}
|