@softarc/native-federation 1.1.2 → 2.0.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/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@softarc/native-federation",
3
- "version": "1.1.2",
3
+ "version": "2.0.0",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
- "@softarc/native-federation-runtime": "1.1.2",
6
+ "@softarc/native-federation-runtime": "2.0.0",
7
7
  "json5": "^2.2.0",
8
8
  "npmlog": "^6.0.2",
9
9
  "process": "0.11.10"
package/src/build.d.ts CHANGED
@@ -3,16 +3,14 @@ export { FederationOptions } from './lib/core/federation-options';
3
3
  export { setBuildAdapter } from './lib/core/build-adapter';
4
4
  export { writeImportMap } from './lib/core/write-import-map';
5
5
  export { writeFederationInfo } from './lib/core/write-federation-info';
6
- export { bundleShared } from './lib/core/bundle-shared';
7
- export { bundleSharedMappings } from './lib/core/bundle-shared-mappings';
8
- export { bundleExposed } from './lib/core/bundle-exposed';
9
6
  export { getExternals } from './lib/core/get-externals';
10
7
  export { loadFederationConfig } from './lib/core/load-federation-config';
11
8
  export { MappedPath } from './lib/utils/mapped-paths';
12
- export { BuildAdapter, BuildAdapterOptions } from './lib/core/build-adapter';
9
+ export { BuildAdapter, BuildAdapterOptions, BuildResult, BuildKind, } from './lib/core/build-adapter';
13
10
  export { withNativeFederation } from './lib/config/with-native-federation';
14
11
  export { buildForFederation } from './lib/core/build-for-federation';
15
12
  export { share, shareAll, findRootTsConfigJson, } from './lib/config/share-utils';
16
13
  export { federationBuilder, BuildHelperParams, } from './lib/core/federation-builder';
17
14
  export { logger, setLogLevel } from './lib/utils/logger';
18
15
  export { hashFile } from './lib/utils/hash-file';
16
+ export * from './lib/utils/build-result-map';
package/src/build.js CHANGED
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hashFile = exports.setLogLevel = exports.logger = exports.federationBuilder = exports.findRootTsConfigJson = exports.shareAll = exports.share = exports.buildForFederation = exports.withNativeFederation = exports.loadFederationConfig = exports.getExternals = exports.bundleExposed = exports.bundleSharedMappings = exports.bundleShared = exports.writeFederationInfo = exports.writeImportMap = exports.setBuildAdapter = void 0;
3
+ exports.hashFile = exports.setLogLevel = exports.logger = exports.federationBuilder = exports.findRootTsConfigJson = exports.shareAll = exports.share = exports.buildForFederation = exports.withNativeFederation = exports.loadFederationConfig = exports.getExternals = exports.writeFederationInfo = exports.writeImportMap = exports.setBuildAdapter = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  var build_adapter_1 = require("./lib/core/build-adapter");
5
6
  Object.defineProperty(exports, "setBuildAdapter", { enumerable: true, get: function () { return build_adapter_1.setBuildAdapter; } });
6
7
  var write_import_map_1 = require("./lib/core/write-import-map");
7
8
  Object.defineProperty(exports, "writeImportMap", { enumerable: true, get: function () { return write_import_map_1.writeImportMap; } });
8
9
  var write_federation_info_1 = require("./lib/core/write-federation-info");
9
10
  Object.defineProperty(exports, "writeFederationInfo", { enumerable: true, get: function () { return write_federation_info_1.writeFederationInfo; } });
10
- var bundle_shared_1 = require("./lib/core/bundle-shared");
11
- Object.defineProperty(exports, "bundleShared", { enumerable: true, get: function () { return bundle_shared_1.bundleShared; } });
12
- var bundle_shared_mappings_1 = require("./lib/core/bundle-shared-mappings");
13
- Object.defineProperty(exports, "bundleSharedMappings", { enumerable: true, get: function () { return bundle_shared_mappings_1.bundleSharedMappings; } });
14
- var bundle_exposed_1 = require("./lib/core/bundle-exposed");
15
- Object.defineProperty(exports, "bundleExposed", { enumerable: true, get: function () { return bundle_exposed_1.bundleExposed; } });
16
11
  var get_externals_1 = require("./lib/core/get-externals");
17
12
  Object.defineProperty(exports, "getExternals", { enumerable: true, get: function () { return get_externals_1.getExternals; } });
18
13
  var load_federation_config_1 = require("./lib/core/load-federation-config");
