@softarc/native-federation-node 2.0.11
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 +11 -0
- package/package.json +8 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/src/lib/node/init-node-federation.d.ts +6 -0
- package/src/lib/node/init-node-federation.js +67 -0
- package/src/lib/node/init-node-federation.js.map +1 -0
- package/src/lib/utils/import-map-loader.d.ts +8 -0
- package/src/lib/utils/import-map-loader.js +227 -0
- package/src/lib/utils/import-map-loader.js.map +1 -0
- package/src/lib/utils/loader-as-data-url.d.ts +1 -0
- package/src/lib/utils/loader-as-data-url.js +2 -0
- package/src/lib/utils/loader-as-data-url.js.map +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# native-federation-node
|
|
2
|
+
|
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
|
4
|
+
|
|
5
|
+
## Building
|
|
6
|
+
|
|
7
|
+
Run `nx build native-federation-node` to build the library.
|
|
8
|
+
|
|
9
|
+
## Running unit tests
|
|
10
|
+
|
|
11
|
+
Run `nx test native-federation-node` to execute the unit tests via [Jest](https://jestjs.io).
|
package/package.json
ADDED
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/node/init-node-federation';
|
package/src/index.js
ADDED
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/native-federation-node/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { register } from 'node:module';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import * as fs from 'node:fs/promises';
|
|
5
|
+
import * as path from 'node:path';
|
|
6
|
+
import { processHostInfo, processRemoteInfos, } from '@softarc/native-federation-runtime';
|
|
7
|
+
import { mergeImportMaps } from '@softarc/native-federation-runtime';
|
|
8
|
+
import { IMPORT_MAP_FILE_NAME } from '../utils/import-map-loader';
|
|
9
|
+
import { resolver } from '../utils/loader-as-data-url';
|
|
10
|
+
const defaultOptions = {
|
|
11
|
+
remotesOrManifestUrl: {},
|
|
12
|
+
relBundlePath: '../browser',
|
|
13
|
+
throwIfRemoteNotFound: false,
|
|
14
|
+
};
|
|
15
|
+
export function initNodeFederation(options) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const mergedOptions = Object.assign(Object.assign({}, defaultOptions), options);
|
|
18
|
+
const importMap = yield createNodeImportMap(mergedOptions);
|
|
19
|
+
// const normalized = resolveAndComposeImportMap(importMap) as ImportMap;
|
|
20
|
+
// await writeImportMap(normalized);
|
|
21
|
+
yield writeImportMap(importMap);
|
|
22
|
+
yield writeResolver();
|
|
23
|
+
register(pathToFileURL('./federation-resolver.mjs').href);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function createNodeImportMap(options) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const { remotesOrManifestUrl, relBundlePath } = options;
|
|
29
|
+
const remotes = typeof remotesOrManifestUrl === 'object'
|
|
30
|
+
? remotesOrManifestUrl
|
|
31
|
+
: yield loadFsManifest(remotesOrManifestUrl);
|
|
32
|
+
const hostInfo = yield loadFsFederationInfo(relBundlePath);
|
|
33
|
+
const hostImportMap = yield processHostInfo(hostInfo, relBundlePath);
|
|
34
|
+
const remotesImportMap = yield processRemoteInfos(remotes, {
|
|
35
|
+
throwIfRemoteNotFound: options.throwIfRemoteNotFound,
|
|
36
|
+
});
|
|
37
|
+
const importMap = mergeImportMaps(hostImportMap, remotesImportMap);
|
|
38
|
+
return importMap;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function loadFsManifest(manifestUrl) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const content = yield fs.readFile(manifestUrl, 'utf-8');
|
|
44
|
+
const manifest = JSON.parse(content);
|
|
45
|
+
return manifest;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function loadFsFederationInfo(relBundlePath) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const manifestPath = path.join(relBundlePath, 'remoteEntry.json');
|
|
51
|
+
const content = yield fs.readFile(manifestPath, 'utf-8');
|
|
52
|
+
const manifest = JSON.parse(content);
|
|
53
|
+
return manifest;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function writeImportMap(map) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
yield fs.writeFile(IMPORT_MAP_FILE_NAME, JSON.stringify(map, null, 2), 'utf-8');
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function writeResolver() {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const buffer = Buffer.from(resolver, 'base64');
|
|
64
|
+
yield fs.writeFile('federation-resolver.mjs', buffer, 'utf-8');
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=init-node-federation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-node-federation.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/node/init-node-federation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function resolveSpecifier(importMap: any, specifier: any, parentURL: any): any;
|
|
2
|
+
export function resolveAndComposeImportMap(parsed: any): {
|
|
3
|
+
imports: {};
|
|
4
|
+
scopes: {};
|
|
5
|
+
};
|
|
6
|
+
export function resolve(specifier: any, context: any, defaultResolve: any): Promise<any>;
|
|
7
|
+
export function load(url: any, context: any, defaultLoad: any): Promise<any>;
|
|
8
|
+
export const IMPORT_MAP_FILE_NAME: "node.importmap";
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import url from 'url';
|
|
4
|
+
import { promises as fs } from 'fs';
|
|
5
|
+
export const IMPORT_MAP_FILE_NAME = 'node.importmap';
|
|
6
|
+
const baseURL = url.pathToFileURL(process.cwd()) + path.sep;
|
|
7
|
+
// https://wicg.github.io/import-maps/#new-resolve-algorithm
|
|
8
|
+
export function resolveSpecifier(importMap, specifier, parentURL) {
|
|
9
|
+
let currentBaseURL;
|
|
10
|
+
if (parentURL) {
|
|
11
|
+
const lastSlashIndex = parentURL.lastIndexOf(path.sep);
|
|
12
|
+
currentBaseURL = parentURL.slice(0, lastSlashIndex + 1);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
currentBaseURL = baseURL;
|
|
16
|
+
}
|
|
17
|
+
const normalizedSpecifier = parseURLLikeSpecifier(specifier, currentBaseURL) || specifier;
|
|
18
|
+
for (let scopePrefix in importMap.scopes) {
|
|
19
|
+
if (scopePrefix === currentBaseURL ||
|
|
20
|
+
(scopePrefix.endsWith('/') && currentBaseURL.startsWith(scopePrefix))) {
|
|
21
|
+
const scopeImportsMatch = resolveImportsMatch(normalizedSpecifier, importMap.scopes[scopePrefix]);
|
|
22
|
+
if (scopeImportsMatch) {
|
|
23
|
+
return scopeImportsMatch;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const topLevelImportsMatch = resolveImportsMatch(normalizedSpecifier, importMap.imports);
|
|
28
|
+
if (topLevelImportsMatch) {
|
|
29
|
+
return topLevelImportsMatch;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return resolveImportsMatch(normalizedSpecifier, importMap.imports);
|
|
34
|
+
}
|
|
35
|
+
// https://wicg.github.io/import-maps/#resolve-an-imports-match
|
|
36
|
+
function resolveImportsMatch(normalizedSpecifier, specifierMap) {
|
|
37
|
+
for (let specifierKey in specifierMap) {
|
|
38
|
+
const resolutionResult = specifierMap[specifierKey];
|
|
39
|
+
if (specifierKey === normalizedSpecifier) {
|
|
40
|
+
if (resolutionResult === null) {
|
|
41
|
+
throw TypeError(`The import map resolution of ${specifierKey} failed due to a null entry`);
|
|
42
|
+
}
|
|
43
|
+
return resolutionResult;
|
|
44
|
+
}
|
|
45
|
+
else if (specifierKey.endsWith('/') &&
|
|
46
|
+
normalizedSpecifier.startsWith(specifierKey)) {
|
|
47
|
+
if (resolutionResult === null) {
|
|
48
|
+
throw TypeError(`The import map resolution of ${specifierKey} failed due to a null entry`);
|
|
49
|
+
}
|
|
50
|
+
const afterPrefix = normalizedSpecifier.slice(specifierKey.length);
|
|
51
|
+
try {
|
|
52
|
+
return new URL(afterPrefix, resolutionResult).href;
|
|
53
|
+
}
|
|
54
|
+
catch (_a) {
|
|
55
|
+
throw TypeError(`The import map resolution of ${specifierKey} failed due to URL parse failure`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
// https://wicg.github.io/import-maps/#parsing
|
|
62
|
+
export function resolveAndComposeImportMap(parsed) {
|
|
63
|
+
// Step 2
|
|
64
|
+
if (!isPlainObject(parsed)) {
|
|
65
|
+
throw Error(`Invalid import map - top level must be an object`);
|
|
66
|
+
}
|
|
67
|
+
// Step 3
|
|
68
|
+
let sortedAndNormalizedImports = {};
|
|
69
|
+
// Step 4
|
|
70
|
+
if (parsed.hasOwnProperty('imports')) {
|
|
71
|
+
// Step 4.1
|
|
72
|
+
if (!isPlainObject(parsed.imports)) {
|
|
73
|
+
throw Error(`Invalid import map - "imports" property must be an object`);
|
|
74
|
+
}
|
|
75
|
+
// Step 4.2
|
|
76
|
+
sortedAndNormalizedImports = sortAndNormalizeSpecifierMap(parsed.imports, baseURL);
|
|
77
|
+
}
|
|
78
|
+
// Step 5
|
|
79
|
+
let sortedAndNormalizedScopes = {};
|
|
80
|
+
// Step 6
|
|
81
|
+
if (parsed.hasOwnProperty('scopes')) {
|
|
82
|
+
// Step 6.1
|
|
83
|
+
if (!isPlainObject(parsed.scopes)) {
|
|
84
|
+
throw Error(`Invalid import map - "scopes" property must be an object`);
|
|
85
|
+
}
|
|
86
|
+
// Step 6.2
|
|
87
|
+
sortedAndNormalizedScopes = sortAndNormalizeScopes(parsed.scopes, baseURL);
|
|
88
|
+
}
|
|
89
|
+
// Step 7
|
|
90
|
+
const invalidKeys = Object.keys(parsed).filter((key) => key !== 'imports' && key !== 'scopes');
|
|
91
|
+
if (invalidKeys.length > 0) {
|
|
92
|
+
console.warn(`Invalid top-level key${invalidKeys.length > 0 ? 's' : ''} in import map - ${invalidKeys.join(', ')}`);
|
|
93
|
+
}
|
|
94
|
+
// Step 8
|
|
95
|
+
return {
|
|
96
|
+
imports: sortedAndNormalizedImports,
|
|
97
|
+
scopes: sortedAndNormalizedScopes,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// https://wicg.github.io/import-maps/#sort-and-normalize-a-specifier-map
|
|
101
|
+
function sortAndNormalizeSpecifierMap(map, baseURL) {
|
|
102
|
+
const normalized = {};
|
|
103
|
+
for (let specifierKey in map) {
|
|
104
|
+
const value = map[specifierKey];
|
|
105
|
+
const normalizedSpecifierKey = normalizeSpecifierKey(specifierKey, baseURL);
|
|
106
|
+
if (normalizedSpecifierKey === null) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
let addressURL = parseURLLikeSpecifier(value, baseURL);
|
|
110
|
+
if (addressURL === null) {
|
|
111
|
+
console.warn(`Invalid URL address for import map specifier '${specifierKey}'`);
|
|
112
|
+
normalized[normalizedSpecifierKey] = null;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (specifierKey.endsWith('/') && !addressURL.endsWith('/')) {
|
|
116
|
+
console.warn(`Invalid URL address for import map specifier '${specifierKey}' - since the specifier ends in slash, so must the address`);
|
|
117
|
+
normalized[normalizedSpecifierKey] = null;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
normalized[normalizedSpecifierKey] = addressURL;
|
|
121
|
+
}
|
|
122
|
+
return normalized;
|
|
123
|
+
}
|
|
124
|
+
// https://wicg.github.io/import-maps/#normalize-a-specifier-key
|
|
125
|
+
function normalizeSpecifierKey(key) {
|
|
126
|
+
if (key === '') {
|
|
127
|
+
console.warn(`Specifier keys in import maps may not be the empty string`);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return parseURLLikeSpecifier(key, baseURL) || key;
|
|
131
|
+
}
|
|
132
|
+
// https://wicg.github.io/import-maps/#parse-a-url-like-import-specifier
|
|
133
|
+
function parseURLLikeSpecifier(specifier, baseURL) {
|
|
134
|
+
const useBaseUrlAsParent = specifier.startsWith('/') ||
|
|
135
|
+
specifier.startsWith('./') ||
|
|
136
|
+
specifier.startsWith('../');
|
|
137
|
+
try {
|
|
138
|
+
return new URL(specifier, useBaseUrlAsParent ? baseURL : undefined).href;
|
|
139
|
+
}
|
|
140
|
+
catch (_a) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// https://wicg.github.io/import-maps/#sort-and-normalize-scopes
|
|
145
|
+
function sortAndNormalizeScopes(map, baseURL) {
|
|
146
|
+
let normalized = {};
|
|
147
|
+
for (let scopePrefix in map) {
|
|
148
|
+
const potentialSpecifierMap = map[scopePrefix];
|
|
149
|
+
if (!isPlainObject(potentialSpecifierMap)) {
|
|
150
|
+
throw TypeError(`The value of scope ${scopePrefix} must be a JSON object`);
|
|
151
|
+
}
|
|
152
|
+
let scopePrefixURL;
|
|
153
|
+
try {
|
|
154
|
+
scopePrefixURL = new URL(scopePrefix, baseURL).href;
|
|
155
|
+
}
|
|
156
|
+
catch (_a) {
|
|
157
|
+
console.warn(`Scope prefix URL '${scopePrefix}' was not parseable in import map`);
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
normalized[scopePrefixURL] = sortAndNormalizeSpecifierMap(potentialSpecifierMap, baseURL);
|
|
161
|
+
}
|
|
162
|
+
return normalized;
|
|
163
|
+
}
|
|
164
|
+
function isPlainObject(obj) {
|
|
165
|
+
return obj === Object(obj) && !Array.isArray(obj);
|
|
166
|
+
}
|
|
167
|
+
// ---
|
|
168
|
+
let importMapPromise = getImportMapPromise();
|
|
169
|
+
export function resolve(specifier, context, defaultResolve) {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
+
const { parentURL = null } = context;
|
|
172
|
+
const importMap = yield importMapPromise;
|
|
173
|
+
const importMapUrl = resolveSpecifier(importMap, specifier, parentURL);
|
|
174
|
+
return defaultResolve(importMapUrl !== null && importMapUrl !== void 0 ? importMapUrl : specifier, context, defaultResolve);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
export function load(url, context, defaultLoad) {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
// Falls das URL-Schema http oder https ist, holen wir den Inhalt über Fetch
|
|
180
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
181
|
+
const res = yield fetch(url);
|
|
182
|
+
if (!res.ok) {
|
|
183
|
+
throw new Error(`Failed to fetch module from ${url}`);
|
|
184
|
+
}
|
|
185
|
+
const source = yield res.text();
|
|
186
|
+
return {
|
|
187
|
+
shortCircuit: true,
|
|
188
|
+
format: 'module', // Wir nehmen an, es handelt sich um ein ESM-Modul
|
|
189
|
+
source,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
// Default loader für alle anderen Module
|
|
193
|
+
context.format = 'module';
|
|
194
|
+
return defaultLoad(url, context, defaultLoad);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function getImportMapPromise() {
|
|
198
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
const relativePath = process.env.IMPORT_MAP_PATH || IMPORT_MAP_FILE_NAME;
|
|
200
|
+
const importMapPath = path.resolve(process.cwd(), relativePath);
|
|
201
|
+
let str;
|
|
202
|
+
try {
|
|
203
|
+
str = yield fs.readFile(importMapPath);
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
return emptyMap();
|
|
207
|
+
}
|
|
208
|
+
let json;
|
|
209
|
+
try {
|
|
210
|
+
json = yield JSON.parse(str);
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
throw Error(`Import map at ${importMapPath} contains invalid json: ${err.message}`);
|
|
214
|
+
}
|
|
215
|
+
return resolveAndComposeImportMap(json);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
global.nodeLoader = global.nodeLoader || {};
|
|
219
|
+
global.nodeLoader.setImportMapPromise = function setImportMapPromise(promise) {
|
|
220
|
+
importMapPromise = promise.then((map) => {
|
|
221
|
+
return resolveAndComposeImportMap(map);
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
function emptyMap() {
|
|
225
|
+
return { imports: {}, scopes: {} };
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=import-map-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const resolver: "aW1wb3J0IHBhdGggZnJvbSAncGF0aCc7CmltcG9ydCB1cmwgZnJvbSAndXJsJzsKaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7CgpleHBvcnQgY29uc3QgSU1QT1JUX01BUF9GSUxFX05BTUUgPSAnbm9kZS5pbXBvcnRtYXAnOwoKY29uc3QgYmFzZVVSTCA9IHVybC5wYXRoVG9GaWxlVVJMKHByb2Nlc3MuY3dkKCkpICsgcGF0aC5zZXA7CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNuZXctcmVzb2x2ZS1hbGdvcml0aG0KZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTcGVjaWZpZXIoaW1wb3J0TWFwLCBzcGVjaWZpZXIsIHBhcmVudFVSTCkgewogIGxldCBjdXJyZW50QmFzZVVSTDsKICBpZiAocGFyZW50VVJMKSB7CiAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHBhcmVudFVSTC5sYXN0SW5kZXhPZihwYXRoLnNlcCk7CiAgICBjdXJyZW50QmFzZVVSTCA9IHBhcmVudFVSTC5zbGljZSgwLCBsYXN0U2xhc2hJbmRleCArIDEpOwogIH0gZWxzZSB7CiAgICBjdXJyZW50QmFzZVVSTCA9IGJhc2VVUkw7CiAgfQogIGNvbnN0IG5vcm1hbGl6ZWRTcGVjaWZpZXIgPQogICAgcGFyc2VVUkxMaWtlU3BlY2lmaWVyKHNwZWNpZmllciwgY3VycmVudEJhc2VVUkwpIHx8IHNwZWNpZmllcjsKICBmb3IgKGxldCBzY29wZVByZWZpeCBpbiBpbXBvcnRNYXAuc2NvcGVzKSB7CiAgICBpZiAoCiAgICAgIHNjb3BlUHJlZml4ID09PSBjdXJyZW50QmFzZVVSTCB8fAogICAgICAoc2NvcGVQcmVmaXguZW5kc1dpdGgoJy8nKSAmJiBjdXJyZW50QmFzZVVSTC5zdGFydHNXaXRoKHNjb3BlUHJlZml4KSkKICAgICkgewogICAgICBjb25zdCBzY29wZUltcG9ydHNNYXRjaCA9IHJlc29sdmVJbXBvcnRzTWF0Y2goCiAgICAgICAgbm9ybWFsaXplZFNwZWNpZmllciwKICAgICAgICBpbXBvcnRNYXAuc2NvcGVzW3Njb3BlUHJlZml4XQogICAgICApOwogICAgICBpZiAoc2NvcGVJbXBvcnRzTWF0Y2gpIHsKICAgICAgICByZXR1cm4gc2NvcGVJbXBvcnRzTWF0Y2g7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IHRvcExldmVsSW1wb3J0c01hdGNoID0gcmVzb2x2ZUltcG9ydHNNYXRjaCgKICAgICAgICBub3JtYWxpemVkU3BlY2lmaWVyLAogICAgICAgIGltcG9ydE1hcC5pbXBvcnRzCiAgICAgICk7CiAgICAgIGlmICh0b3BMZXZlbEltcG9ydHNNYXRjaCkgewogICAgICAgIHJldHVybiB0b3BMZXZlbEltcG9ydHNNYXRjaDsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIHJlc29sdmVJbXBvcnRzTWF0Y2gobm9ybWFsaXplZFNwZWNpZmllciwgaW1wb3J0TWFwLmltcG9ydHMpOwp9CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNyZXNvbHZlLWFuLWltcG9ydHMtbWF0Y2gKZnVuY3Rpb24gcmVzb2x2ZUltcG9ydHNNYXRjaChub3JtYWxpemVkU3BlY2lmaWVyLCBzcGVjaWZpZXJNYXApIHsKICBmb3IgKGxldCBzcGVjaWZpZXJLZXkgaW4gc3BlY2lmaWVyTWFwKSB7CiAgICBjb25zdCByZXNvbHV0aW9uUmVzdWx0ID0gc3BlY2lmaWVyTWFwW3NwZWNpZmllcktleV07CgogICAgaWYgKHNwZWNpZmllcktleSA9PT0gbm9ybWFsaXplZFNwZWNpZmllcikgewogICAgICBpZiAocmVzb2x1dGlvblJlc3VsdCA9PT0gbnVsbCkgewogICAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICAgIGBUaGUgaW1wb3J0IG1hcCByZXNvbHV0aW9uIG9mICR7c3BlY2lmaWVyS2V5fSBmYWlsZWQgZHVlIHRvIGEgbnVsbCBlbnRyeWAKICAgICAgICApOwogICAgICB9CiAgICAgIHJldHVybiByZXNvbHV0aW9uUmVzdWx0OwogICAgfSBlbHNlIGlmICgKICAgICAgc3BlY2lmaWVyS2V5LmVuZHNXaXRoKCcvJykgJiYKICAgICAgbm9ybWFsaXplZFNwZWNpZmllci5zdGFydHNXaXRoKHNwZWNpZmllcktleSkKICAgICkgewogICAgICBpZiAocmVzb2x1dGlvblJlc3VsdCA9PT0gbnVsbCkgewogICAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICAgIGBUaGUgaW1wb3J0IG1hcCByZXNvbHV0aW9uIG9mICR7c3BlY2lmaWVyS2V5fSBmYWlsZWQgZHVlIHRvIGEgbnVsbCBlbnRyeWAKICAgICAgICApOwogICAgICB9CiAgICAgIGNvbnN0IGFmdGVyUHJlZml4ID0gbm9ybWFsaXplZFNwZWNpZmllci5zbGljZShzcGVjaWZpZXJLZXkubGVuZ3RoKTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gbmV3IFVSTChhZnRlclByZWZpeCwgcmVzb2x1dGlvblJlc3VsdCkuaHJlZjsKICAgICAgfSBjYXRjaCB7CiAgICAgICAgdGhyb3cgVHlwZUVycm9yKAogICAgICAgICAgYFRoZSBpbXBvcnQgbWFwIHJlc29sdXRpb24gb2YgJHtzcGVjaWZpZXJLZXl9IGZhaWxlZCBkdWUgdG8gVVJMIHBhcnNlIGZhaWx1cmVgCiAgICAgICAgKTsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIG51bGw7Cn0KCi8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vaW1wb3J0LW1hcHMvI3BhcnNpbmcKZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKHBhcnNlZCkgewogIC8vIFN0ZXAgMgogIGlmICghaXNQbGFpbk9iamVjdChwYXJzZWQpKSB7CiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gdG9wIGxldmVsIG11c3QgYmUgYW4gb2JqZWN0YCk7CiAgfQoKICAvLyBTdGVwIDMKICBsZXQgc29ydGVkQW5kTm9ybWFsaXplZEltcG9ydHMgPSB7fTsKCiAgLy8gU3RlcCA0CiAgaWYgKHBhcnNlZC5oYXNPd25Qcm9wZXJ0eSgnaW1wb3J0cycpKSB7CiAgICAvLyBTdGVwIDQuMQogICAgaWYgKCFpc1BsYWluT2JqZWN0KHBhcnNlZC5pbXBvcnRzKSkgewogICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gImltcG9ydHMiIHByb3BlcnR5IG11c3QgYmUgYW4gb2JqZWN0YCk7CiAgICB9CgogICAgLy8gU3RlcCA0LjIKICAgIHNvcnRlZEFuZE5vcm1hbGl6ZWRJbXBvcnRzID0gc29ydEFuZE5vcm1hbGl6ZVNwZWNpZmllck1hcCgKICAgICAgcGFyc2VkLmltcG9ydHMsCiAgICAgIGJhc2VVUkwKICAgICk7CiAgfQoKICAvLyBTdGVwIDUKICBsZXQgc29ydGVkQW5kTm9ybWFsaXplZFNjb3BlcyA9IHt9OwoKICAvLyBTdGVwIDYKICBpZiAocGFyc2VkLmhhc093blByb3BlcnR5KCdzY29wZXMnKSkgewogICAgLy8gU3RlcCA2LjEKICAgIGlmICghaXNQbGFpbk9iamVjdChwYXJzZWQuc2NvcGVzKSkgewogICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gInNjb3BlcyIgcHJvcGVydHkgbXVzdCBiZSBhbiBvYmplY3RgKTsKICAgIH0KCiAgICAvLyBTdGVwIDYuMgogICAgc29ydGVkQW5kTm9ybWFsaXplZFNjb3BlcyA9IHNvcnRBbmROb3JtYWxpemVTY29wZXMocGFyc2VkLnNjb3BlcywgYmFzZVVSTCk7CiAgfQoKICAvLyBTdGVwIDcKICBjb25zdCBpbnZhbGlkS2V5cyA9IE9iamVjdC5rZXlzKHBhcnNlZCkuZmlsdGVyKAogICAgKGtleSkgPT4ga2V5ICE9PSAnaW1wb3J0cycgJiYga2V5ICE9PSAnc2NvcGVzJwogICk7CiAgaWYgKGludmFsaWRLZXlzLmxlbmd0aCA+IDApIHsKICAgIGNvbnNvbGUud2FybigKICAgICAgYEludmFsaWQgdG9wLWxldmVsIGtleSR7CiAgICAgICAgaW52YWxpZEtleXMubGVuZ3RoID4gMCA/ICdzJyA6ICcnCiAgICAgIH0gaW4gaW1wb3J0IG1hcCAtICR7aW52YWxpZEtleXMuam9pbignLCAnKX1gCiAgICApOwogIH0KCiAgLy8gU3RlcCA4CiAgcmV0dXJuIHsKICAgIGltcG9ydHM6IHNvcnRlZEFuZE5vcm1hbGl6ZWRJbXBvcnRzLAogICAgc2NvcGVzOiBzb3J0ZWRBbmROb3JtYWxpemVkU2NvcGVzLAogIH07Cn0KCi8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vaW1wb3J0LW1hcHMvI3NvcnQtYW5kLW5vcm1hbGl6ZS1hLXNwZWNpZmllci1tYXAKZnVuY3Rpb24gc29ydEFuZE5vcm1hbGl6ZVNwZWNpZmllck1hcChtYXAsIGJhc2VVUkwpIHsKICBjb25zdCBub3JtYWxpemVkID0ge307CgogIGZvciAobGV0IHNwZWNpZmllcktleSBpbiBtYXApIHsKICAgIGNvbnN0IHZhbHVlID0gbWFwW3NwZWNpZmllcktleV07CgogICAgY29uc3Qgbm9ybWFsaXplZFNwZWNpZmllcktleSA9IG5vcm1hbGl6ZVNwZWNpZmllcktleShzcGVjaWZpZXJLZXksIGJhc2VVUkwpOwogICAgaWYgKG5vcm1hbGl6ZWRTcGVjaWZpZXJLZXkgPT09IG51bGwpIHsKICAgICAgY29udGludWU7CiAgICB9CgogICAgbGV0IGFkZHJlc3NVUkwgPSBwYXJzZVVSTExpa2VTcGVjaWZpZXIodmFsdWUsIGJhc2VVUkwpOwogICAgaWYgKGFkZHJlc3NVUkwgPT09IG51bGwpIHsKICAgICAgY29uc29sZS53YXJuKAogICAgICAgIGBJbnZhbGlkIFVSTCBhZGRyZXNzIGZvciBpbXBvcnQgbWFwIHNwZWNpZmllciAnJHtzcGVjaWZpZXJLZXl9J2AKICAgICAgKTsKICAgICAgbm9ybWFsaXplZFtub3JtYWxpemVkU3BlY2lmaWVyS2V5XSA9IG51bGw7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIGlmIChzcGVjaWZpZXJLZXkuZW5kc1dpdGgoJy8nKSAmJiAhYWRkcmVzc1VSTC5lbmRzV2l0aCgnLycpKSB7CiAgICAgIGNvbnNvbGUud2FybigKICAgICAgICBgSW52YWxpZCBVUkwgYWRkcmVzcyBmb3IgaW1wb3J0IG1hcCBzcGVjaWZpZXIgJyR7c3BlY2lmaWVyS2V5fScgLSBzaW5jZSB0aGUgc3BlY2lmaWVyIGVuZHMgaW4gc2xhc2gsIHNvIG11c3QgdGhlIGFkZHJlc3NgCiAgICAgICk7CiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplZFNwZWNpZmllcktleV0gPSBudWxsOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBub3JtYWxpemVkW25vcm1hbGl6ZWRTcGVjaWZpZXJLZXldID0gYWRkcmVzc1VSTDsKICB9CgogIHJldHVybiBub3JtYWxpemVkOwp9CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNub3JtYWxpemUtYS1zcGVjaWZpZXIta2V5CmZ1bmN0aW9uIG5vcm1hbGl6ZVNwZWNpZmllcktleShrZXkpIHsKICBpZiAoa2V5ID09PSAnJykgewogICAgY29uc29sZS53YXJuKGBTcGVjaWZpZXIga2V5cyBpbiBpbXBvcnQgbWFwcyBtYXkgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmdgKTsKICAgIHJldHVybiBudWxsOwogIH0KCiAgcmV0dXJuIHBhcnNlVVJMTGlrZVNwZWNpZmllcihrZXksIGJhc2VVUkwpIHx8IGtleTsKfQoKLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9pbXBvcnQtbWFwcy8jcGFyc2UtYS11cmwtbGlrZS1pbXBvcnQtc3BlY2lmaWVyCmZ1bmN0aW9uIHBhcnNlVVJMTGlrZVNwZWNpZmllcihzcGVjaWZpZXIsIGJhc2VVUkwpIHsKICBjb25zdCB1c2VCYXNlVXJsQXNQYXJlbnQgPQogICAgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSB8fAogICAgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy4vJykgfHwKICAgIHNwZWNpZmllci5zdGFydHNXaXRoKCcuLi8nKTsKCiAgdHJ5IHsKICAgIHJldHVybiBuZXcgVVJMKHNwZWNpZmllciwgdXNlQmFzZVVybEFzUGFyZW50ID8gYmFzZVVSTCA6IHVuZGVmaW5lZCkuaHJlZjsKICB9IGNhdGNoIHsKICAgIHJldHVybiBudWxsOwogIH0KfQoKLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9pbXBvcnQtbWFwcy8jc29ydC1hbmQtbm9ybWFsaXplLXNjb3BlcwpmdW5jdGlvbiBzb3J0QW5kTm9ybWFsaXplU2NvcGVzKG1hcCwgYmFzZVVSTCkgewogIGxldCBub3JtYWxpemVkID0ge307CgogIGZvciAobGV0IHNjb3BlUHJlZml4IGluIG1hcCkgewogICAgY29uc3QgcG90ZW50aWFsU3BlY2lmaWVyTWFwID0gbWFwW3Njb3BlUHJlZml4XTsKICAgIGlmICghaXNQbGFpbk9iamVjdChwb3RlbnRpYWxTcGVjaWZpZXJNYXApKSB7CiAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICBgVGhlIHZhbHVlIG9mIHNjb3BlICR7c2NvcGVQcmVmaXh9IG11c3QgYmUgYSBKU09OIG9iamVjdGAKICAgICAgKTsKICAgIH0KCiAgICBsZXQgc2NvcGVQcmVmaXhVUkw7CiAgICB0cnkgewogICAgICBzY29wZVByZWZpeFVSTCA9IG5ldyBVUkwoc2NvcGVQcmVmaXgsIGJhc2VVUkwpLmhyZWY7CiAgICB9IGNhdGNoIHsKICAgICAgY29uc29sZS53YXJuKAogICAgICAgIGBTY29wZSBwcmVmaXggVVJMICcke3Njb3BlUHJlZml4fScgd2FzIG5vdCBwYXJzZWFibGUgaW4gaW1wb3J0IG1hcGAKICAgICAgKTsKICAgICAgY29udGludWU7CiAgICB9CgogICAgbm9ybWFsaXplZFtzY29wZVByZWZpeFVSTF0gPSBzb3J0QW5kTm9ybWFsaXplU3BlY2lmaWVyTWFwKAogICAgICBwb3RlbnRpYWxTcGVjaWZpZXJNYXAsCiAgICAgIGJhc2VVUkwKICAgICk7CiAgfQoKICByZXR1cm4gbm9ybWFsaXplZDsKfQoKZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHsKICByZXR1cm4gb2JqID09PSBPYmplY3Qob2JqKSAmJiAhQXJyYXkuaXNBcnJheShvYmopOwp9CgovLyAtLS0KCmxldCBpbXBvcnRNYXBQcm9taXNlID0gZ2V0SW1wb3J0TWFwUHJvbWlzZSgpOwoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmUoc3BlY2lmaWVyLCBjb250ZXh0LCBkZWZhdWx0UmVzb2x2ZSkgewogIGNvbnN0IHsgcGFyZW50VVJMID0gbnVsbCB9ID0gY29udGV4dDsKICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCBpbXBvcnRNYXBQcm9taXNlOwogIGNvbnN0IGltcG9ydE1hcFVybCA9IHJlc29sdmVTcGVjaWZpZXIoaW1wb3J0TWFwLCBzcGVjaWZpZXIsIHBhcmVudFVSTCk7CgogIHJldHVybiBkZWZhdWx0UmVzb2x2ZShpbXBvcnRNYXBVcmwgPz8gc3BlY2lmaWVyLCBjb250ZXh0LCBkZWZhdWx0UmVzb2x2ZSk7Cn0KCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkKHVybCwgY29udGV4dCwgZGVmYXVsdExvYWQpIHsKICAvLyBGYWxscyBkYXMgVVJMLVNjaGVtYSBodHRwIG9kZXIgaHR0cHMgaXN0LCBob2xlbiB3aXIgZGVuIEluaGFsdCDDvGJlciBGZXRjaAogIGlmICh1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IHVybC5zdGFydHNXaXRoKCdodHRwczovLycpKSB7CiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwpOwogICAgaWYgKCFyZXMub2spIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlIGZyb20gJHt1cmx9YCk7CiAgICB9CiAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCByZXMudGV4dCgpOwogICAgcmV0dXJuIHsKICAgICAgc2hvcnRDaXJjdWl0OiB0cnVlLAogICAgICBmb3JtYXQ6ICdtb2R1bGUnLCAvLyBXaXIgbmVobWVuIGFuLCBlcyBoYW5kZWx0IHNpY2ggdW0gZWluIEVTTS1Nb2R1bAogICAgICBzb3VyY2UsCiAgICB9OwogIH0KCiAgLy8gRGVmYXVsdCBsb2FkZXIgZsO8ciBhbGxlIGFuZGVyZW4gTW9kdWxlCiAgY29udGV4dC5mb3JtYXQgPSAnbW9kdWxlJzsKCiAgcmV0dXJuIGRlZmF1bHRMb2FkKHVybCwgY29udGV4dCwgZGVmYXVsdExvYWQpOwp9Cgphc3luYyBmdW5jdGlvbiBnZXRJbXBvcnRNYXBQcm9taXNlKCkgewogIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHByb2Nlc3MuZW52LklNUE9SVF9NQVBfUEFUSCB8fCBJTVBPUlRfTUFQX0ZJTEVfTkFNRTsKICBjb25zdCBpbXBvcnRNYXBQYXRoID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHJlbGF0aXZlUGF0aCk7CgogIGxldCBzdHI7CiAgdHJ5IHsKICAgIHN0ciA9IGF3YWl0IGZzLnJlYWRGaWxlKGltcG9ydE1hcFBhdGgpOwogIH0gY2F0Y2ggKGVycikgewogICAgcmV0dXJuIGVtcHR5TWFwKCk7CiAgfQoKICBsZXQganNvbjsKICB0cnkgewogICAganNvbiA9IGF3YWl0IEpTT04ucGFyc2Uoc3RyKTsKICB9IGNhdGNoIChlcnIpIHsKICAgIHRocm93IEVycm9yKAogICAgICBgSW1wb3J0IG1hcCBhdCAke2ltcG9ydE1hcFBhdGh9IGNvbnRhaW5zIGludmFsaWQganNvbjogJHtlcnIubWVzc2FnZX1gCiAgICApOwogIH0KCiAgcmV0dXJuIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKGpzb24pOwp9CgpnbG9iYWwubm9kZUxvYWRlciA9IGdsb2JhbC5ub2RlTG9hZGVyIHx8IHt9OwoKZ2xvYmFsLm5vZGVMb2FkZXIuc2V0SW1wb3J0TWFwUHJvbWlzZSA9IGZ1bmN0aW9uIHNldEltcG9ydE1hcFByb21pc2UocHJvbWlzZSkgewogIGltcG9ydE1hcFByb21pc2UgPSBwcm9taXNlLnRoZW4oKG1hcCkgPT4gewogICAgcmV0dXJuIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKG1hcCk7CiAgfSk7Cn07CgpmdW5jdGlvbiBlbXB0eU1hcCgpIHsKICByZXR1cm4geyBpbXBvcnRzOiB7fSwgc2NvcGVzOiB7fSB9Owp9Cg==";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const resolver = "aW1wb3J0IHBhdGggZnJvbSAncGF0aCc7CmltcG9ydCB1cmwgZnJvbSAndXJsJzsKaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7CgpleHBvcnQgY29uc3QgSU1QT1JUX01BUF9GSUxFX05BTUUgPSAnbm9kZS5pbXBvcnRtYXAnOwoKY29uc3QgYmFzZVVSTCA9IHVybC5wYXRoVG9GaWxlVVJMKHByb2Nlc3MuY3dkKCkpICsgcGF0aC5zZXA7CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNuZXctcmVzb2x2ZS1hbGdvcml0aG0KZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTcGVjaWZpZXIoaW1wb3J0TWFwLCBzcGVjaWZpZXIsIHBhcmVudFVSTCkgewogIGxldCBjdXJyZW50QmFzZVVSTDsKICBpZiAocGFyZW50VVJMKSB7CiAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHBhcmVudFVSTC5sYXN0SW5kZXhPZihwYXRoLnNlcCk7CiAgICBjdXJyZW50QmFzZVVSTCA9IHBhcmVudFVSTC5zbGljZSgwLCBsYXN0U2xhc2hJbmRleCArIDEpOwogIH0gZWxzZSB7CiAgICBjdXJyZW50QmFzZVVSTCA9IGJhc2VVUkw7CiAgfQogIGNvbnN0IG5vcm1hbGl6ZWRTcGVjaWZpZXIgPQogICAgcGFyc2VVUkxMaWtlU3BlY2lmaWVyKHNwZWNpZmllciwgY3VycmVudEJhc2VVUkwpIHx8IHNwZWNpZmllcjsKICBmb3IgKGxldCBzY29wZVByZWZpeCBpbiBpbXBvcnRNYXAuc2NvcGVzKSB7CiAgICBpZiAoCiAgICAgIHNjb3BlUHJlZml4ID09PSBjdXJyZW50QmFzZVVSTCB8fAogICAgICAoc2NvcGVQcmVmaXguZW5kc1dpdGgoJy8nKSAmJiBjdXJyZW50QmFzZVVSTC5zdGFydHNXaXRoKHNjb3BlUHJlZml4KSkKICAgICkgewogICAgICBjb25zdCBzY29wZUltcG9ydHNNYXRjaCA9IHJlc29sdmVJbXBvcnRzTWF0Y2goCiAgICAgICAgbm9ybWFsaXplZFNwZWNpZmllciwKICAgICAgICBpbXBvcnRNYXAuc2NvcGVzW3Njb3BlUHJlZml4XQogICAgICApOwogICAgICBpZiAoc2NvcGVJbXBvcnRzTWF0Y2gpIHsKICAgICAgICByZXR1cm4gc2NvcGVJbXBvcnRzTWF0Y2g7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IHRvcExldmVsSW1wb3J0c01hdGNoID0gcmVzb2x2ZUltcG9ydHNNYXRjaCgKICAgICAgICBub3JtYWxpemVkU3BlY2lmaWVyLAogICAgICAgIGltcG9ydE1hcC5pbXBvcnRzCiAgICAgICk7CiAgICAgIGlmICh0b3BMZXZlbEltcG9ydHNNYXRjaCkgewogICAgICAgIHJldHVybiB0b3BMZXZlbEltcG9ydHNNYXRjaDsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIHJlc29sdmVJbXBvcnRzTWF0Y2gobm9ybWFsaXplZFNwZWNpZmllciwgaW1wb3J0TWFwLmltcG9ydHMpOwp9CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNyZXNvbHZlLWFuLWltcG9ydHMtbWF0Y2gKZnVuY3Rpb24gcmVzb2x2ZUltcG9ydHNNYXRjaChub3JtYWxpemVkU3BlY2lmaWVyLCBzcGVjaWZpZXJNYXApIHsKICBmb3IgKGxldCBzcGVjaWZpZXJLZXkgaW4gc3BlY2lmaWVyTWFwKSB7CiAgICBjb25zdCByZXNvbHV0aW9uUmVzdWx0ID0gc3BlY2lmaWVyTWFwW3NwZWNpZmllcktleV07CgogICAgaWYgKHNwZWNpZmllcktleSA9PT0gbm9ybWFsaXplZFNwZWNpZmllcikgewogICAgICBpZiAocmVzb2x1dGlvblJlc3VsdCA9PT0gbnVsbCkgewogICAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICAgIGBUaGUgaW1wb3J0IG1hcCByZXNvbHV0aW9uIG9mICR7c3BlY2lmaWVyS2V5fSBmYWlsZWQgZHVlIHRvIGEgbnVsbCBlbnRyeWAKICAgICAgICApOwogICAgICB9CiAgICAgIHJldHVybiByZXNvbHV0aW9uUmVzdWx0OwogICAgfSBlbHNlIGlmICgKICAgICAgc3BlY2lmaWVyS2V5LmVuZHNXaXRoKCcvJykgJiYKICAgICAgbm9ybWFsaXplZFNwZWNpZmllci5zdGFydHNXaXRoKHNwZWNpZmllcktleSkKICAgICkgewogICAgICBpZiAocmVzb2x1dGlvblJlc3VsdCA9PT0gbnVsbCkgewogICAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICAgIGBUaGUgaW1wb3J0IG1hcCByZXNvbHV0aW9uIG9mICR7c3BlY2lmaWVyS2V5fSBmYWlsZWQgZHVlIHRvIGEgbnVsbCBlbnRyeWAKICAgICAgICApOwogICAgICB9CiAgICAgIGNvbnN0IGFmdGVyUHJlZml4ID0gbm9ybWFsaXplZFNwZWNpZmllci5zbGljZShzcGVjaWZpZXJLZXkubGVuZ3RoKTsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gbmV3IFVSTChhZnRlclByZWZpeCwgcmVzb2x1dGlvblJlc3VsdCkuaHJlZjsKICAgICAgfSBjYXRjaCB7CiAgICAgICAgdGhyb3cgVHlwZUVycm9yKAogICAgICAgICAgYFRoZSBpbXBvcnQgbWFwIHJlc29sdXRpb24gb2YgJHtzcGVjaWZpZXJLZXl9IGZhaWxlZCBkdWUgdG8gVVJMIHBhcnNlIGZhaWx1cmVgCiAgICAgICAgKTsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIG51bGw7Cn0KCi8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vaW1wb3J0LW1hcHMvI3BhcnNpbmcKZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKHBhcnNlZCkgewogIC8vIFN0ZXAgMgogIGlmICghaXNQbGFpbk9iamVjdChwYXJzZWQpKSB7CiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gdG9wIGxldmVsIG11c3QgYmUgYW4gb2JqZWN0YCk7CiAgfQoKICAvLyBTdGVwIDMKICBsZXQgc29ydGVkQW5kTm9ybWFsaXplZEltcG9ydHMgPSB7fTsKCiAgLy8gU3RlcCA0CiAgaWYgKHBhcnNlZC5oYXNPd25Qcm9wZXJ0eSgnaW1wb3J0cycpKSB7CiAgICAvLyBTdGVwIDQuMQogICAgaWYgKCFpc1BsYWluT2JqZWN0KHBhcnNlZC5pbXBvcnRzKSkgewogICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gImltcG9ydHMiIHByb3BlcnR5IG11c3QgYmUgYW4gb2JqZWN0YCk7CiAgICB9CgogICAgLy8gU3RlcCA0LjIKICAgIHNvcnRlZEFuZE5vcm1hbGl6ZWRJbXBvcnRzID0gc29ydEFuZE5vcm1hbGl6ZVNwZWNpZmllck1hcCgKICAgICAgcGFyc2VkLmltcG9ydHMsCiAgICAgIGJhc2VVUkwKICAgICk7CiAgfQoKICAvLyBTdGVwIDUKICBsZXQgc29ydGVkQW5kTm9ybWFsaXplZFNjb3BlcyA9IHt9OwoKICAvLyBTdGVwIDYKICBpZiAocGFyc2VkLmhhc093blByb3BlcnR5KCdzY29wZXMnKSkgewogICAgLy8gU3RlcCA2LjEKICAgIGlmICghaXNQbGFpbk9iamVjdChwYXJzZWQuc2NvcGVzKSkgewogICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBpbXBvcnQgbWFwIC0gInNjb3BlcyIgcHJvcGVydHkgbXVzdCBiZSBhbiBvYmplY3RgKTsKICAgIH0KCiAgICAvLyBTdGVwIDYuMgogICAgc29ydGVkQW5kTm9ybWFsaXplZFNjb3BlcyA9IHNvcnRBbmROb3JtYWxpemVTY29wZXMocGFyc2VkLnNjb3BlcywgYmFzZVVSTCk7CiAgfQoKICAvLyBTdGVwIDcKICBjb25zdCBpbnZhbGlkS2V5cyA9IE9iamVjdC5rZXlzKHBhcnNlZCkuZmlsdGVyKAogICAgKGtleSkgPT4ga2V5ICE9PSAnaW1wb3J0cycgJiYga2V5ICE9PSAnc2NvcGVzJwogICk7CiAgaWYgKGludmFsaWRLZXlzLmxlbmd0aCA+IDApIHsKICAgIGNvbnNvbGUud2FybigKICAgICAgYEludmFsaWQgdG9wLWxldmVsIGtleSR7CiAgICAgICAgaW52YWxpZEtleXMubGVuZ3RoID4gMCA/ICdzJyA6ICcnCiAgICAgIH0gaW4gaW1wb3J0IG1hcCAtICR7aW52YWxpZEtleXMuam9pbignLCAnKX1gCiAgICApOwogIH0KCiAgLy8gU3RlcCA4CiAgcmV0dXJuIHsKICAgIGltcG9ydHM6IHNvcnRlZEFuZE5vcm1hbGl6ZWRJbXBvcnRzLAogICAgc2NvcGVzOiBzb3J0ZWRBbmROb3JtYWxpemVkU2NvcGVzLAogIH07Cn0KCi8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vaW1wb3J0LW1hcHMvI3NvcnQtYW5kLW5vcm1hbGl6ZS1hLXNwZWNpZmllci1tYXAKZnVuY3Rpb24gc29ydEFuZE5vcm1hbGl6ZVNwZWNpZmllck1hcChtYXAsIGJhc2VVUkwpIHsKICBjb25zdCBub3JtYWxpemVkID0ge307CgogIGZvciAobGV0IHNwZWNpZmllcktleSBpbiBtYXApIHsKICAgIGNvbnN0IHZhbHVlID0gbWFwW3NwZWNpZmllcktleV07CgogICAgY29uc3Qgbm9ybWFsaXplZFNwZWNpZmllcktleSA9IG5vcm1hbGl6ZVNwZWNpZmllcktleShzcGVjaWZpZXJLZXksIGJhc2VVUkwpOwogICAgaWYgKG5vcm1hbGl6ZWRTcGVjaWZpZXJLZXkgPT09IG51bGwpIHsKICAgICAgY29udGludWU7CiAgICB9CgogICAgbGV0IGFkZHJlc3NVUkwgPSBwYXJzZVVSTExpa2VTcGVjaWZpZXIodmFsdWUsIGJhc2VVUkwpOwogICAgaWYgKGFkZHJlc3NVUkwgPT09IG51bGwpIHsKICAgICAgY29uc29sZS53YXJuKAogICAgICAgIGBJbnZhbGlkIFVSTCBhZGRyZXNzIGZvciBpbXBvcnQgbWFwIHNwZWNpZmllciAnJHtzcGVjaWZpZXJLZXl9J2AKICAgICAgKTsKICAgICAgbm9ybWFsaXplZFtub3JtYWxpemVkU3BlY2lmaWVyS2V5XSA9IG51bGw7CiAgICAgIGNvbnRpbnVlOwogICAgfQoKICAgIGlmIChzcGVjaWZpZXJLZXkuZW5kc1dpdGgoJy8nKSAmJiAhYWRkcmVzc1VSTC5lbmRzV2l0aCgnLycpKSB7CiAgICAgIGNvbnNvbGUud2FybigKICAgICAgICBgSW52YWxpZCBVUkwgYWRkcmVzcyBmb3IgaW1wb3J0IG1hcCBzcGVjaWZpZXIgJyR7c3BlY2lmaWVyS2V5fScgLSBzaW5jZSB0aGUgc3BlY2lmaWVyIGVuZHMgaW4gc2xhc2gsIHNvIG11c3QgdGhlIGFkZHJlc3NgCiAgICAgICk7CiAgICAgIG5vcm1hbGl6ZWRbbm9ybWFsaXplZFNwZWNpZmllcktleV0gPSBudWxsOwogICAgICBjb250aW51ZTsKICAgIH0KCiAgICBub3JtYWxpemVkW25vcm1hbGl6ZWRTcGVjaWZpZXJLZXldID0gYWRkcmVzc1VSTDsKICB9CgogIHJldHVybiBub3JtYWxpemVkOwp9CgovLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2ltcG9ydC1tYXBzLyNub3JtYWxpemUtYS1zcGVjaWZpZXIta2V5CmZ1bmN0aW9uIG5vcm1hbGl6ZVNwZWNpZmllcktleShrZXkpIHsKICBpZiAoa2V5ID09PSAnJykgewogICAgY29uc29sZS53YXJuKGBTcGVjaWZpZXIga2V5cyBpbiBpbXBvcnQgbWFwcyBtYXkgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmdgKTsKICAgIHJldHVybiBudWxsOwogIH0KCiAgcmV0dXJuIHBhcnNlVVJMTGlrZVNwZWNpZmllcihrZXksIGJhc2VVUkwpIHx8IGtleTsKfQoKLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9pbXBvcnQtbWFwcy8jcGFyc2UtYS11cmwtbGlrZS1pbXBvcnQtc3BlY2lmaWVyCmZ1bmN0aW9uIHBhcnNlVVJMTGlrZVNwZWNpZmllcihzcGVjaWZpZXIsIGJhc2VVUkwpIHsKICBjb25zdCB1c2VCYXNlVXJsQXNQYXJlbnQgPQogICAgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSB8fAogICAgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy4vJykgfHwKICAgIHNwZWNpZmllci5zdGFydHNXaXRoKCcuLi8nKTsKCiAgdHJ5IHsKICAgIHJldHVybiBuZXcgVVJMKHNwZWNpZmllciwgdXNlQmFzZVVybEFzUGFyZW50ID8gYmFzZVVSTCA6IHVuZGVmaW5lZCkuaHJlZjsKICB9IGNhdGNoIHsKICAgIHJldHVybiBudWxsOwogIH0KfQoKLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9pbXBvcnQtbWFwcy8jc29ydC1hbmQtbm9ybWFsaXplLXNjb3BlcwpmdW5jdGlvbiBzb3J0QW5kTm9ybWFsaXplU2NvcGVzKG1hcCwgYmFzZVVSTCkgewogIGxldCBub3JtYWxpemVkID0ge307CgogIGZvciAobGV0IHNjb3BlUHJlZml4IGluIG1hcCkgewogICAgY29uc3QgcG90ZW50aWFsU3BlY2lmaWVyTWFwID0gbWFwW3Njb3BlUHJlZml4XTsKICAgIGlmICghaXNQbGFpbk9iamVjdChwb3RlbnRpYWxTcGVjaWZpZXJNYXApKSB7CiAgICAgIHRocm93IFR5cGVFcnJvcigKICAgICAgICBgVGhlIHZhbHVlIG9mIHNjb3BlICR7c2NvcGVQcmVmaXh9IG11c3QgYmUgYSBKU09OIG9iamVjdGAKICAgICAgKTsKICAgIH0KCiAgICBsZXQgc2NvcGVQcmVmaXhVUkw7CiAgICB0cnkgewogICAgICBzY29wZVByZWZpeFVSTCA9IG5ldyBVUkwoc2NvcGVQcmVmaXgsIGJhc2VVUkwpLmhyZWY7CiAgICB9IGNhdGNoIHsKICAgICAgY29uc29sZS53YXJuKAogICAgICAgIGBTY29wZSBwcmVmaXggVVJMICcke3Njb3BlUHJlZml4fScgd2FzIG5vdCBwYXJzZWFibGUgaW4gaW1wb3J0IG1hcGAKICAgICAgKTsKICAgICAgY29udGludWU7CiAgICB9CgogICAgbm9ybWFsaXplZFtzY29wZVByZWZpeFVSTF0gPSBzb3J0QW5kTm9ybWFsaXplU3BlY2lmaWVyTWFwKAogICAgICBwb3RlbnRpYWxTcGVjaWZpZXJNYXAsCiAgICAgIGJhc2VVUkwKICAgICk7CiAgfQoKICByZXR1cm4gbm9ybWFsaXplZDsKfQoKZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHsKICByZXR1cm4gb2JqID09PSBPYmplY3Qob2JqKSAmJiAhQXJyYXkuaXNBcnJheShvYmopOwp9CgovLyAtLS0KCmxldCBpbXBvcnRNYXBQcm9taXNlID0gZ2V0SW1wb3J0TWFwUHJvbWlzZSgpOwoKZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmUoc3BlY2lmaWVyLCBjb250ZXh0LCBkZWZhdWx0UmVzb2x2ZSkgewogIGNvbnN0IHsgcGFyZW50VVJMID0gbnVsbCB9ID0gY29udGV4dDsKICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCBpbXBvcnRNYXBQcm9taXNlOwogIGNvbnN0IGltcG9ydE1hcFVybCA9IHJlc29sdmVTcGVjaWZpZXIoaW1wb3J0TWFwLCBzcGVjaWZpZXIsIHBhcmVudFVSTCk7CgogIHJldHVybiBkZWZhdWx0UmVzb2x2ZShpbXBvcnRNYXBVcmwgPz8gc3BlY2lmaWVyLCBjb250ZXh0LCBkZWZhdWx0UmVzb2x2ZSk7Cn0KCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkKHVybCwgY29udGV4dCwgZGVmYXVsdExvYWQpIHsKICAvLyBGYWxscyBkYXMgVVJMLVNjaGVtYSBodHRwIG9kZXIgaHR0cHMgaXN0LCBob2xlbiB3aXIgZGVuIEluaGFsdCDDvGJlciBGZXRjaAogIGlmICh1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IHVybC5zdGFydHNXaXRoKCdodHRwczovLycpKSB7CiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwpOwogICAgaWYgKCFyZXMub2spIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggbW9kdWxlIGZyb20gJHt1cmx9YCk7CiAgICB9CiAgICBjb25zdCBzb3VyY2UgPSBhd2FpdCByZXMudGV4dCgpOwogICAgcmV0dXJuIHsKICAgICAgc2hvcnRDaXJjdWl0OiB0cnVlLAogICAgICBmb3JtYXQ6ICdtb2R1bGUnLCAvLyBXaXIgbmVobWVuIGFuLCBlcyBoYW5kZWx0IHNpY2ggdW0gZWluIEVTTS1Nb2R1bAogICAgICBzb3VyY2UsCiAgICB9OwogIH0KCiAgLy8gRGVmYXVsdCBsb2FkZXIgZsO8ciBhbGxlIGFuZGVyZW4gTW9kdWxlCiAgY29udGV4dC5mb3JtYXQgPSAnbW9kdWxlJzsKCiAgcmV0dXJuIGRlZmF1bHRMb2FkKHVybCwgY29udGV4dCwgZGVmYXVsdExvYWQpOwp9Cgphc3luYyBmdW5jdGlvbiBnZXRJbXBvcnRNYXBQcm9taXNlKCkgewogIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHByb2Nlc3MuZW52LklNUE9SVF9NQVBfUEFUSCB8fCBJTVBPUlRfTUFQX0ZJTEVfTkFNRTsKICBjb25zdCBpbXBvcnRNYXBQYXRoID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIHJlbGF0aXZlUGF0aCk7CgogIGxldCBzdHI7CiAgdHJ5IHsKICAgIHN0ciA9IGF3YWl0IGZzLnJlYWRGaWxlKGltcG9ydE1hcFBhdGgpOwogIH0gY2F0Y2ggKGVycikgewogICAgcmV0dXJuIGVtcHR5TWFwKCk7CiAgfQoKICBsZXQganNvbjsKICB0cnkgewogICAganNvbiA9IGF3YWl0IEpTT04ucGFyc2Uoc3RyKTsKICB9IGNhdGNoIChlcnIpIHsKICAgIHRocm93IEVycm9yKAogICAgICBgSW1wb3J0IG1hcCBhdCAke2ltcG9ydE1hcFBhdGh9IGNvbnRhaW5zIGludmFsaWQganNvbjogJHtlcnIubWVzc2FnZX1gCiAgICApOwogIH0KCiAgcmV0dXJuIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKGpzb24pOwp9CgpnbG9iYWwubm9kZUxvYWRlciA9IGdsb2JhbC5ub2RlTG9hZGVyIHx8IHt9OwoKZ2xvYmFsLm5vZGVMb2FkZXIuc2V0SW1wb3J0TWFwUHJvbWlzZSA9IGZ1bmN0aW9uIHNldEltcG9ydE1hcFByb21pc2UocHJvbWlzZSkgewogIGltcG9ydE1hcFByb21pc2UgPSBwcm9taXNlLnRoZW4oKG1hcCkgPT4gewogICAgcmV0dXJuIHJlc29sdmVBbmRDb21wb3NlSW1wb3J0TWFwKG1hcCk7CiAgfSk7Cn07CgpmdW5jdGlvbiBlbXB0eU1hcCgpIHsKICByZXR1cm4geyBpbXBvcnRzOiB7fSwgc2NvcGVzOiB7fSB9Owp9Cg==";
|
|
2
|
+
//# sourceMappingURL=loader-as-data-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-as-data-url.js","sourceRoot":"","sources":["../../../../../../libs/native-federation-node/src/lib/utils/loader-as-data-url.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,0/UAA0/U,CAAC"}
|