@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.
Files changed (61) hide show
  1. package/README.md +259 -0
  2. package/builders.json +10 -0
  3. package/collection.json +17 -0
  4. package/config.d.ts +1 -0
  5. package/config.js +5 -0
  6. package/config.js.map +1 -0
  7. package/executors.json +10 -0
  8. package/generators.json +12 -0
  9. package/package.json +27 -0
  10. package/src/builders/build/builder.d.ts +5 -0
  11. package/src/builders/build/builder.js +224 -0
  12. package/src/builders/build/builder.js.map +1 -0
  13. package/src/builders/build/schema.d.ts +3 -0
  14. package/src/builders/build/schema.json +550 -0
  15. package/src/config/federation-config.d.ts +26 -0
  16. package/src/config/federation-config.js +3 -0
  17. package/src/config/federation-config.js.map +1 -0
  18. package/src/config/index.d.ts +2 -0
  19. package/src/config/index.js +10 -0
  20. package/src/config/index.js.map +1 -0
  21. package/src/config/with-native-federation.d.ts +2 -0
  22. package/src/config/with-native-federation.js +53 -0
  23. package/src/config/with-native-federation.js.map +1 -0
  24. package/src/config.d.ts +2 -0
  25. package/src/config.js +10 -0
  26. package/src/config.js.map +1 -0
  27. package/src/executors/build/executor.d.ts +4 -0
  28. package/src/executors/build/executor.js +13 -0
  29. package/src/executors/build/executor.js.map +1 -0
  30. package/src/executors/build/schema.d.ts +1 -0
  31. package/src/executors/build/schema.json +9 -0
  32. package/src/generators/native-federation/files/src/index.ts__template__ +1 -0
  33. package/src/generators/native-federation/generator.d.ts +3 -0
  34. package/src/generators/native-federation/generator.js +44 -0
  35. package/src/generators/native-federation/generator.js.map +1 -0
  36. package/src/generators/native-federation/schema.d.ts +5 -0
  37. package/src/generators/native-federation/schema.json +29 -0
  38. package/src/index.d.ts +1 -0
  39. package/src/index.js +5 -0
  40. package/src/index.js.map +1 -0
  41. package/src/schematics/init/files/federation.config.js +19 -0
  42. package/src/schematics/init/schema.d.ts +6 -0
  43. package/src/schematics/init/schema.json +34 -0
  44. package/src/schematics/init/schematic.d.ts +4 -0
  45. package/src/schematics/init/schematic.js +174 -0
  46. package/src/schematics/init/schematic.js.map +1 -0
  47. package/src/utils/build-utils.d.ts +9 -0
  48. package/src/utils/build-utils.js +38 -0
  49. package/src/utils/build-utils.js.map +1 -0
  50. package/src/utils/hash-file.d.ts +1 -0
  51. package/src/utils/hash-file.js +13 -0
  52. package/src/utils/hash-file.js.map +1 -0
  53. package/src/utils/mapped-paths.d.ts +10 -0
  54. package/src/utils/mapped-paths.js +37 -0
  55. package/src/utils/mapped-paths.js.map +1 -0
  56. package/src/utils/package-info.d.ts +7 -0
  57. package/src/utils/package-info.js +94 -0
  58. package/src/utils/package-info.js.map +1 -0
  59. package/src/utils/shared-mappings-plugin.d.ts +3 -0
  60. package/src/utils/shared-mappings-plugin.js +29 -0
  61. 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,3 @@
1
+ import { Plugin } from 'esbuild';
2
+ import { MappedPath } from './mapped-paths';
3
+ export declare function createSharedMappingsPlugin(mappedPaths: MappedPath[]): Plugin;
@@ -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"}