@@ -32,4 +27,5 @@ Object.defineProperty(exports, "logger", { enumerable: true, get: function () {
32
27
  Object.defineProperty(exports, "setLogLevel", { enumerable: true, get: function () { return logger_1.setLogLevel; } });
33
28
  var hash_file_1 = require("./lib/utils/hash-file");
34
29
  Object.defineProperty(exports, "hashFile", { enumerable: true, get: function () { return hash_file_1.hashFile; } });
30
+ tslib_1.__exportStar(require("./lib/utils/build-result-map"), exports);
35
31
  //# sourceMappingURL=build.js.map
package/src/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../libs/native-federation-core/src/build.ts"],"names":[],"mappings":";;;AAEA,0DAA2D;AAAlD,gHAAA,eAAe,OAAA;AACxB,gEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAC7B,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAG7B,8EAA2E;AAAlE,8HAAA,oBAAoB,OAAA;AAC7B,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAC3B,wDAIkC;AAHhC,oGAAA,KAAK,OAAA;AACL,uGAAA,QAAQ,OAAA;AACR,mHAAA,oBAAoB,OAAA;AAEtB,oEAGuC;AAFrC,uHAAA,iBAAiB,OAAA;AAGnB,6CAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC5B,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../libs/native-federation-core/src/build.ts"],"names":[],"mappings":";;;;AAEA,0DAA2D;AAAlD,gHAAA,eAAe,OAAA;AACxB,gEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,0EAAuE;AAA9D,4HAAA,mBAAmB,OAAA;AAC5B,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,4EAAyE;AAAhE,8HAAA,oBAAoB,OAAA;AAQ7B,8EAA2E;AAAlE,8HAAA,oBAAoB,OAAA;AAC7B,wEAAqE;AAA5D,0HAAA,kBAAkB,OAAA;AAC3B,wDAIkC;AAHhC,oGAAA,KAAK,OAAA;AACL,uGAAA,QAAQ,OAAA;AACR,mHAAA,oBAAoB,OAAA;AAEtB,oEAGuC;AAFrC,uHAAA,iBAAiB,OAAA;AAGnB,6CAAyD;AAAhD,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC5B,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,uEAA6C"}
@@ -1,17 +1,25 @@
1
1
  import { MappedPath } from '../utils/mapped-paths';
2
- export type BuildKind = 'shared-package' | 'shared-mapping' | 'exposed';
2
+ export type BuildKind = 'shared-package' | 'shared-mapping' | 'exposed' | 'mapping-or-exposed';
3
+ export interface EntryPoint {
4
+ fileName: string;
5
+ outName: string;
6
+ }
3
7
  export interface BuildAdapterOptions {
4
- entryPoint: string;
8
+ entryPoints: EntryPoint[];
5
9
  tsConfigPath?: string;
6
10
  external: Array<string>;
7
- outfile: string;
11
+ outdir: string;
8
12
  mappedPaths: MappedPath[];
9
13
  packageName?: string;
10
14
  esm?: boolean;
11
15
  dev?: boolean;
12
16
  watch?: boolean;
13
17
  kind: BuildKind;
18
+ hash: boolean;
19
+ }
20
+ export interface BuildResult {
21
+ fileName: string;
14
22
  }
15
- export type BuildAdapter = (options: BuildAdapterOptions) => Promise<void>;
23
+ export type BuildAdapter = (options: BuildAdapterOptions) => Promise<BuildResult[]>;
16
24
  export declare function setBuildAdapter(buildAdapter: BuildAdapter): void;
17
25
  export declare function getBuildAdapter(): BuildAdapter;
@@ -6,6 +6,7 @@ const logger_1 = require("../utils/logger");
6
6
  let _buildAdapter = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
7
7
  // TODO: add logger
8
8
  logger_1.logger.error('Please set a BuildAdapter!');
9
+ return [];
9
10
  });
10
11
  function setBuildAdapter(buildAdapter) {
11
12
  _buildAdapter = buildAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"build-adapter.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/build-adapter.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AAGzC,IAAI,aAAa,GAAiB,GAAS,EAAE;IAC3C,mBAAmB;IACnB,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAC7C,CAAC,CAAA,CAAC;AAmBF,SAAgB,eAAe,CAAC,YAA0B;IACxD,aAAa,GAAG,YAAY,CAAC;AAC/B,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"build-adapter.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/build-adapter.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AAGzC,IAAI,aAAa,GAAiB,GAAS,EAAE;IAC3C,mBAAmB;IACnB,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC;AACZ,CAAC,CAAA,CAAC;AAmCF,SAAgB,eAAe,CAAC,YAA0B;IACxD,aAAa,GAAG,YAAY,CAAC;AAC/B,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAFD,0CAEC"}
@@ -2,8 +2,7 @@ import { NormalizedFederationConfig } from '../config/federation-config';
2
2
  import { FederationInfo } from '@softarc/native-federation-runtime';
3
3
  import { FederationOptions } from './federation-options';
4
4
  export interface BuildParams {
5
- skipMappings: boolean;
6
- skipExposed: boolean;
5
+ skipMappingsAndExposed: boolean;
7
6
  }
8
7
  export declare const defaultBuildParams: BuildParams;
9
8
  export declare function buildForFederation(config: NormalizedFederationConfig, fedOptions: FederationOptions, externals: string[], buildParams?: BuildParams): Promise<FederationInfo>;
@@ -5,21 +5,23 @@ const tslib_1 = require("tslib");
5
5
  const write_import_map_1 = require("./write-import-map");
6
6
  const write_federation_info_1 = require("./write-federation-info");
7
7
  const bundle_shared_1 = require("./bundle-shared");
8
- const bundle_shared_mappings_1 = require("./bundle-shared-mappings");
9
- const bundle_exposed_1 = require("./bundle-exposed");
8
+ const bundle_exposed_and_mappings_1 = require("./bundle-exposed-and-mappings");
10
9
  exports.defaultBuildParams = {
11
- skipExposed: false,
12
- skipMappings: false,
10
+ skipMappingsAndExposed: false,
13
11
  };
14
12
  function buildForFederation(config, fedOptions, externals, buildParams = exports.defaultBuildParams) {
15
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
- const exposedInfo = buildParams.skipExposed
17
- ? (0, bundle_exposed_1.describeExposed)(config, fedOptions)
18
- : yield (0, bundle_exposed_1.bundleExposed)(config, fedOptions, externals);
14
+ let artefactInfo;
15
+ if (!buildParams.skipMappingsAndExposed) {
16
+ artefactInfo = yield (0, bundle_exposed_and_mappings_1.bundleExposedAndMappings)(config, fedOptions, externals);
17
+ }
18
+ const exposedInfo = !artefactInfo
19
+ ? (0, bundle_exposed_and_mappings_1.describeExposed)(config, fedOptions)
20
+ : artefactInfo.exposes;
19
21
  const sharedPackageInfo = yield (0, bundle_shared_1.bundleShared)(config, fedOptions, externals);
20
- const sharedMappingInfo = buildParams.skipMappings
21
- ? (0, bundle_shared_mappings_1.describeSharedMappings)(config, fedOptions)
22
- : yield (0, bundle_shared_mappings_1.bundleSharedMappings)(config, fedOptions, externals);
22
+ const sharedMappingInfo = !artefactInfo
23
+ ? (0, bundle_exposed_and_mappings_1.describeSharedMappings)(config, fedOptions)
24
+ : artefactInfo.mappings;
23
25
  const sharedInfo = [...sharedPackageInfo, ...sharedMappingInfo];
24
26
  const federationInfo = {
25
27
  name: config.name,
@@ -1 +1 @@
1
- {"version":3,"file":"build-for-federation.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/build-for-federation.ts"],"names":[],"mappings":";;;;AAGA,yDAAoD;AACpD,mEAA8D;AAC9D,mDAA+C;AAC/C,qEAGkC;AAClC,qDAAkE;AAOrD,QAAA,kBAAkB,GAAgB;IAC7C,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,SAAsB,kBAAkB,CACtC,MAAkC,EAClC,UAA6B,EAC7B,SAAmB,EACnB,WAAW,GAAG,0BAAkB;;QAEhC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW;YACzC,CAAC,CAAC,IAAA,gCAAe,EAAC,MAAM,EAAE,UAAU,CAAC;YACrC,CAAC,CAAC,MAAM,IAAA,8BAAa,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAY,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5E,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY;YAChD,CAAC,CAAC,IAAA,+CAAsB,EAAC,MAAM,EAAE,UAAU,CAAC;YAC5C,CAAC,CAAC,MAAM,IAAA,6CAAoB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAEhE,MAAM,cAAc,GAAmB;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,IAAA,2CAAmB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAChD,IAAA,iCAAc,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEvC,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"build-for-federation.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/build-for-federation.ts"],"names":[],"mappings":";;;;AAGA,yDAAoD;AACpD,mEAA8D;AAC9D,mDAA+C;AAC/C,+EAKuC;AAM1B,QAAA,kBAAkB,GAAgB;IAC7C,sBAAsB,EAAE,KAAK;CAC9B,CAAC;AAEF,SAAsB,kBAAkB,CACtC,MAAkC,EAClC,UAA6B,EAC7B,SAAmB,EACnB,WAAW,GAAG,0BAAkB;;QAEhC,IAAI,YAAsC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE;YACvC,YAAY,GAAG,MAAM,IAAA,sDAAwB,EAC3C,MAAM,EACN,UAAU,EACV,SAAS,CACV,CAAC;SACH;QAED,MAAM,WAAW,GAAG,CAAC,YAAY;YAC/B,CAAC,CAAC,IAAA,6CAAe,EAAC,MAAM,EAAE,UAAU,CAAC;YACrC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;QAEzB,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAY,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAE5E,MAAM,iBAAiB,GAAG,CAAC,YAAY;YACrC,CAAC,CAAC,IAAA,oDAAsB,EAAC,MAAM,EAAE,UAAU,CAAC;YAC5C,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;QAE1B,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAEhE,MAAM,cAAc,GAAmB;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,IAAA,2CAAmB,EAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAChD,IAAA,iCAAc,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEvC,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA;AArCD,gDAqCC"}
@@ -0,0 +1,10 @@
1
+ import { NormalizedFederationConfig } from '../config/federation-config';
2
+ import { FederationOptions } from './federation-options';
3
+ import { ExposesInfo, SharedInfo } from '@softarc/native-federation-runtime';
4
+ export interface ArtefactInfo {
5
+ mappings: SharedInfo[];
6
+ exposes: ExposesInfo[];
7
+ }
8
+ export declare function bundleExposedAndMappings(config: NormalizedFederationConfig, fedOptions: FederationOptions, externals: string[]): Promise<ArtefactInfo>;
9
+ export declare function describeExposed(config: NormalizedFederationConfig, options: FederationOptions): Array<ExposesInfo>;
10
+ export declare function describeSharedMappings(config: NormalizedFederationConfig, fedOptions: FederationOptions): Array<SharedInfo>;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.describeSharedMappings = exports.describeExposed = exports.bundleExposedAndMappings = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const build_utils_1 = require("../utils/build-utils");
7
+ const build_result_map_1 = require("../utils/build-result-map");
8
+ const logger_1 = require("../utils/logger");
9
+ function bundleExposedAndMappings(config, fedOptions, externals) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const shared = config.sharedMappings.map((sm) => {
12
+ const entryPoint = sm.path;
13
+ const tmp = sm.key.replace(/[^A-Za-z0-9]/g, '_');
14
+ const outFilePath = tmp + '.js';
15
+ return { fileName: entryPoint, outName: outFilePath, key: sm.key };
16
+ });
17
+ const exposes = Object.keys(config.exposes).map((key) => {
18
+ const entryPoint = config.exposes[key];
19
+ const outFilePath = key + '.js';
20
+ return { fileName: entryPoint, outName: outFilePath, key };
21
+ });
22
+ const entryPoints = [...shared, ...exposes];
23
+ const hash = !fedOptions.dev;
24
+ logger_1.logger.info('Building federation artefacts');
25
+ const result = yield (0, build_utils_1.bundle)({
26
+ entryPoints,
27
+ outdir: fedOptions.outputPath,
28
+ tsConfigPath: fedOptions.tsConfig,
29
+ external: externals,
30
+ dev: !!fedOptions.dev,
31
+ watch: fedOptions.watch,
32
+ mappedPaths: config.sharedMappings,
33
+ kind: 'mapping-or-exposed',
34
+ hash,
35
+ });
36
+ const resultMap = (0, build_result_map_1.createBuildResultMap)(result, hash);
37
+ const sharedResult = [];
38
+ for (const item of shared) {
39
+ sharedResult.push({
40
+ packageName: item.key,
41
+ outFileName: (0, build_result_map_1.lookupInResultMap)(resultMap, item.outName),
42
+ requiredVersion: '',
43
+ singleton: true,
44
+ strictVersion: false,
45
+ version: '',
46
+ dev: !fedOptions.dev
47
+ ? undefined
48
+ : {
49
+ entryPoint: path_1.default.normalize(item.fileName),
50
+ },
51
+ });
52
+ }
53
+ const exposedResult = [];
54
+ for (const item of exposes) {
55
+ exposedResult.push({
56
+ key: item.key,
57
+ outFileName: (0, build_result_map_1.lookupInResultMap)(resultMap, item.outName),
58
+ dev: !fedOptions.dev
59
+ ? undefined
60
+ : {
61
+ entryPoint: item.fileName,
62
+ },
63
+ });
64
+ }
65
+ return { mappings: sharedResult, exposes: exposedResult };
66
+ });
67
+ }
68
+ exports.bundleExposedAndMappings = bundleExposedAndMappings;
69
+ function describeExposed(config, options) {
70
+ const result = [];
71
+ for (const key in config.exposes) {
72
+ const localPath = path_1.default.normalize(path_1.default.join(options.workspaceRoot, config.exposes[key]));
73
+ result.push({
74
+ key,
75
+ outFileName: '',
76
+ dev: !options.dev
77
+ ? undefined
78
+ : {
79
+ entryPoint: localPath,
80
+ },
81
+ });
82
+ }
83
+ return result;
84
+ }
85
+ exports.describeExposed = describeExposed;
86
+ function describeSharedMappings(config, fedOptions) {
87
+ const result = [];
88
+ for (const m of config.sharedMappings) {
89
+ result.push({
90
+ packageName: m.key,
91
+ outFileName: '',
92
+ requiredVersion: '',
93
+ singleton: true,
94
+ strictVersion: false,
95
+ version: '',
96
+ dev: !fedOptions.dev
97
+ ? undefined
98
+ : {
99
+ entryPoint: path_1.default.normalize(m.path),
100
+ },
101
+ });
102
+ }
103
+ return result;
104
+ }
105
+ exports.describeSharedMappings = describeSharedMappings;
106
+ //# sourceMappingURL=bundle-exposed-and-mappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-exposed-and-mappings.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/bundle-exposed-and-mappings.ts"],"names":[],"mappings":"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"}
@@ -11,60 +11,64 @@ const logger_1 = require("../utils/logger");
11
11
  const normalize_1 = require("../utils/normalize");
12
12
  function bundleShared(config, fedOptions, externals) {
13
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
- const result = [];
15
14
  const folder = fedOptions.packageJson
16
15
  ? path.dirname(fedOptions.packageJson)
17
16
  : fedOptions.workspaceRoot;
17
+ const cachePath = path.join(fedOptions.workspaceRoot, 'node_modules/.cache/native-federation');
18
+ fs.mkdirSync(cachePath, { recursive: true });
18
19
  const packageInfos = Object.keys(config.shared)
19
20
  // .filter((packageName) => !isInSkipList(packageName, PREPARED_DEFAULT_SKIP_LIST))
20
21
  .map((packageName) => (0, package_info_1.getPackageInfo)(packageName, folder))
21
22
  .filter((pi) => !!pi);
22
- let first = true;
23
- for (const pi of packageInfos) {
23
+ const allEntryPoints = packageInfos.map((pi) => {
24
24
  const encName = pi.packageName.replace(/[^A-Za-z0-9]/g, '_');
25
25
  const encVersion = pi.version.replace(/[^A-Za-z0-9]/g, '_');
26
- const outFileName = fedOptions.dev
26
+ const outName = fedOptions.dev
27
27
  ? `${encName}-${encVersion}-dev.js`
28
28
  : `${encName}-${encVersion}.js`;
29
- const cachePath = path.join(fedOptions.workspaceRoot, 'node_modules/.cache/native-federation');
30
- fs.mkdirSync(cachePath, { recursive: true });
31
- const cachedFile = path.join(cachePath, outFileName);
32
- if (!fs.existsSync(cachedFile)) {
33
- if (first) {
34
- logger_1.logger.notice('Preparing shared npm packages');
35
- logger_1.logger.notice('This only needs to be done once');
36
- logger_1.logger.notice("Skip packages you don't want to share in your federation config");
37
- }
38
- first = false;
39
- logger_1.logger.info('Preparing shared package ' + pi.packageName);
40
- try {
41
- yield (0, build_utils_1.bundle)({
42
- entryPoint: pi.entryPoint,
43
- tsConfigPath: fedOptions.tsConfig,
44
- external: externals,
45
- outfile: cachedFile,
46
- mappedPaths: config.sharedMappings,
47
- packageName: pi.packageName,
48
- esm: pi.esm,
49
- dev: fedOptions.dev,
50
- kind: 'shared-package',
51
- });
52
- }
53
- catch (e) {
54
- logger_1.logger.error('Error bundling npm package ' + pi.packageName);
55
- if (e instanceof Error) {
56
- logger_1.logger.error(e.message);
57
- }
58
- logger_1.logger.error('For more information, run in verbose mode');
59
- logger_1.logger.notice(`If you don't need this package, skip it in your federation.config.js!`);
60
- logger_1.logger.verbose(e);
61
- continue;
62
- }
29
+ return { fileName: pi.entryPoint, outName };
30
+ });
31
+ const fullOutputPath = path.join(fedOptions.workspaceRoot, fedOptions.outputPath);
32
+ const exptedResults = allEntryPoints.map((ep) => path.join(fullOutputPath, ep.outName));
33
+ const entryPoints = allEntryPoints.filter((ep) => !fs.existsSync(path.join(cachePath, ep.outName)));
34
+ if (entryPoints.length > 0) {
35
+ logger_1.logger.info('Preparing shared npm packages');
36
+ logger_1.logger.notice('This only needs to be done once, as results are cached');
37
+ logger_1.logger.notice("Skip packages you don't want to share in your federation config");
38
+ }
39
+ try {
40
+ yield (0, build_utils_1.bundle)({
41
+ entryPoints,
42
+ tsConfigPath: fedOptions.tsConfig,
43
+ external: externals,
44
+ outdir: cachePath,
45
+ mappedPaths: config.sharedMappings,
46
+ dev: fedOptions.dev,
47
+ kind: 'shared-package',
48
+ hash: false,
49
+ });
50
+ for (const fileName of exptedResults) {
51
+ const outFileName = path.basename(fileName);
52
+ const cachedFile = path.join(cachePath, outFileName);
53
+ copyFileIfExists(cachedFile, fileName);
54
+ (0, copy_src_map_if_exists_1.copySrcMapIfExists)(cachedFile, fileName);
55
+ }
56
+ }
57
+ catch (e) {
58
+ logger_1.logger.error('Error bundling shared npm package ');
59
+ if (e instanceof Error) {
60
+ logger_1.logger.error(e.message);
63
61
  }
62
+ logger_1.logger.error('For more information, run in verbose mode');
63
+ logger_1.logger.notice(`If you don't need this package, skip it in your federation.config.js!`);
64
+ logger_1.logger.verbose(e);
65
+ }
66
+ const outFileNames = [...exptedResults];
67
+ return packageInfos.map((pi) => {
64
68
  const shared = config.shared[pi.packageName];
65
- result.push({
69
+ return {
66
70
  packageName: pi.packageName,
67
- outFileName: outFileName,
71
+ outFileName: path.basename(outFileNames.shift() || ''),
68
72
  requiredVersion: shared.requiredVersion,
69
73
  singleton: shared.singleton,
70
74
  strictVersion: shared.strictVersion,
@@ -74,12 +78,8 @@ function bundleShared(config, fedOptions, externals) {
74
78
  : {
75
79
  entryPoint: (0, normalize_1.normalize)(pi.entryPoint),
76
80
  },
77
- });
78
- const fullOutputPath = path.join(fedOptions.workspaceRoot, fedOptions.outputPath, outFileName);
79
- copyFileIfExists(cachedFile, fullOutputPath);
80
- (0, copy_src_map_if_exists_1.copySrcMapIfExists)(cachedFile, fullOutputPath);
81
- }
82
- return result;
81
+ };
82
+ });
83
83
  });
84
84
  }
85
85
  exports.bundleShared = bundleShared;
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-shared.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/bundle-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-shared.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/bundle-shared.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ exports.DEFAULT_SKIP_LIST = [
11
11
  'es-module-shims',
12
12
  'zone.js',
13
13
  'tslib/',
14
+ '@angular/localize',
15
+ '@angular/localize/init',
16
+ '@angular/localize/tools',
17
+ '@angular/platform-server',
18
+ '@angular/platform-server/init',
19
+ '@angular/ssr',
20
+ 'express',
14
21
  /\/schematics(\/|$)/,
15
22
  (pkg) => pkg.startsWith('@angular/') && !!pkg.match(/\/testing(\/|$)/),
16
23
  (pkg) => pkg.startsWith('@types/'),
@@ -1 +1 @@
1
- {"version":3,"file":"default-skip-list.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/default-skip-list.ts"],"names":[],"mappings":";;;AAIa,QAAA,iBAAiB,GAAa;IACzC,oCAAoC;IACpC,4BAA4B;IAC5B,iCAAiC;IACjC,oCAAoC;IACpC,uCAAuC;IACvC,+CAA+C;IAC/C,iBAAiB;IACjB,SAAS;IACT,QAAQ;IACR,oBAAoB;IACpB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACtE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;CACnC,CAAC;AAEW,QAAA,0BAA0B,GAAG,eAAe,CAAC,yBAAiB,CAAC,CAAC;AAQ7E,SAAgB,eAAe,CAAC,QAAkB;IAChD,OAAO;QACL,OAAO,EAAE,IAAI,GAAG,CACd,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa,CAC1D;QACD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAa;QACtE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa;KACnE,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAgB,YAAY,CAC1B,KAAa,EACb,QAA0B;IAE1B,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI,CAAC;KACb;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"default-skip-list.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/default-skip-list.ts"],"names":[],"mappings":";;;AAIa,QAAA,iBAAiB,GAAa;IACzC,oCAAoC;IACpC,4BAA4B;IAC5B,iCAAiC;IACjC,oCAAoC;IACpC,uCAAuC;IACvC,+CAA+C;IAC/C,iBAAiB;IACjB,SAAS;IACT,QAAQ;IACR,mBAAmB;IACnB,wBAAwB;IACxB,yBAAyB;IACzB,0BAA0B;IAC1B,+BAA+B;IAC/B,cAAc;IACd,SAAS;IACT,oBAAoB;IACpB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACtE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;CACnC,CAAC;AAEW,QAAA,0BAA0B,GAAG,eAAe,CAAC,yBAAiB,CAAC,CAAC;AAQ7E,SAAgB,eAAe,CAAC,QAAkB;IAChD,OAAO;QACL,OAAO,EAAE,IAAI,GAAG,CACd,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa,CAC1D;QACD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAa;QACtE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAa;KACnE,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAgB,YAAY,CAC1B,KAAa,EACb,QAA0B;IAE1B,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;QAC5C,OAAO,IAAI,CAAC;KACb;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,oCAiBC"}
@@ -0,0 +1,3 @@
1
+ import { BuildResult } from '../core/build-adapter';
2
+ export declare function createBuildResultMap(buildResult: BuildResult[], isHashed: boolean): Record<string, string>;
3
+ export declare function lookupInResultMap(map: Record<string, string>, requestName: string): string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lookupInResultMap = exports.createBuildResultMap = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ function createBuildResultMap(buildResult, isHashed) {
7
+ const map = {};
8
+ for (const item of buildResult) {
9
+ const resultName = path_1.default.basename(item.fileName);
10
+ let requestName = resultName;
11
+ if (isHashed) {
12
+ const start = resultName.lastIndexOf('-');
13
+ const end = resultName.lastIndexOf('.');
14
+ const part1 = resultName.substring(0, start);
15
+ const part2 = resultName.substring(end);
16
+ requestName = part1 + part2;
17
+ }
18
+ map[requestName] = resultName;
19
+ }
20
+ return map;
21
+ }
22
+ exports.createBuildResultMap = createBuildResultMap;
23
+ function lookupInResultMap(map, requestName) {
24
+ const key = path_1.default.basename(requestName);
25
+ return map[key];
26
+ }
27
+ exports.lookupInResultMap = lookupInResultMap;
28
+ //# sourceMappingURL=build-result-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-result-map.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/utils/build-result-map.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AAGxB,SAAgB,oBAAoB,CAClC,WAA0B,EAC1B,QAAiB;IAEjB,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,MAAM,UAAU,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,WAAW,GAAG,UAAU,CAAC;QAE7B,IAAI,QAAQ,EAAE;YACZ,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAExC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAExC,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;SAC7B;QACD,GAAG,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;KAC/B;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAvBD,oDAuBC;AAED,SAAgB,iBAAiB,CAC/B,GAA2B,EAC3B,WAAmB;IAEnB,MAAM,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAND,8CAMC"}
@@ -1,2 +1,2 @@
1
1
  import { BuildAdapterOptions } from '../core/build-adapter';
2
- export declare function bundle(options: BuildAdapterOptions): Promise<void>;
2
+ export declare function bundle(options: BuildAdapterOptions): Promise<import("../core/build-adapter").BuildResult[]>;
@@ -6,7 +6,7 @@ const build_adapter_1 = require("../core/build-adapter");
6
6
  function bundle(options) {
7
7
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
8
  const adapter = (0, build_adapter_1.getBuildAdapter)();
9
- yield adapter(options);
9
+ return yield adapter(options);
10
10
  });
11
11
  }
