@softarc/native-federation-node 3.0.2 → 3.1.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/package.json +1 -1
- package/src/lib/node/init-node-federation.js +34 -47
- package/src/lib/node/init-node-federation.js.map +1 -1
- package/src/lib/utils/fstart-args-parser.d.ts +6 -0
- package/src/lib/utils/fstart-args-parser.js +61 -0
- package/src/lib/utils/fstart-args-parser.js.map +1 -0
- package/src/lib/utils/fstart.d.ts +1 -0
- package/src/lib/utils/fstart.js +13 -0
- package/src/lib/utils/fstart.js.map +1 -0
- package/src/lib/utils/import-map-loader.js +43 -50
- package/src/lib/utils/import-map-loader.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { register } from 'node:module';
|
|
3
2
|
import { pathToFileURL } from 'node:url';
|
|
4
3
|
import * as fs from 'node:fs/promises';
|
|
@@ -11,57 +10,45 @@ const defaultOptions = {
|
|
|
11
10
|
relBundlePath: '../browser',
|
|
12
11
|
throwIfRemoteNotFound: false,
|
|
13
12
|
};
|
|
14
|
-
export function initNodeFederation(options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
register(pathToFileURL('./federation-resolver.mjs').href);
|
|
23
|
-
});
|
|
13
|
+
export async function initNodeFederation(options) {
|
|
14
|
+
const mergedOptions = { ...defaultOptions, ...options };
|
|
15
|
+
const importMap = await createNodeImportMap(mergedOptions);
|
|
16
|
+
// const normalized = resolveAndComposeImportMap(importMap) as ImportMap;
|
|
17
|
+
// await writeImportMap(normalized);
|
|
18
|
+
await writeImportMap(importMap);
|
|
19
|
+
await writeResolver();
|
|
20
|
+
register(pathToFileURL('./federation-resolver.mjs').href);
|
|
24
21
|
}
|
|
25
|
-
function createNodeImportMap(options) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
cacheTag: options.cacheTag,
|
|
36
|
-
});
|
|
37
|
-
const importMap = mergeImportMaps(hostImportMap, remotesImportMap);
|
|
38
|
-
return importMap;
|
|
22
|
+
async function createNodeImportMap(options) {
|
|
23
|
+
const { remotesOrManifestUrl, relBundlePath } = options;
|
|
24
|
+
const remotes = typeof remotesOrManifestUrl === 'object'
|
|
25
|
+
? remotesOrManifestUrl
|
|
26
|
+
: await loadFsManifest(remotesOrManifestUrl);
|
|
27
|
+
const hostInfo = await loadFsFederationInfo(relBundlePath);
|
|
28
|
+
const hostImportMap = await processHostInfo(hostInfo, './' + relBundlePath);
|
|
29
|
+
const remotesImportMap = await processRemoteInfos(remotes, {
|
|
30
|
+
throwIfRemoteNotFound: options.throwIfRemoteNotFound,
|
|
31
|
+
cacheTag: options.cacheTag,
|
|
39
32
|
});
|
|
33
|
+
const importMap = mergeImportMaps(hostImportMap, remotesImportMap);
|
|
34
|
+
return importMap;
|
|
40
35
|
}
|
|
41
|
-
function loadFsManifest(manifestUrl) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return manifest;
|
|
46
|
-
});
|
|
36
|
+
async function loadFsManifest(manifestUrl) {
|
|
37
|
+
const content = await fs.readFile(manifestUrl, 'utf-8');
|
|
38
|
+
const manifest = JSON.parse(content);
|
|
39
|
+
return manifest;
|
|
47
40
|
}
|
|
48
|
-
function loadFsFederationInfo(relBundlePath) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return manifest;
|
|
54
|
-
});
|
|
41
|
+
async function loadFsFederationInfo(relBundlePath) {
|
|
42
|
+
const manifestPath = path.join(relBundlePath, 'remoteEntry.json');
|
|
43
|
+
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
44
|
+
const manifest = JSON.parse(content);
|
|
45
|
+
return manifest;
|
|
55
46
|
}
|
|
56
|
-
function writeImportMap(map) {
|
|
57
|
-
|
|
58
|
-
yield fs.writeFile(IMPORT_MAP_FILE_NAME, JSON.stringify(map, null, 2), 'utf-8');
|
|
59
|
-
});
|
|
47
|
+
async function writeImportMap(map) {
|
|
48
|
+
await fs.writeFile(IMPORT_MAP_FILE_NAME, JSON.stringify(map, null, 2), 'utf-8');
|
|
60
49
|
}
|
|
61
|
-
function writeResolver() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
yield fs.writeFile('federation-resolver.mjs', buffer, 'utf-8');
|
|
65
|
-
});
|
|
50
|
+
async function writeResolver() {
|
|
51
|
+
const buffer = Buffer.from(resolver, 'base64');
|
|
52
|
+
await fs.writeFile('federation-resolver.mjs', buffer, 'utf-8');
|
|
66
53
|
}
|
|
67
54
|
//# sourceMappingURL=init-node-federation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-node-federation.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/node/init-node-federation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init-node-federation.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/node/init-node-federation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAIL,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AASvD,MAAM,cAAc,GAA8B;IAChD,oBAAoB,EAAE,EAAE;IACxB,aAAa,EAAE,YAAY;IAC3B,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2C;IAE3C,MAAM,aAAa,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAE3D,yEAAyE;IACzE,oCAAoC;IAEpC,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,aAAa,EAAE,CAAC;IAEtB,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAkC;IAElC,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAExD,MAAM,OAAO,GACX,OAAO,oBAAoB,KAAK,QAAQ;QACtC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,MAAM,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE;QACzD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAEnE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,WAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA2B,CAAC;IAC/D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,aAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IACvD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAc;IAC1C,MAAM,EAAE,CAAC,SAAS,CAChB,oBAAoB,EACpB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAC5B,OAAO,CACR,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
const defaultArgs = {
|
|
3
|
+
entry: './server.mjs',
|
|
4
|
+
remotesOrManifestUrl: '../browser/federation.manifest.json',
|
|
5
|
+
relBundlePath: '../browser/',
|
|
6
|
+
};
|
|
7
|
+
export function parseFStartArgs() {
|
|
8
|
+
const args = {
|
|
9
|
+
entry: '',
|
|
10
|
+
remotesOrManifestUrl: '',
|
|
11
|
+
relBundlePath: '',
|
|
12
|
+
};
|
|
13
|
+
let key = '';
|
|
14
|
+
for (let i = 2; i < process.argv.length; i++) {
|
|
15
|
+
const cand = process.argv[i];
|
|
16
|
+
if (cand.startsWith('--')) {
|
|
17
|
+
const candKey = cand.substring(2);
|
|
18
|
+
if (defaultArgs[candKey]) {
|
|
19
|
+
key = candKey;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
console.error(`switch ${cand} not supported!`);
|
|
23
|
+
exitWithUsage(defaultArgs);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else if (key) {
|
|
27
|
+
args[key] = cand;
|
|
28
|
+
key = '';
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
console.error(`unreladed value ${cand}!`);
|
|
32
|
+
exitWithUsage(defaultArgs);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
applyDefaultArgs(args);
|
|
36
|
+
return args;
|
|
37
|
+
}
|
|
38
|
+
function applyDefaultArgs(args) {
|
|
39
|
+
if (args.relBundlePath && !args.remotesOrManifestUrl) {
|
|
40
|
+
const cand = defaultArgs.relBundlePath + 'federation.manifest.json';
|
|
41
|
+
if (fs.existsSync(cand)) {
|
|
42
|
+
args.remotesOrManifestUrl = cand;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
args.entry = args.entry || defaultArgs.entry;
|
|
46
|
+
args.relBundlePath = args.relBundlePath || defaultArgs.relBundlePath;
|
|
47
|
+
args.remotesOrManifestUrl =
|
|
48
|
+
args.remotesOrManifestUrl || defaultArgs.remotesOrManifestUrl;
|
|
49
|
+
if (!fs.existsSync(args.remotesOrManifestUrl)) {
|
|
50
|
+
args.remotesOrManifestUrl = undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function exitWithUsage(defaultArgs) {
|
|
54
|
+
let args = '';
|
|
55
|
+
for (const key in defaultArgs) {
|
|
56
|
+
args += `[--${key} ${defaultArgs[key]}] `;
|
|
57
|
+
}
|
|
58
|
+
console.log('usage: nfstart ' + args);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=fstart-args-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fstart-args-parser.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/utils/fstart-args-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAQ9B,MAAM,WAAW,GAAe;IAC9B,KAAK,EAAE,cAAc;IACrB,oBAAoB,EAAE,qCAAqC;IAC3D,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAe;QACvB,KAAK,EAAE,EAAE;QACT,oBAAoB,EAAE,EAAE;QACxB,aAAa,EAAE,EAAE;KAClB,CAAC;IAEF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,GAAG,GAAG,OAAO,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;gBAC/C,aAAa,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjB,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;YAC1C,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAgB;IACxC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,GAAG,0BAA0B,CAAC;QACpE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC;IAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC;IACrE,IAAI,CAAC,oBAAoB;QACvB,IAAI,CAAC,oBAAoB,IAAI,WAAW,CAAC,oBAAoB,CAAC;IAEhE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,WAAuB;IAC5C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,IAAI,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { initNodeFederation } from '../node/init-node-federation';
|
|
2
|
+
import { parseFStartArgs } from './fstart-args-parser';
|
|
3
|
+
const args = parseFStartArgs();
|
|
4
|
+
(async () => {
|
|
5
|
+
await initNodeFederation({
|
|
6
|
+
...(args.remotesOrManifestUrl
|
|
7
|
+
? { remotesOrManifestUrl: args.remotesOrManifestUrl }
|
|
8
|
+
: {}),
|
|
9
|
+
relBundlePath: args.relBundlePath,
|
|
10
|
+
});
|
|
11
|
+
await import(args.entry);
|
|
12
|
+
})();
|
|
13
|
+
//# sourceMappingURL=fstart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fstart.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/utils/fstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAE/B,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,kBAAkB,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,oBAAoB;YAC3B,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import path from 'path';
|
|
3
2
|
import url from 'url';
|
|
4
3
|
import { promises as fs } from 'fs';
|
|
@@ -51,7 +50,7 @@ function resolveImportsMatch(normalizedSpecifier, specifierMap) {
|
|
|
51
50
|
try {
|
|
52
51
|
return new URL(afterPrefix, resolutionResult).href;
|
|
53
52
|
}
|
|
54
|
-
catch
|
|
53
|
+
catch {
|
|
55
54
|
throw TypeError(`The import map resolution of ${specifierKey} failed due to URL parse failure`);
|
|
56
55
|
}
|
|
57
56
|
}
|
|
@@ -137,7 +136,7 @@ function parseURLLikeSpecifier(specifier, baseURL) {
|
|
|
137
136
|
try {
|
|
138
137
|
return new URL(specifier, useBaseUrlAsParent ? baseURL : undefined).href;
|
|
139
138
|
}
|
|
140
|
-
catch
|
|
139
|
+
catch {
|
|
141
140
|
return null;
|
|
142
141
|
}
|
|
143
142
|
}
|
|
@@ -153,7 +152,7 @@ function sortAndNormalizeScopes(map, baseURL) {
|
|
|
153
152
|
try {
|
|
154
153
|
scopePrefixURL = new URL(scopePrefix, baseURL).href;
|
|
155
154
|
}
|
|
156
|
-
catch
|
|
155
|
+
catch {
|
|
157
156
|
console.warn(`Scope prefix URL '${scopePrefix}' was not parseable in import map`);
|
|
158
157
|
continue;
|
|
159
158
|
}
|
|
@@ -166,54 +165,48 @@ function isPlainObject(obj) {
|
|
|
166
165
|
}
|
|
167
166
|
// ---
|
|
168
167
|
let importMapPromise = getImportMapPromise();
|
|
169
|
-
export function resolve(specifier, context, defaultResolve) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return defaultResolve(importMapUrl !== null && importMapUrl !== void 0 ? importMapUrl : specifier, context, defaultResolve);
|
|
175
|
-
});
|
|
168
|
+
export async function resolve(specifier, context, defaultResolve) {
|
|
169
|
+
const { parentURL = null } = context;
|
|
170
|
+
const importMap = await importMapPromise;
|
|
171
|
+
const importMapUrl = resolveSpecifier(importMap, specifier, parentURL);
|
|
172
|
+
return defaultResolve(importMapUrl ?? specifier, context, defaultResolve);
|
|
176
173
|
}
|
|
177
|
-
export function load(url, context, defaultLoad) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return defaultLoad(url, context, defaultLoad);
|
|
195
|
-
});
|
|
174
|
+
export async function load(url, context, defaultLoad) {
|
|
175
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
176
|
+
const res = await fetch(url);
|
|
177
|
+
if (!res.ok) {
|
|
178
|
+
throw new Error(`Failed to fetch module from ${url}`);
|
|
179
|
+
}
|
|
180
|
+
const source = await res.text();
|
|
181
|
+
return {
|
|
182
|
+
shortCircuit: true,
|
|
183
|
+
format: 'module',
|
|
184
|
+
source,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
if (!url.startsWith('node:')) {
|
|
188
|
+
context.format = 'module';
|
|
189
|
+
}
|
|
190
|
+
return defaultLoad(url, context, defaultLoad);
|
|
196
191
|
}
|
|
197
|
-
function getImportMapPromise() {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return resolveAndComposeImportMap(json);
|
|
216
|
-
});
|
|
192
|
+
async function getImportMapPromise() {
|
|
193
|
+
const relativePath = process.env.IMPORT_MAP_PATH || IMPORT_MAP_FILE_NAME;
|
|
194
|
+
const importMapPath = path.resolve(process.cwd(), relativePath);
|
|
195
|
+
let str;
|
|
196
|
+
try {
|
|
197
|
+
str = await fs.readFile(importMapPath);
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
return emptyMap();
|
|
201
|
+
}
|
|
202
|
+
let json;
|
|
203
|
+
try {
|
|
204
|
+
json = await JSON.parse(str);
|
|
205
|
+
}
|
|
206
|
+
catch (err) {
|
|
207
|
+
throw Error(`Import map at ${importMapPath} contains invalid json: ${err.message}`);
|
|
208
|
+
}
|
|
209
|
+
return resolveAndComposeImportMap(json);
|
|
217
210
|
}
|
|
218
211
|
global.nodeLoader = global.nodeLoader || {};
|
|
219
212
|
global.nodeLoader.setImportMapPromise = function setImportMapPromise(promise) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-map-loader.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/utils/import-map-loader.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-map-loader.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/utils/import-map-loader.js"],"names":[],"mappings":"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"}
|