12
12
  exports.bundle = bundle;
@@ -1 +1 @@
1
- {"version":3,"file":"build-utils.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/utils/build-utils.ts"],"names":[],"mappings":";;;;AAAA,yDAA6E;AAE7E,SAAsB,MAAM,CAAC,OAA4B;;QACvD,MAAM,OAAO,GAAG,IAAA,+BAAe,GAAE,CAAC;QAClC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CAAA;AAHD,wBAGC"}
1
+ {"version":3,"file":"build-utils.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/utils/build-utils.ts"],"names":[],"mappings":";;;;AAAA,yDAA6E;AAE7E,SAAsB,MAAM,CAAC,OAA4B;;QACvD,MAAM,OAAO,GAAG,IAAA,+BAAe,GAAE,CAAC;QAClC,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CAAA;AAHD,wBAGC"}
@@ -1,5 +0,0 @@
1
- import { NormalizedFederationConfig } from '../config/federation-config';
2
- import { ExposesInfo } from '@softarc/native-federation-runtime';
3
- import { FederationOptions } from './federation-options';
4
- export declare function bundleExposed(config: NormalizedFederationConfig, options: FederationOptions, externals: string[]): Promise<Array<ExposesInfo>>;
5
- export declare function describeExposed(config: NormalizedFederationConfig, options: FederationOptions): Array<ExposesInfo>;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeExposed = exports.bundleExposed = void 0;
4
- const tslib_1 = require("tslib");
5
- const path = tslib_1.__importStar(require("path"));
6
- const fs = tslib_1.__importStar(require("fs"));
7
- const build_utils_1 = require("../utils/build-utils");
8
- const hash_file_1 = require("../utils/hash-file");
9
- const logger_1 = require("../utils/logger");
10
- const normalize_1 = require("../utils/normalize");
11
- function bundleExposed(config, options, externals) {
12
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
- const result = [];
14
- for (const key in config.exposes) {
15
- const outFileName = key + '.js';
16
- const outFilePath = path.join(options.outputPath, outFileName);
17
- const entryPoint = config.exposes[key];
18
- const localPath = (0, normalize_1.normalize)(path.join(options.workspaceRoot, config.exposes[key]));
19
- logger_1.logger.info(`Bundling exposed module ${entryPoint}`);
20
- try {
21
- yield (0, build_utils_1.bundle)({
22
- entryPoint,
23
- tsConfigPath: options.tsConfig,
24
- external: externals,
25
- outfile: outFilePath,
26
- dev: !!options.dev,
27
- watch: options.watch,
28
- mappedPaths: config.sharedMappings,
29
- kind: 'exposed',
30
- });
31
- let finalOutFileName = outFileName;
32
- if (!options.watch) {
33
- const hash = (0, hash_file_1.hashFile)(outFilePath);
34
- finalOutFileName = `${key}-${hash}.js`;
35
- const hashedOutFilePath = path.join(options.outputPath, finalOutFileName);
36
- fs.renameSync(outFilePath, hashedOutFilePath);
37
- }
38
- result.push({
39
- key,
40
- outFileName: finalOutFileName,
41
- dev: !options.dev
42
- ? undefined
43
- : {
44
- entryPoint: localPath,
45
- },
46
- });
47
- }
48
- catch (e) {
49
- logger_1.logger.error('Error bundling exposed module ' + entryPoint);
50
- logger_1.logger.notice('Please check the `exposes` section in your federation.config.js');
51
- logger_1.logger.error(e);
52
- }
53
- }
54
- return result;
55
- });
56
- }
57
- exports.bundleExposed = bundleExposed;
58
- function describeExposed(config, options) {
59
- const result = [];
60
- for (const key in config.exposes) {
61
- const localPath = (0, normalize_1.normalize)(path.join(options.workspaceRoot, config.exposes[key]));
62
- result.push({
63
- key,
64
- outFileName: '',
65
- dev: !options.dev
66
- ? undefined
67
- : {
68
- entryPoint: localPath,
69
- },
70
- });
71
- }
72
- return result;
73
- }
74
- exports.describeExposed = describeExposed;
75
- //# sourceMappingURL=bundle-exposed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-exposed.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/bundle-exposed.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { NormalizedFederationConfig } from '../config/federation-config';
2
- import { SharedInfo } from '@softarc/native-federation-runtime';
3
- import { FederationOptions } from '../core/federation-options';
4
- export declare function bundleSharedMappings(config: NormalizedFederationConfig, fedOptions: FederationOptions, externals: string[]): Promise<Array<SharedInfo>>;
5
- export declare function describeSharedMappings(config: NormalizedFederationConfig, fedOptions: FederationOptions): Array<SharedInfo>;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeSharedMappings = exports.bundleSharedMappings = void 0;
4
- const tslib_1 = require("tslib");
5
- const path = tslib_1.__importStar(require("path"));
6
- const fs = tslib_1.__importStar(require("fs"));
7
- const build_utils_1 = require("../utils/build-utils");
8
- const hash_file_1 = require("../utils/hash-file");
9
- const logger_1 = require("../utils/logger");
10
- const normalize_1 = require("../utils/normalize");
11
- function bundleSharedMappings(config, fedOptions, externals) {
12
- var _a;
13
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
- const result = [];
15
- for (const m of config.sharedMappings) {
16
- const key = m.key.replace(/[^A-Za-z0-9]/g, '_');
17
- const outFileName = key + '.js';
18
- const outFilePath = path.join(fedOptions.outputPath, outFileName);
19
- logger_1.logger.info('Bundling shared mapping ' + m.key);
20
- try {
21
- yield (0, build_utils_1.bundle)({
22
- entryPoint: m.path,
23
- tsConfigPath: (_a = findTsConfig(m.path)) !== null && _a !== void 0 ? _a : fedOptions.tsConfig,
24
- external: externals,
25
- outfile: outFilePath,
26
- mappedPaths: [],
27
- watch: fedOptions.watch,
28
- dev: !!fedOptions.dev,
29
- kind: 'shared-mapping',
30
- });
31
- let finalOutFileName = outFileName;
32
- if (!fedOptions.watch) {
33
- const hash = (0, hash_file_1.hashFile)(outFilePath);
34
- finalOutFileName = `${key}-${hash}.js`;
35
- const hashedOutFilePath = path.join(fedOptions.outputPath, finalOutFileName);
36
- fs.renameSync(outFilePath, hashedOutFilePath);
37
- }
38
- result.push({
39
- packageName: m.key,
40
- outFileName: finalOutFileName,
41
- requiredVersion: '',
42
- singleton: true,
43
- strictVersion: false,
44
- version: '',
45
- dev: !fedOptions.dev
46
- ? undefined
47
- : {
48
- entryPoint: (0, normalize_1.normalize)(m.path),
49
- },
50
- });
51
- }
52
- catch (e) {
53
- logger_1.logger.error('Error bundling shared mapping ' + m.key);
54
- logger_1.logger.notice(`Please check this shared mapping in the 'path' section or your tsconfig.(app|base).json`);
55
- logger_1.logger.notice(`If you don't need this mapping to shared, you can skip it in your federation.config.js`);
56
- logger_1.logger.error(e);
57
- }
58
- }
59
- return result;
60
- });
61
- }
62
- exports.bundleSharedMappings = bundleSharedMappings;
63
- function findTsConfig(folder) {
64
- while (!fs.existsSync(path.join(folder, 'tsconfig.lib.json')) &&
65
- !fs.existsSync(path.join(folder, 'tsconfig.json')) &&
66
- !fs.existsSync(path.join(folder, 'tsconfig.base.json')) &&
67
- path.dirname(folder) !== folder) {
68
- folder = path.dirname(folder);
69
- }
70
- const filePathOption0 = path.join(folder, 'tsconfig.lib.json');
71
- if (fs.existsSync(filePathOption0)) {
72
- return filePathOption0;
73
- }
74
- const filePathOption1 = path.join(folder, 'tsconfig.json');
75
- if (fs.existsSync(filePathOption1)) {
76
- return filePathOption1;
77
- }
78
- const filePathOption2 = path.join(folder, 'tsconfig.base.json');
79
- if (fs.existsSync(filePathOption2)) {
80
- return filePathOption2;
81
- }
82
- return null;
83
- }
84
- function describeSharedMappings(config, fedOptions) {
85
- const result = [];
86
- for (const m of config.sharedMappings) {
87
- result.push({
88
- packageName: m.key,
89
- outFileName: '',
90
- requiredVersion: '',
91
- singleton: true,
92
- strictVersion: false,
93
- version: '',
94
- dev: !fedOptions.dev
95
- ? undefined
96
- : {
97
- entryPoint: (0, normalize_1.normalize)(m.path),
98
- },
99
- });
100
- }
101
- return result;
102
- }
103
- exports.describeSharedMappings = describeSharedMappings;
104
- //# sourceMappingURL=bundle-shared-mappings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle-shared-mappings.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-core/src/lib/core/bundle-shared-mappings.ts"],"names":[],"mappings":"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"}