@dcl/sdk 7.0.6-4086929545.commit-0292186 → 7.0.6-4087883663.commit-054d424
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/cli/commands/build/helpers.d.ts +1 -5
- package/cli/commands/build/helpers.js +10 -10
- package/cli/commands/build/helpers.ts +9 -15
- package/cli/commands/build/index.d.ts +1 -1
- package/cli/commands/build/index.js +22 -17
- package/cli/commands/build/index.ts +19 -19
- package/cli/commands/init/index.d.ts +1 -1
- package/cli/commands/init/index.js +4 -4
- package/cli/commands/init/index.ts +2 -3
- package/cli/commands/preview/index.d.ts +3 -1
- package/cli/commands/preview/index.js +18 -18
- package/cli/commands/preview/index.ts +21 -19
- package/cli/commands/preview/types.d.ts +4 -0
- package/cli/commands/preview/types.js +1 -1
- package/cli/commands/preview/types.ts +6 -0
- package/cli/commands/preview/wire.d.ts +2 -14
- package/cli/commands/preview/wire.js +2 -4
- package/cli/commands/preview/wire.ts +2 -24
- package/cli/commands/start/index.d.ts +1 -1
- package/cli/commands/start/index.js +14 -9
- package/cli/commands/start/index.ts +21 -8
- package/cli/index.js +38 -13
- package/cli/index.ts +20 -10
- package/cli/utils/exec.d.ts +1 -1
- package/cli/utils/exec.js +5 -6
- package/cli/utils/exec.ts +9 -5
- package/cli/utils/log.d.ts +1 -9
- package/cli/utils/log.js +14 -16
- package/cli/utils/log.ts +26 -14
- package/package.json +9 -7
- package/cli/utils/handler.d.ts +0 -6
- package/cli/utils/handler.js +0 -19
- package/cli/utils/handler.ts +0 -23
@@ -16,4 +16,10 @@ export type PreviewComponents = {
|
|
16
16
|
ethereumProvider: HTTPProvider
|
17
17
|
rooms: RoomComponent
|
18
18
|
ws: WebSocketComponent
|
19
|
+
signaler: ISignalerComponent
|
20
|
+
}
|
21
|
+
|
22
|
+
export type ISignalerComponent = {
|
23
|
+
// programClosed resolves when the component is stopped
|
24
|
+
programClosed: Promise<void>
|
19
25
|
}
|
@@ -1,14 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
import { RoomComponent } from '@dcl/mini-comms/dist/adapters/rooms';
|
4
|
-
import { WebSocketComponent } from './ws';
|
5
|
-
export type PreviewComponents = {
|
6
|
-
logs: ILoggerComponent;
|
7
|
-
server: IHttpServerComponent<PreviewComponents>;
|
8
|
-
config: IConfigComponent;
|
9
|
-
metrics: IMetricsComponent<any>;
|
10
|
-
ethereumProvider: HTTPProvider;
|
11
|
-
rooms: RoomComponent;
|
12
|
-
ws: WebSocketComponent;
|
13
|
-
};
|
14
|
-
export declare function wire(dir: string, components: PreviewComponents, watch?: boolean): Promise<void>;
|
1
|
+
import { PreviewComponents } from './types';
|
2
|
+
export declare function wire(dir: string, components: PreviewComponents): Promise<void>;
|
@@ -10,7 +10,7 @@ const bff_1 = require("./bff");
|
|
10
10
|
const http_server_1 = require("@well-known-components/http-server");
|
11
11
|
const endpoints_1 = require("./endpoints");
|
12
12
|
const error_1 = require("../../utils/error");
|
13
|
-
async function wire(dir, components
|
13
|
+
async function wire(dir, components) {
|
14
14
|
const npmModulesPath = path_1.default.resolve(dir, 'node_modules');
|
15
15
|
if (!fs_extra_1.default.pathExistsSync(npmModulesPath)) {
|
16
16
|
throw new error_1.CliError(`Couldn\'t find ${npmModulesPath}, please run: npm install`);
|
@@ -18,11 +18,9 @@ async function wire(dir, components, watch = false) {
|
|
18
18
|
const router = new http_server_1.Router();
|
19
19
|
await (0, bff_1.setupBffAndComms)(components, router);
|
20
20
|
(0, endpoints_1.setupEcs6Endpoints)(dir, router);
|
21
|
-
if (watch) {
|
22
|
-
}
|
23
21
|
components.server.setContext(components);
|
24
22
|
components.server.use(router.allowedMethods());
|
25
23
|
components.server.use(router.middleware());
|
26
24
|
}
|
27
25
|
exports.wire = wire;
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndpcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXVCO0FBQ3ZCLHdEQUF5QjtBQUV6QiwrQkFBd0M7QUFDeEMsb0VBQTJEO0FBQzNELDJDQUFnRDtBQUNoRCw2Q0FBNEM7QUFHckMsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFXLEVBQUUsVUFBNkI7SUFDbkUsTUFBTSxjQUFjLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFHeEQsSUFBSSxDQUFDLGtCQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1FBQ3RDLE1BQU0sSUFBSSxnQkFBUSxDQUFDLGtCQUFrQixjQUFjLDJCQUEyQixDQUFDLENBQUE7S0FDaEY7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFNLEVBQXFCLENBQUE7SUFFOUMsTUFBTSxJQUFBLHNCQUFnQixFQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUMxQyxJQUFBLDhCQUFrQixFQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUUvQixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN4QyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUM5QyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtBQUM1QyxDQUFDO0FBaEJELG9CQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgZnMgZnJvbSAnZnMtZXh0cmEnXG5cbmltcG9ydCB7IHNldHVwQmZmQW5kQ29tbXMgfSBmcm9tICcuL2JmZidcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0B3ZWxsLWtub3duLWNvbXBvbmVudHMvaHR0cC1zZXJ2ZXInXG5pbXBvcnQgeyBzZXR1cEVjczZFbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cydcbmltcG9ydCB7IENsaUVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvZXJyb3InXG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50cyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXJlKGRpcjogc3RyaW5nLCBjb21wb25lbnRzOiBQcmV2aWV3Q29tcG9uZW50cykge1xuICBjb25zdCBucG1Nb2R1bGVzUGF0aCA9IHBhdGgucmVzb2x2ZShkaXIsICdub2RlX21vZHVsZXMnKVxuXG4gIC8vIFRPRE86IGRjbC5wcm9qZWN0Lm5lZWRzRGVwZW5kZW5jaWVzKCkgc2hvdWxkIGRvIHRoaXNcbiAgaWYgKCFmcy5wYXRoRXhpc3RzU3luYyhucG1Nb2R1bGVzUGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoYENvdWxkblxcJ3QgZmluZCAke25wbU1vZHVsZXNQYXRofSwgcGxlYXNlIHJ1bjogbnBtIGluc3RhbGxgKVxuICB9XG5cbiAgY29uc3Qgcm91dGVyID0gbmV3IFJvdXRlcjxQcmV2aWV3Q29tcG9uZW50cz4oKVxuXG4gIGF3YWl0IHNldHVwQmZmQW5kQ29tbXMoY29tcG9uZW50cywgcm91dGVyKVxuICBzZXR1cEVjczZFbmRwb2ludHMoZGlyLCByb3V0ZXIpXG5cbiAgY29tcG9uZW50cy5zZXJ2ZXIuc2V0Q29udGV4dChjb21wb25lbnRzKVxuICBjb21wb25lbnRzLnNlcnZlci51c2Uocm91dGVyLmFsbG93ZWRNZXRob2RzKCkpXG4gIGNvbXBvbmVudHMuc2VydmVyLnVzZShyb3V0ZXIubWlkZGxld2FyZSgpKVxufVxuIl19
|
@@ -2,30 +2,12 @@ import path from 'path'
|
|
2
2
|
import fs from 'fs-extra'
|
3
3
|
|
4
4
|
import { setupBffAndComms } from './bff'
|
5
|
-
import {
|
6
|
-
ILoggerComponent,
|
7
|
-
IMetricsComponent,
|
8
|
-
IHttpServerComponent,
|
9
|
-
IConfigComponent
|
10
|
-
} from '@well-known-components/interfaces'
|
11
|
-
import { HTTPProvider } from 'eth-connect'
|
12
|
-
import { RoomComponent } from '@dcl/mini-comms/dist/adapters/rooms'
|
13
5
|
import { Router } from '@well-known-components/http-server'
|
14
|
-
import { WebSocketComponent } from './ws'
|
15
6
|
import { setupEcs6Endpoints } from './endpoints'
|
16
7
|
import { CliError } from '../../utils/error'
|
8
|
+
import { PreviewComponents } from './types'
|
17
9
|
|
18
|
-
export
|
19
|
-
logs: ILoggerComponent
|
20
|
-
server: IHttpServerComponent<PreviewComponents>
|
21
|
-
config: IConfigComponent
|
22
|
-
metrics: IMetricsComponent<any>
|
23
|
-
ethereumProvider: HTTPProvider
|
24
|
-
rooms: RoomComponent
|
25
|
-
ws: WebSocketComponent
|
26
|
-
}
|
27
|
-
|
28
|
-
export async function wire(dir: string, components: PreviewComponents, watch: boolean = false) {
|
10
|
+
export async function wire(dir: string, components: PreviewComponents) {
|
29
11
|
const npmModulesPath = path.resolve(dir, 'node_modules')
|
30
12
|
|
31
13
|
// TODO: dcl.project.needsDependencies() should do this
|
@@ -37,10 +19,6 @@ export async function wire(dir: string, components: PreviewComponents, watch: bo
|
|
37
19
|
|
38
20
|
await setupBffAndComms(components, router)
|
39
21
|
setupEcs6Endpoints(dir, router)
|
40
|
-
if (watch) {
|
41
|
-
// add "watch"
|
42
|
-
// awai2t bindWatch(components, sceneUpdateClients)
|
43
|
-
}
|
44
22
|
|
45
23
|
components.server.setContext(components)
|
46
24
|
components.server.use(router.allowedMethods())
|
@@ -25,5 +25,5 @@ export declare const args: import("arg").Result<{
|
|
25
25
|
'--desktop-client': BooleanConstructor;
|
26
26
|
}>;
|
27
27
|
export declare function help(): string;
|
28
|
-
export declare
|
28
|
+
export declare function main(options: Options): Promise<void>;
|
29
29
|
export {};
|
@@ -11,7 +11,7 @@ const build_1 = require("../build");
|
|
11
11
|
const preview_1 = require("../preview");
|
12
12
|
const port_1 = require("../preview/port");
|
13
13
|
const args_1 = require("../../utils/args");
|
14
|
-
const
|
14
|
+
const helpers_1 = require("../build/helpers");
|
15
15
|
exports.args = (0, args_1.getArgs)({
|
16
16
|
'--dir': String,
|
17
17
|
'--help': Boolean,
|
@@ -58,29 +58,32 @@ function help() {
|
|
58
58
|
`;
|
59
59
|
}
|
60
60
|
exports.help = help;
|
61
|
-
|
61
|
+
async function main(options) {
|
62
62
|
const dir = (0, path_1.resolve)(process.cwd(), options.args['--dir'] || '.');
|
63
63
|
const isCi = exports.args['--ci'] || process.env.CI || false;
|
64
64
|
const debug = !exports.args['--no-debug'] && !isCi;
|
65
65
|
const openBrowser = !exports.args['--no-browser'] && !isCi;
|
66
66
|
const skipBuild = exports.args['--skip-build'];
|
67
|
-
const watch = !exports.args['--no-watch']
|
67
|
+
const watch = !exports.args['--no-watch'];
|
68
68
|
const enableWeb3 = exports.args['--web3'];
|
69
69
|
const port = parseInt(exports.args['--port'], 10) || (await (0, port_1.previewPort)());
|
70
70
|
const baseCoords = { x: 0, y: 0 };
|
71
71
|
const hasPortableExperience = false;
|
72
72
|
const comps = { components: options.components };
|
73
73
|
if (!skipBuild) {
|
74
|
+
await (0, helpers_1.npmRun)(dir, 'build');
|
75
|
+
}
|
76
|
+
if (watch) {
|
74
77
|
await (0, build_1.main)(Object.assign({ args: { '--dir': dir, '--watch': watch } }, comps));
|
75
78
|
}
|
76
|
-
await (0, preview_1.main)(Object.assign({ args: { '--dir': dir, '--port': port } }, comps));
|
77
|
-
const
|
79
|
+
const server = await (0, preview_1.main)(Object.assign({ args: { '--dir': dir, '--port': port } }, comps));
|
80
|
+
const networkInterfaces = os_1.default.networkInterfaces();
|
78
81
|
const availableURLs = [];
|
79
82
|
console.log(`\nPreview server is now running!`);
|
80
83
|
console.log('Available on:\n');
|
81
|
-
Object.keys(
|
84
|
+
Object.keys(networkInterfaces).forEach((dev) => {
|
82
85
|
;
|
83
|
-
(
|
86
|
+
(networkInterfaces[dev] || []).forEach((details) => {
|
84
87
|
if (details.family === 'IPv4') {
|
85
88
|
let addr = `http://${details.address}:${port}?position=${baseCoords.x}%2C${baseCoords.y}&ENABLE_ECS7`;
|
86
89
|
if (debug) {
|
@@ -117,5 +120,7 @@ exports.main = (0, handler_1.main)(async function main(options) {
|
|
117
120
|
console.log('Unable to open browser automatically.');
|
118
121
|
}
|
119
122
|
}
|
120
|
-
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBbUI7QUFDbkIsK0JBQThCO0FBQzlCLGdEQUF1QjtBQUd2QixvQ0FBd0M7QUFDeEMsd0NBQTRDO0FBQzVDLDBDQUE2QztBQUM3QywyQ0FBMEM7QUFDMUMsaURBQXFEO0FBTXhDLFFBQUEsSUFBSSxHQUFHLElBQUEsY0FBTyxFQUFDO0lBQzFCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsUUFBUSxFQUFFLE9BQU87SUFDakIsUUFBUSxFQUFFLE1BQU07SUFDaEIsWUFBWSxFQUFFLE9BQU87SUFDckIsY0FBYyxFQUFFLE9BQU87SUFDdkIsWUFBWSxFQUFFLE9BQU87SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsY0FBYztJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUNsQixjQUFjLEVBQUUsT0FBTztJQUN2QixrQkFBa0IsRUFBRSxPQUFPO0NBQzVCLENBQUMsQ0FBQTtBQUVGLFNBQWdCLElBQUk7SUFDbEIsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JSLENBQUE7QUFDRCxDQUFDO0FBMUJELG9CQTBCQztBQUVZLFFBQUEsSUFBSSxHQUFHLElBQUEsY0FBTyxFQUFDLEtBQUssVUFBVSxJQUFJLENBQUMsT0FBZ0I7SUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBQSxjQUFPLEVBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUE7SUFDaEUsTUFBTSxJQUFJLEdBQUcsWUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FB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LENBQUMsQ0FBQTtJQUVGLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0tBQzNCO0lBRUQsSUFBSSxZQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLEVBQUU7WUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQTtZQUMxQyxZQUFZLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQTtTQUNyRDtLQUNGO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUd2QyxJQUFJLFdBQVcsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDakUsSUFBSTtZQUNGLE1BQU0sSUFBQSxjQUFJLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDMUI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtTQUNyRDtLQUNGO0FBQ0gsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb3MgZnJvbSAnb3MnXG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSAncGF0aCdcbmltcG9ydCBvcGVuIGZyb20gJ29wZW4nXG5cbmltcG9ydCB7IENsaUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJ1xuaW1wb3J0IHsgbWFpbiBhcyBidWlsZCB9IGZyb20gJy4uL2J1aWxkJ1xuaW1wb3J0IHsgbWFpbiBhcyBwcmV2aWV3IH0gZnJvbSAnLi4vcHJldmlldydcbmltcG9ydCB7IHByZXZpZXdQb3J0IH0gZnJvbSAnLi4vcHJldmlldy9wb3J0J1xuaW1wb3J0IHsgZ2V0QXJncyB9IGZyb20gJy4uLy4uL3V0aWxzL2FyZ3MnXG5pbXBvcnQgeyBtYWluIGFzIGhhbmRsZXIgfSBmcm9tICcuLi8uLi91dGlscy9oYW5kbGVyJ1xuaW50ZXJmYWNlIE9wdGlvbnMge1xuICBhcmdzOiB0eXBlb2YgYXJnc1xuICBjb21wb25lbnRzOiBQaWNrPENsaUNvbXBvbmVudHMsICdmZXRjaCcgfCAnZnMnPlxufVxuXG5leHBvcnQgY29uc3QgYXJncyA9IGdldEFyZ3Moe1xuICAnLS1kaXInOiBTdHJpbmcsXG4gICctLWhlbHAnOiBCb29sZWFuLFxuICAnLS1wb3J0JzogU3RyaW5nLFxuICAnLS1uby1kZWJ1Zyc6IEJvb2xlYW4sXG4gICctLW5vLWJyb3dzZXInOiBCb29sZWFuLFxuICAnLS1uby13YXRjaCc6IEJvb2xlYW4sXG4gICctLWNpJzogQm9vbGVhbixcbiAgJy0tc2tpcC1pbnN0YWxsJzogQm9vbGVhbixcbiAgJy0td2ViMyc6IEJvb2xlYW4sXG4gICctaCc6ICctLWhlbHAnLFxuICAnLXAnOiAnLS1wb3J0JyxcbiAgJy1kJzogJy0tbm8tZGVidWcnLFxuICAnLWInOiAnLS1uby1icm93c2VyJyxcbiAgJy13JzogJy0tbm8td2F0Y2gnLFxuICAnLS1za2lwLWJ1aWxkJzogQm9vbGVhbixcbiAgJy0tZGVza3RvcC1jbGllbnQnOiBCb29sZWFuXG59KVxuXG5leHBvcnQgZnVuY3Rpb24gaGVscCgpIHtcbiAgcmV0dXJuIGBcbiAgVXNhZ2U6IGRjbCBzdGFydCBbb3B0aW9uc11cblxuICAgIE9wdGlvbnM6XG5cbiAgICAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgRGlzcGxheXMgY29tcGxldGUgaGVscFxuICAgICAgLXAsIC0tcG9ydCAgICAgICAgW3BvcnRdICBTZWxlY3QgYSBjdXN0b20gcG9ydCBmb3IgdGhlIGRldmVsb3BtZW50IHNlcnZlclxuICAgICAgLWQsIC0tbm8tZGVidWcgICAgICAgICAgICBEaXNhYmxlIGRlYnVnZ2luZyBwYW5lbFxuICAgICAgLWIsIC0tbm8tYnJvd3NlciAgICAgICAgICBEbyBub3Qgb3BlbiBhIG5ldyBicm93c2VyIHdpbmRvd1xuICAgICAgLXcsIC0tbm8td2F0Y2ggICAgICAgICAgICBEbyBub3Qgb3BlbiB3YXRjaCBmb3IgZmlsZXN5c3RlbSBjaGFuZ2VzXG4gICAgICAtYywgLS1jaSAgICAgICAgICAgICAgICAgIFJ1biB0aGUgcGFyY2VsIHByZXZpZXdlciBvbiBhIHJlbW90ZSB1bml4IHNlcnZlclxuICAgICAgLS13ZWIzICAgICAgICAgICAgICAgICAgICBDb25uZWN0cyBwcmV2aWV3IHRvIGJyb3dzZXIgd2FsbGV0IHRvIHVzZSB0aGUgYXNzb2NpYXRlZCBhdmF0YXIgYW5kIGFjY291bnRcbiAgICAgIC0tc2tpcC1idWlsZCAgICAgICAgICAgICAgU2tpcCBidWlsZCBhbmQgb25seSBzZXJ2ZSB0aGUgZmlsZXMgaW4gcHJldmlldyBtb2RlXG4gICAgICAtLWRlc2t0b3AtY2xpZW50ICAgICAgICAgIFNob3cgVVJMIHRvIGxhdW5jaCBwcmV2aWV3IGluIHRoZSBkZXNrdG9wIGNsaWVudCAoQkVUQSlcblxuICAgIEV4YW1wbGVzOlxuXG4gICAgLSBTdGFydCBhIGxvY2FsIGRldmVsb3BtZW50IHNlcnZlciBmb3IgYSBEZWNlbnRyYWxhbmQgU2NlbmUgYXQgcG9ydCAzNTAwXG5cbiAgICAgICQgZGNsIHN0YXJ0IC1wIDM1MDBcblxuICAgIC0gU3RhcnQgYSBsb2NhbCBkZXZlbG9wbWVudCBzZXJ2ZXIgZm9yIGEgRGVjZW50cmFsYW5kIFNjZW5lIGF0IGEgZG9ja2VyIGNvbnRhaW5lclxuXG4gICAgICAkIGRjbCBzdGFydCAtLWNpXG5gXG59XG5cbmV4cG9ydCBjb25zdCBtYWluID0gaGFuZGxlcihhc3luYyBmdW5jdGlvbiBtYWluKG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgY29uc3QgZGlyID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBvcHRpb25zLmFyZ3NbJy0tZGlyJ10gfHwgJy4nKVxuICBjb25zdCBpc0NpID0gYXJnc1snLS1jaSddIHx8IHByb2Nlc3MuZW52LkNJIHx8IGZhbHNlXG4gIGNvbnN0IGRlYnVnID0gIWFyZ3NbJy0tbm8tZGVidWcnXSAmJiAhaXNDaVxuICBjb25zdCBvcGVuQnJvd3NlciA9ICFhcmdzWyctLW5vLWJyb3dzZXInXSAmJiAhaXNDaVxuICBjb25zdCBza2lwQnVpbGQgPSBhcmdzWyctLXNraXAtYnVpbGQnXVxuICBjb25zdCB3YXRjaCA9ICFhcmdzWyctLW5vLXdhdGNoJ10gJiYgIWlzQ2kgJiYgIXNraXBCdWlsZFxuICBjb25zdCBlbmFibGVXZWIzID0gYXJnc1snLS13ZWIzJ11cbiAgY29uc3QgcG9ydCA9IHBhcnNlSW50KGFyZ3NbJy0tcG9ydCddISwgMTApIHx8IChhd2FpdCBwcmV2aWV3UG9ydCgpKVxuICBjb25zdCBiYXNlQ29vcmRzID0geyB4OiAwLCB5OiAwIH1cbiAgY29uc3QgaGFzUG9ydGFibGVFeHBlcmllbmNlID0gZmFsc2VcblxuICBjb25zdCBjb21wcyA9IHsgY29tcG9uZW50czogb3B0aW9ucy5jb21wb25lbnRzIH1cbiAgaWYgKCFza2lwQnVpbGQpIHtcbiAgICBhd2FpdCBidWlsZCh7IGFyZ3M6IHsgJy0tZGlyJzogZGlyLCAnLS13YXRjaCc6IHdhdGNoIH0sIC4uLmNvbXBzIH0pXG4gIH1cbiAgYXdhaXQgcHJldmlldyh7IGFyZ3M6IHsgJy0tZGlyJzogZGlyLCAnLS1wb3J0JzogcG9ydCB9LCAuLi5jb21wcyB9KVxuXG4gIGNvbnN0IGlmYWNlcyA9IG9zLm5ldHdvcmtJbnRlcmZhY2VzKClcbiAgY29uc3QgYXZhaWxhYmxlVVJMczogc3RyaW5nW10gPSBbXVxuXG4gIGNvbnNvbGUubG9nKGBcXG5QcmV2aWV3IHNlcnZlciBpcyBub3cgcnVubmluZyFgKVxuICBjb25zb2xlLmxvZygnQXZhaWxhYmxlIG9uOlxcbicpXG5cbiAgT2JqZWN0LmtleXMoaWZhY2VzKS5mb3JFYWNoKChkZXYpID0+IHtcbiAgICA7KGlmYWNlc1tkZXZdIHx8IFtdKS5mb3JFYWNoKChkZXRhaWxzKSA9PiB7XG4gICAgICBpZiAoZGV0YWlscy5mYW1pbHkgPT09ICdJUHY0Jykge1xuICAgICAgICBsZXQgYWRkciA9IGBodHRwOi8vJHtkZXRhaWxzLmFkZHJlc3N9OiR7cG9ydH0/cG9zaXRpb249JHtiYXNlQ29vcmRzLnh9JTJDJHtiYXNlQ29vcmRzLnl9JkVOQUJMRV9FQ1M3YFxuICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICBhZGRyID0gYCR7YWRkcn0mU0NFTkVfREVCVUdfUEFORUxgXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuYWJsZVdlYjMgfHwgaGFzUG9ydGFibGVFeHBlcmllbmNlKSB7XG4gICAgICAgICAgYWRkciA9IGAke2FkZHJ9JkVOQUJMRV9XRUIzYFxuICAgICAgICB9XG5cbiAgICAgICAgYXZhaWxhYmxlVVJMcy5wdXNoKGFkZHIpXG4gICAgICB9XG4gICAgfSlcbiAgfSlcblxuICAvLyBQdXNoIGxvY2FsaG9zdCBhbmQgMTI3LjAuMC4xIGF0IHRvcFxuICBjb25zdCBzb3J0ZWRVUkxzID0gYXZhaWxhYmxlVVJMcy5zb3J0KChhLCBfYikgPT4ge1xuICAgIHJldHVybiBhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2xvY2FsaG9zdCcpIHx8IGEuaW5jbHVkZXMoJzEyNy4wLjAuMScpIHx8IGEuaW5jbHVkZXMoJzAuMC4wLjAnKSA/IC0xIDogMVxuICB9KVxuXG4gIGZvciAoY29uc3QgYWRkciBvZiBzb3J0ZWRVUkxzKSB7XG4gICAgY29uc29sZS5sb2coYCAgICAke2FkZHJ9YClcbiAgfVxuXG4gIGlmIChhcmdzWyctLWRlc2t0b3AtY2xpZW50J10pIHtcbiAgICBjb25zb2xlLmxvZygnXFxuICBEZXNrdG9wIGNsaWVudDpcXG4nKVxuICAgIGZvciAoY29uc3QgYWRkciBvZiBzb3J0ZWRVUkxzKSB7XG4gICAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICAgIHNlYXJjaFBhcmFtcy5hcHBlbmQoJ1BSRVZJRVctTU9ERScsIGFkZHIpXG4gICAgICBjb25zb2xlLmxvZyhgICAgIGRjbDovLyR7c2VhcmNoUGFyYW1zLnRvU3RyaW5nKCl9JmApXG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5sb2coJ1xcbiAgRGV0YWlsczpcXG4nKVxuICBjb25zb2xlLmxvZygnXFxuUHJlc3MgQ1RSTCtDIHRvIGV4aXRcXG4nKVxuXG4gIC8vIE9wZW4gcHJlZmVyYWJseSBsb2NhbGhvc3QvMTI3LjAuMC4xXG4gIGlmIChvcGVuQnJvd3NlciAmJiBzb3J0ZWRVUkxzLmxlbmd0aCAmJiAhYXJnc1snLS1kZXNrdG9wLWNsaWVudCddKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wZW4oc29ydGVkVVJMc1swXSlcbiAgICB9IGNhdGNoIChfKSB7XG4gICAgICBjb25zb2xlLmxvZygnVW5hYmxlIHRvIG9wZW4gYnJvd3NlciBhdXRvbWF0aWNhbGx5LicpXG4gICAgfVxuICB9XG59KVxuIl19
|
123
|
+
await server.components.signaler.programClosed;
|
124
|
+
}
|
125
|
+
exports.main = main;
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBbUI7QUFDbkIsK0JBQThCO0FBQzlCLGdEQUF1QjtBQUd2QixvQ0FBd0M7QUFDeEMsd0NBQTRDO0FBQzVDLDBDQUE2QztBQUM3QywyQ0FBMEM7QUFDMUMsOENBQXlDO0FBTzVCLFFBQUEsSUFBSSxHQUFHLElBQUEsY0FBTyxFQUFDO0lBQzFCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsUUFBUSxFQUFFLE9BQU87SUFDakIsUUFBUSxFQUFFLE1BQU07SUFDaEIsWUFBWSxFQUFFLE9BQU87SUFDckIsY0FBYyxFQUFFLE9BQU87SUFDdkIsWUFBWSxFQUFFLE9BQU87SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsY0FBYztJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUNsQixjQUFjLEVBQUUsT0FBTztJQUN2QixrQkFBa0IsRUFBRSxPQUFPO0NBQzVCLENBQUMsQ0FBQTtBQUVGLFNBQWdCLElBQUk7SUFDbEIsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JSLENBQUE7QUFDRCxDQUFDO0FBMUJELG9CQTBCQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQUMsT0FBZ0I7SUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBQSxjQUFPLEVBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUE7SUFDaEUsTUFBTSxJQUFJLEdBQUcsWUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNHLENBQUMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLEVBQUU7UUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUE7S0FDM0I7SUFFRCxJQUFJLFlBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNwQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtZQUM3QixNQUFNLFlBQVksR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO1lBQzFDLFlBQVksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1NBQ3JEO0tBQ0Y7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBR3ZDLElBQUksV0FBVyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUNqRSxJQUFJO1lBQ0YsTUFBTSxJQUFBLGNBQUksRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUMxQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFBO1NBQ3JEO0tBQ0Y7SUFHRCxNQUFNLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQTtBQUNoRCxDQUFDO0FBakZELG9CQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvcyBmcm9tICdvcydcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJ1xuaW1wb3J0IG9wZW4gZnJvbSAnb3BlbidcblxuaW1wb3J0IHsgQ2xpQ29tcG9uZW50cyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnXG5pbXBvcnQgeyBtYWluIGFzIGJ1aWxkIH0gZnJvbSAnLi4vYnVpbGQnXG5pbXBvcnQgeyBtYWluIGFzIHByZXZpZXcgfSBmcm9tICcuLi9wcmV2aWV3J1xuaW1wb3J0IHsgcHJldmlld1BvcnQgfSBmcm9tICcuLi9wcmV2aWV3L3BvcnQnXG5pbXBvcnQgeyBnZXRBcmdzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYXJncydcbmltcG9ydCB7IG5wbVJ1biB9IGZyb20gJy4uL2J1aWxkL2hlbHBlcnMnXG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgYXJnczogdHlwZW9mIGFyZ3NcbiAgY29tcG9uZW50czogUGljazxDbGlDb21wb25lbnRzLCAnZmV0Y2gnIHwgJ2ZzJz5cbn1cblxuZXhwb3J0IGNvbnN0IGFyZ3MgPSBnZXRBcmdzKHtcbiAgJy0tZGlyJzogU3RyaW5nLFxuICAnLS1oZWxwJzogQm9vbGVhbixcbiAgJy0tcG9ydCc6IFN0cmluZyxcbiAgJy0tbm8tZGVidWcnOiBCb29sZWFuLFxuICAnLS1uby1icm93c2VyJzogQm9vbGVhbixcbiAgJy0tbm8td2F0Y2gnOiBCb29sZWFuLFxuICAnLS1jaSc6IEJvb2xlYW4sXG4gICctLXNraXAtaW5zdGFsbCc6IEJvb2xlYW4sXG4gICctLXdlYjMnOiBCb29sZWFuLFxuICAnLWgnOiAnLS1oZWxwJyxcbiAgJy1wJzogJy0tcG9ydCcsXG4gICctZCc6ICctLW5vLWRlYnVnJyxcbiAgJy1iJzogJy0tbm8tYnJvd3NlcicsXG4gICctdyc6ICctLW5vLXdhdGNoJyxcbiAgJy0tc2tpcC1idWlsZCc6IEJvb2xlYW4sXG4gICctLWRlc2t0b3AtY2xpZW50JzogQm9vbGVhblxufSlcblxuZXhwb3J0IGZ1bmN0aW9uIGhlbHAoKSB7XG4gIHJldHVybiBgXG4gIFVzYWdlOiBkY2wgc3RhcnQgW29wdGlvbnNdXG5cbiAgICBPcHRpb25zOlxuXG4gICAgICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIERpc3BsYXlzIGNvbXBsZXRlIGhlbHBcbiAgICAgIC1wLCAtLXBvcnQgICAgICAgIFtwb3J0XSAgU2VsZWN0IGEgY3VzdG9tIHBvcnQgZm9yIHRoZSBkZXZlbG9wbWVudCBzZXJ2ZXJcbiAgICAgIC1kLCAtLW5vLWRlYnVnICAgICAgICAgICAgRGlzYWJsZSBkZWJ1Z2dpbmcgcGFuZWxcbiAgICAgIC1iLCAtLW5vLWJyb3dzZXIgICAgICAgICAgRG8gbm90IG9wZW4gYSBuZXcgYnJvd3NlciB3aW5kb3dcbiAgICAgIC13LCAtLW5vLXdhdGNoICAgICAgICAgICAgRG8gbm90IG9wZW4gd2F0Y2ggZm9yIGZpbGVzeXN0ZW0gY2hhbmdlc1xuICAgICAgLWMsIC0tY2kgICAgICAgICAgICAgICAgICBSdW4gdGhlIHBhcmNlbCBwcmV2aWV3ZXIgb24gYSByZW1vdGUgdW5peCBzZXJ2ZXJcbiAgICAgIC0td2ViMyAgICAgICAgICAgICAgICAgICAgQ29ubmVjdHMgcHJldmlldyB0byBicm93c2VyIHdhbGxldCB0byB1c2UgdGhlIGFzc29jaWF0ZWQgYXZhdGFyIGFuZCBhY2NvdW50XG4gICAgICAtLXNraXAtYnVpbGQgICAgICAgICAgICAgIFNraXAgYnVpbGQgYW5kIG9ubHkgc2VydmUgdGhlIGZpbGVzIGluIHByZXZpZXcgbW9kZVxuICAgICAgLS1kZXNrdG9wLWNsaWVudCAgICAgICAgICBTaG93IFVSTCB0byBsYXVuY2ggcHJldmlldyBpbiB0aGUgZGVza3RvcCBjbGllbnQgKEJFVEEpXG5cbiAgICBFeGFtcGxlczpcblxuICAgIC0gU3RhcnQgYSBsb2NhbCBkZXZlbG9wbWVudCBzZXJ2ZXIgZm9yIGEgRGVjZW50cmFsYW5kIFNjZW5lIGF0IHBvcnQgMzUwMFxuXG4gICAgICAkIGRjbCBzdGFydCAtcCAzNTAwXG5cbiAgICAtIFN0YXJ0IGEgbG9jYWwgZGV2ZWxvcG1lbnQgc2VydmVyIGZvciBhIERlY2VudHJhbGFuZCBTY2VuZSBhdCBhIGRvY2tlciBjb250YWluZXJcblxuICAgICAgJCBkY2wgc3RhcnQgLS1jaVxuYFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFpbihvcHRpb25zOiBPcHRpb25zKSB7XG4gIGNvbnN0IGRpciA9IHJlc29sdmUocHJvY2Vzcy5jd2QoKSwgb3B0aW9ucy5hcmdzWyctLWRpciddIHx8ICcuJylcbiAgY29uc3QgaXNDaSA9IGFyZ3NbJy0tY2knXSB8fCBwcm9jZXNzLmVudi5DSSB8fCBmYWxzZVxuICBjb25zdCBkZWJ1ZyA9ICFhcmdzWyctLW5vLWRlYnVnJ10gJiYgIWlzQ2lcbiAgY29uc3Qgb3BlbkJyb3dzZXIgPSAhYXJnc1snLS1uby1icm93c2VyJ10gJiYgIWlzQ2lcbiAgY29uc3Qgc2tpcEJ1aWxkID0gYXJnc1snLS1za2lwLWJ1aWxkJ11cbiAgY29uc3Qgd2F0Y2ggPSAhYXJnc1snLS1uby13YXRjaCddXG4gIGNvbnN0IGVuYWJsZVdlYjMgPSBhcmdzWyctLXdlYjMnXVxuICBjb25zdCBwb3J0ID0gcGFyc2VJbnQoYXJnc1snLS1wb3J0J10hLCAxMCkgfHwgKGF3YWl0IHByZXZpZXdQb3J0KCkpXG4gIGNvbnN0IGJhc2VDb29yZHMgPSB7IHg6IDAsIHk6IDAgfVxuICBjb25zdCBoYXNQb3J0YWJsZUV4cGVyaWVuY2UgPSBmYWxzZVxuXG4gIGNvbnN0IGNvbXBzID0geyBjb21wb25lbnRzOiBvcHRpb25zLmNvbXBvbmVudHMgfVxuXG4gIC8vIGZpcnN0IHJ1biBgbnBtIHJ1biBidWlsZGAsIHRoaXMgY2FuIGJlIGRpc2FibGVkIHdpdGggLS1za2lwLWJ1aWxkXG4gIGlmICghc2tpcEJ1aWxkKSB7XG4gICAgYXdhaXQgbnBtUnVuKGRpciwgJ2J1aWxkJylcbiAgfVxuXG4gIC8vIHRoZW4gc3RhcnQgdGhlIGVtYmVkZGVkIGNvbXBpbGVyLCB0aGlzIGNhbiBiZSBkaXNhYmxlZCB3aXRoIC0tbm8td2F0Y2hcbiAgaWYgKHdhdGNoKSB7XG4gICAgYXdhaXQgYnVpbGQoeyBhcmdzOiB7ICctLWRpcic6IGRpciwgJy0td2F0Y2gnOiB3YXRjaCB9LCAuLi5jb21wcyB9KVxuICB9XG5cbiAgLy8gYWZ0ZXIgdGhlIHdhdGNoZXIgaXMgcnVubmluZywgc3RhcnQgdGhlIHNlcnZlclxuICBjb25zdCBzZXJ2ZXIgPSBhd2FpdCBwcmV2aWV3KHsgYXJnczogeyAnLS1kaXInOiBkaXIsICctLXBvcnQnOiBwb3J0IH0sIC4uLmNvbXBzIH0pXG5cbiAgY29uc3QgbmV0d29ya0ludGVyZmFjZXMgPSBvcy5uZXR3b3JrSW50ZXJmYWNlcygpXG4gIGNvbnN0IGF2YWlsYWJsZVVSTHM6IHN0cmluZ1tdID0gW11cblxuICBjb25zb2xlLmxvZyhgXFxuUHJldmlldyBzZXJ2ZXIgaXMgbm93IHJ1bm5pbmchYClcbiAgY29uc29sZS5sb2coJ0F2YWlsYWJsZSBvbjpcXG4nKVxuXG4gIE9iamVjdC5rZXlzKG5ldHdvcmtJbnRlcmZhY2VzKS5mb3JFYWNoKChkZXYpID0+IHtcbiAgICA7KG5ldHdvcmtJbnRlcmZhY2VzW2Rldl0gfHwgW10pLmZvckVhY2goKGRldGFpbHMpID0+IHtcbiAgICAgIGlmIChkZXRhaWxzLmZhbWlseSA9PT0gJ0lQdjQnKSB7XG4gICAgICAgIGxldCBhZGRyID0gYGh0dHA6Ly8ke2RldGFpbHMuYWRkcmVzc306JHtwb3J0fT9wb3NpdGlvbj0ke2Jhc2VDb29yZHMueH0lMkMke2Jhc2VDb29yZHMueX0mRU5BQkxFX0VDUzdgXG4gICAgICAgIGlmIChkZWJ1Zykge1xuICAgICAgICAgIGFkZHIgPSBgJHthZGRyfSZTQ0VORV9ERUJVR19QQU5FTGBcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5hYmxlV2ViMyB8fCBoYXNQb3J0YWJsZUV4cGVyaWVuY2UpIHtcbiAgICAgICAgICBhZGRyID0gYCR7YWRkcn0mRU5BQkxFX1dFQjNgXG4gICAgICAgIH1cblxuICAgICAgICBhdmFpbGFibGVVUkxzLnB1c2goYWRkcilcbiAgICAgIH1cbiAgICB9KVxuICB9KVxuXG4gIC8vIFB1c2ggbG9jYWxob3N0IGFuZCAxMjcuMC4wLjEgYXQgdG9wXG4gIGNvbnN0IHNvcnRlZFVSTHMgPSBhdmFpbGFibGVVUkxzLnNvcnQoKGEsIF9iKSA9PiB7XG4gICAgcmV0dXJuIGEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnbG9jYWxob3N0JykgfHwgYS5pbmNsdWRlcygnMTI3LjAuMC4xJykgfHwgYS5pbmNsdWRlcygnMC4wLjAuMCcpID8gLTEgOiAxXG4gIH0pXG5cbiAgZm9yIChjb25zdCBhZGRyIG9mIHNvcnRlZFVSTHMpIHtcbiAgICBjb25zb2xlLmxvZyhgICAgICR7YWRkcn1gKVxuICB9XG5cbiAgaWYgKGFyZ3NbJy0tZGVza3RvcC1jbGllbnQnXSkge1xuICAgIGNvbnNvbGUubG9nKCdcXG4gIERlc2t0b3AgY2xpZW50OlxcbicpXG4gICAgZm9yIChjb25zdCBhZGRyIG9mIHNvcnRlZFVSTHMpIHtcbiAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgc2VhcmNoUGFyYW1zLmFwcGVuZCgnUFJFVklFVy1NT0RFJywgYWRkcilcbiAgICAgIGNvbnNvbGUubG9nKGAgICAgZGNsOi8vJHtzZWFyY2hQYXJhbXMudG9TdHJpbmcoKX0mYClcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmxvZygnXFxuICBEZXRhaWxzOlxcbicpXG4gIGNvbnNvbGUubG9nKCdcXG5QcmVzcyBDVFJMK0MgdG8gZXhpdFxcbicpXG5cbiAgLy8gT3BlbiBwcmVmZXJhYmx5IGxvY2FsaG9zdC8xMjcuMC4wLjFcbiAgaWYgKG9wZW5Ccm93c2VyICYmIHNvcnRlZFVSTHMubGVuZ3RoICYmICFhcmdzWyctLWRlc2t0b3AtY2xpZW50J10pIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgb3Blbihzb3J0ZWRVUkxzWzBdKVxuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgIGNvbnNvbGUubG9nKCdVbmFibGUgdG8gb3BlbiBicm93c2VyIGF1dG9tYXRpY2FsbHkuJylcbiAgICB9XG4gIH1cblxuICAvLyB0aGlzIHNpZ25hbCBpcyByZXNvbHZlZCBieTogKHdrYylwcm9ncmFtLnN0b3AoKSwgU0lHVEVSTSwgU0lHSFVQXG4gIGF3YWl0IHNlcnZlci5jb21wb25lbnRzLnNpZ25hbGVyLnByb2dyYW1DbG9zZWRcbn1cbiJdfQ==
|
@@ -7,7 +7,8 @@ import { main as build } from '../build'
|
|
7
7
|
import { main as preview } from '../preview'
|
8
8
|
import { previewPort } from '../preview/port'
|
9
9
|
import { getArgs } from '../../utils/args'
|
10
|
-
import {
|
10
|
+
import { npmRun } from '../build/helpers'
|
11
|
+
|
11
12
|
interface Options {
|
12
13
|
args: typeof args
|
13
14
|
components: Pick<CliComponents, 'fetch' | 'fs'>
|
@@ -60,32 +61,41 @@ export function help() {
|
|
60
61
|
`
|
61
62
|
}
|
62
63
|
|
63
|
-
export
|
64
|
+
export async function main(options: Options) {
|
64
65
|
const dir = resolve(process.cwd(), options.args['--dir'] || '.')
|
65
66
|
const isCi = args['--ci'] || process.env.CI || false
|
66
67
|
const debug = !args['--no-debug'] && !isCi
|
67
68
|
const openBrowser = !args['--no-browser'] && !isCi
|
68
69
|
const skipBuild = args['--skip-build']
|
69
|
-
const watch = !args['--no-watch']
|
70
|
+
const watch = !args['--no-watch']
|
70
71
|
const enableWeb3 = args['--web3']
|
71
72
|
const port = parseInt(args['--port']!, 10) || (await previewPort())
|
72
73
|
const baseCoords = { x: 0, y: 0 }
|
73
74
|
const hasPortableExperience = false
|
74
75
|
|
75
76
|
const comps = { components: options.components }
|
77
|
+
|
78
|
+
// first run `npm run build`, this can be disabled with --skip-build
|
76
79
|
if (!skipBuild) {
|
80
|
+
await npmRun(dir, 'build')
|
81
|
+
}
|
82
|
+
|
83
|
+
// then start the embedded compiler, this can be disabled with --no-watch
|
84
|
+
if (watch) {
|
77
85
|
await build({ args: { '--dir': dir, '--watch': watch }, ...comps })
|
78
86
|
}
|
79
|
-
await preview({ args: { '--dir': dir, '--port': port }, ...comps })
|
80
87
|
|
81
|
-
|
88
|
+
// after the watcher is running, start the server
|
89
|
+
const server = await preview({ args: { '--dir': dir, '--port': port }, ...comps })
|
90
|
+
|
91
|
+
const networkInterfaces = os.networkInterfaces()
|
82
92
|
const availableURLs: string[] = []
|
83
93
|
|
84
94
|
console.log(`\nPreview server is now running!`)
|
85
95
|
console.log('Available on:\n')
|
86
96
|
|
87
|
-
Object.keys(
|
88
|
-
;(
|
97
|
+
Object.keys(networkInterfaces).forEach((dev) => {
|
98
|
+
;(networkInterfaces[dev] || []).forEach((details) => {
|
89
99
|
if (details.family === 'IPv4') {
|
90
100
|
let addr = `http://${details.address}:${port}?position=${baseCoords.x}%2C${baseCoords.y}&ENABLE_ECS7`
|
91
101
|
if (debug) {
|
@@ -129,4 +139,7 @@ export const main = handler(async function main(options: Options) {
|
|
129
139
|
console.log('Unable to open browser automatically.')
|
130
140
|
}
|
131
141
|
}
|
132
|
-
|
142
|
+
|
143
|
+
// this signal is resolved by: (wkc)program.stop(), SIGTERM, SIGHUP
|
144
|
+
await server.components.signaler.programClosed
|
145
|
+
}
|
package/cli/index.js
CHANGED
@@ -1,22 +1,45 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
"use strict";
|
3
|
-
var
|
4
|
-
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
4
|
+
if (k2 === undefined) k2 = k;
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
8
|
+
}
|
9
|
+
Object.defineProperty(o, k2, desc);
|
10
|
+
}) : (function(o, m, k, k2) {
|
11
|
+
if (k2 === undefined) k2 = k;
|
12
|
+
o[k2] = m[k];
|
13
|
+
}));
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
16
|
+
}) : function(o, v) {
|
17
|
+
o["default"] = v;
|
18
|
+
});
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
20
|
+
if (mod && mod.__esModule) return mod;
|
21
|
+
var result = {};
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
23
|
+
__setModuleDefault(result, mod);
|
24
|
+
return result;
|
5
25
|
};
|
6
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
7
27
|
const args_1 = require("./utils/args");
|
8
28
|
const out_messages_1 = require("./utils/out-messages");
|
9
|
-
const
|
29
|
+
const log = __importStar(require("./utils/log"));
|
10
30
|
const error_1 = require("./utils/error");
|
11
31
|
const commands_1 = require("./utils/commands");
|
12
32
|
const components_1 = require("./components");
|
13
33
|
const listCommandsStr = (commands) => (0, out_messages_1.toStringList)(commands.map(($) => `npx @dcl/sdk ${$}`));
|
14
34
|
const handleError = (err) => {
|
15
|
-
if (
|
16
|
-
|
35
|
+
if (err instanceof error_1.CliError) {
|
36
|
+
log.fail(err.message);
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
console.error(err);
|
40
|
+
log.warn(`Developer: All errors thrown must be an instance of "CliError"`);
|
17
41
|
}
|
18
|
-
|
19
|
-
process.exit(1);
|
42
|
+
process.exitCode = 1;
|
20
43
|
};
|
21
44
|
const commandFnsAreValid = (fns) => {
|
22
45
|
const { help, main } = fns;
|
@@ -28,16 +51,16 @@ const commandFnsAreValid = (fns) => {
|
|
28
51
|
}
|
29
52
|
return true;
|
30
53
|
};
|
31
|
-
|
32
|
-
const helpMessage = (commands) => `Here is the list of commands:\n${listCommandsStr(commands)}`;
|
33
|
-
(
|
54
|
+
async function main() {
|
55
|
+
const helpMessage = (commands) => `Here is the list of commands:\n${listCommandsStr(commands)}`;
|
56
|
+
const args = (0, args_1.getArgs)();
|
34
57
|
const command = process.argv[2];
|
35
58
|
const needsHelp = args['--help'];
|
36
59
|
const components = (0, components_1.initComponents)();
|
37
60
|
const commands = await (0, commands_1.getCommands)(components);
|
38
61
|
if (!commands.includes(command)) {
|
39
62
|
if (needsHelp) {
|
40
|
-
|
63
|
+
log.info(helpMessage(commands));
|
41
64
|
return;
|
42
65
|
}
|
43
66
|
throw new error_1.CliError(`Command ${command} is invalid. ${helpMessage(commands)}`);
|
@@ -47,5 +70,7 @@ const helpMessage = (commands) => `Here is the list of commands:\n${listCommands
|
|
47
70
|
const options = { args: cmd.args, components };
|
48
71
|
needsHelp ? await cmd.help(options) : await cmd.main(options);
|
49
72
|
}
|
50
|
-
|
51
|
-
|
73
|
+
process.exit(process.exitCode || 0);
|
74
|
+
}
|
75
|
+
main().catch(handleError);
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLHVDQUFzQztBQUN0Qyx1REFBbUQ7QUFDbkQsaURBQWtDO0FBQ2xDLHlDQUF3QztBQUN4QywrQ0FBNkQ7QUFDN0QsNkNBQTREO0FBZ0I1RCxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUEsMkJBQVksRUFBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRXRHLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVSxFQUFFLEVBQUU7SUFDakMsSUFBSSxHQUFHLFlBQVksZ0JBQVEsRUFBRTtRQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtLQUN0QjtTQUFNO1FBRUwsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLENBQUE7S0FDM0U7SUFHRCxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUN0QixDQUFDLENBQUE7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBZ0IsRUFBZ0MsRUFBRTtJQUM1RSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtJQUMxQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxnQkFBUSxDQUFDOzs7S0FHbEIsQ0FBQyxDQUFBO0tBQ0g7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQUVELEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsa0NBQWtDLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFBO0lBQ3pHLE1BQU0sSUFBSSxHQUFHLElBQUEsY0FBTyxHQUFFLENBQUE7SUFDdEIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEMsTUFBTSxVQUFVLEdBQWtCLElBQUEsMkJBQWMsR0FBRSxDQUFBO0lBRWxELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxzQkFBVyxFQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRTlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLElBQUksU0FBUyxFQUFFO1lBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtZQUMvQixPQUFNO1NBQ1A7UUFDRCxNQUFNLElBQUksZ0JBQVEsQ0FBQyxXQUFXLE9BQU8sZ0JBQWdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7S0FDOUU7SUFHRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyx3QkFBYSxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFFbEQsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMzQixNQUFNLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFBO1FBQzlDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7S0FDOUQ7SUFJRCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuLypcbiAgaXN0YW5idWwgaWdub3JlIGZpbGVcbiAgRG9lc24ndCBtYWtlIHNlbnNlIHRvIHRlc3QgdGhpcyBmaWxlXG4qL1xuXG5pbXBvcnQgeyBnZXRBcmdzIH0gZnJvbSAnLi91dGlscy9hcmdzJ1xuaW1wb3J0IHsgdG9TdHJpbmdMaXN0IH0gZnJvbSAnLi91dGlscy9vdXQtbWVzc2FnZXMnXG5pbXBvcnQgKiBhcyBsb2cgZnJvbSAnLi91dGlscy9sb2cnXG5pbXBvcnQgeyBDbGlFcnJvciB9IGZyb20gJy4vdXRpbHMvZXJyb3InXG5pbXBvcnQgeyBDT01NQU5EU19QQVRILCBnZXRDb21tYW5kcyB9IGZyb20gJy4vdXRpbHMvY29tbWFuZHMnXG5pbXBvcnQgeyBDbGlDb21wb25lbnRzLCBpbml0Q29tcG9uZW50cyB9IGZyb20gJy4vY29tcG9uZW50cydcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgYXJnczogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0QXJncz5cbiAgY29tcG9uZW50czogQ2xpQ29tcG9uZW50c1xufVxuXG4vLyBsZWF2aW5nIGFyZ3MgYXMgXCJhbnlcIiBzaW5jZSB3ZSBkb24ndCBrbm93IHlldCBpZiB3ZSB3aWxsIHVzZSB0aGVtXG50eXBlIEZpbGVGbiA9IChvcHRpb25zOiBPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG5cbmludGVyZmFjZSBGaWxlRXhwb3J0cyB7XG4gIGhlbHA/OiBGaWxlRm5cbiAgbWFpbj86IEZpbGVGblxuICBhcmdzPzogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0QXJncz5cbn1cblxuY29uc3QgbGlzdENvbW1hbmRzU3RyID0gKGNvbW1hbmRzOiBzdHJpbmdbXSkgPT4gdG9TdHJpbmdMaXN0KGNvbW1hbmRzLm1hcCgoJCkgPT4gYG5weCBAZGNsL3NkayAkeyR9YCkpXG5cbmNvbnN0IGhhbmRsZUVycm9yID0gKGVycjogRXJyb3IpID0+IHtcbiAgaWYgKGVyciBpbnN0YW5jZW9mIENsaUVycm9yKSB7XG4gICAgbG9nLmZhaWwoZXJyLm1lc3NhZ2UpXG4gIH0gZWxzZSB7XG4gICAgLy8gbG9nIHdpdGggY29uc29sZSB0byBzaG93IHN0YWNrdHJhY2UgYW5kIGRlYnVnIGluZm9ybWF0aW9uXG4gICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgbG9nLndhcm4oYERldmVsb3BlcjogQWxsIGVycm9ycyB0aHJvd24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBcIkNsaUVycm9yXCJgKVxuICB9XG5cbiAgLy8gc2V0IGFuIGV4aXQgY29kZSBidXQgbm90IGZpbmlzaCB0aGUgcHJvZ3JhbSBpbW1lZGlhdGVseSB0byBjbG9zZSBhbnkgcGVuZGluZyB3b3JrXG4gIHByb2Nlc3MuZXhpdENvZGUgPSAxXG59XG5cbmNvbnN0IGNvbW1hbmRGbnNBcmVWYWxpZCA9IChmbnM6IEZpbGVFeHBvcnRzKTogZm5zIGlzIFJlcXVpcmVkPEZpbGVFeHBvcnRzPiA9PiB7XG4gIGNvbnN0IHsgaGVscCwgbWFpbiB9ID0gZm5zXG4gIGlmICghaGVscCB8fCAhbWFpbikge1xuICAgIHRocm93IG5ldyBDbGlFcnJvcihgQ29tbWFuZCBkb2VzIG5vdCBmb2xsb3cgaW1wbGVtZW50YXRpb24gcnVsZXM6XG4gICAgICAqIFJlcXVpcmVzIGEgXCJoZWxwXCIgZnVuY3Rpb25cbiAgICAgICogUmVxdWlyZXMgYSBcIm1haW5cIiBmdW5jdGlvblxuICAgIGApXG4gIH1cbiAgcmV0dXJuIHRydWVcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgaGVscE1lc3NhZ2UgPSAoY29tbWFuZHM6IHN0cmluZ1tdKSA9PiBgSGVyZSBpcyB0aGUgbGlzdCBvZiBjb21tYW5kczpcXG4ke2xpc3RDb21tYW5kc1N0cihjb21tYW5kcyl9YFxuICBjb25zdCBhcmdzID0gZ2V0QXJncygpXG4gIGNvbnN0IGNvbW1hbmQgPSBwcm9jZXNzLmFyZ3ZbMl1cbiAgY29uc3QgbmVlZHNIZWxwID0gYXJnc1snLS1oZWxwJ11cbiAgY29uc3QgY29tcG9uZW50czogQ2xpQ29tcG9uZW50cyA9IGluaXRDb21wb25lbnRzKClcblxuICBjb25zdCBjb21tYW5kcyA9IGF3YWl0IGdldENvbW1hbmRzKGNvbXBvbmVudHMpXG5cbiAgaWYgKCFjb21tYW5kcy5pbmNsdWRlcyhjb21tYW5kKSkge1xuICAgIGlmIChuZWVkc0hlbHApIHtcbiAgICAgIGxvZy5pbmZvKGhlbHBNZXNzYWdlKGNvbW1hbmRzKSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoYENvbW1hbmQgJHtjb21tYW5kfSBpcyBpbnZhbGlkLiAke2hlbHBNZXNzYWdlKGNvbW1hbmRzKX1gKVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgY29uc3QgY21kID0gcmVxdWlyZShgJHtDT01NQU5EU19QQVRIfS8ke2NvbW1hbmR9YClcblxuICBpZiAoY29tbWFuZEZuc0FyZVZhbGlkKGNtZCkpIHtcbiAgICBjb25zdCBvcHRpb25zID0geyBhcmdzOiBjbWQuYXJncywgY29tcG9uZW50cyB9XG4gICAgbmVlZHNIZWxwID8gYXdhaXQgY21kLmhlbHAob3B0aW9ucykgOiBhd2FpdCBjbWQubWFpbihvcHRpb25zKVxuICB9XG5cbiAgLy8gcm9sbHVwIHdhdGNoZXIgbGVhdmVzIG1hbnkgb3BlbiBGU1dhdGNoZXIgZXZlbiBpbiBidWlsZCBtb2RlLiB3ZSBtdXN0IGNhbGxcbiAgLy8gcHJvY2Vzcy5leGl0IGF0IHRoaXMgcG9pbnQgdG8gcHJldmVudCB0aGUgcHJvZ3JhbSBoYWx0aW5nIGZvcmV2ZXJcbiAgcHJvY2Vzcy5leGl0KHByb2Nlc3MuZXhpdENvZGUgfHwgMClcbn1cblxubWFpbigpLmNhdGNoKGhhbmRsZUVycm9yKVxuIl19
|
package/cli/index.ts
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
import { getArgs } from './utils/args'
|
9
9
|
import { toStringList } from './utils/out-messages'
|
10
|
-
import log from './utils/log'
|
10
|
+
import * as log from './utils/log'
|
11
11
|
import { CliError } from './utils/error'
|
12
12
|
import { COMMANDS_PATH, getCommands } from './utils/commands'
|
13
13
|
import { CliComponents, initComponents } from './components'
|
@@ -28,12 +28,17 @@ interface FileExports {
|
|
28
28
|
|
29
29
|
const listCommandsStr = (commands: string[]) => toStringList(commands.map(($) => `npx @dcl/sdk ${$}`))
|
30
30
|
|
31
|
-
const handleError = (err:
|
32
|
-
if (
|
31
|
+
const handleError = (err: Error) => {
|
32
|
+
if (err instanceof CliError) {
|
33
|
+
log.fail(err.message)
|
34
|
+
} else {
|
35
|
+
// log with console to show stacktrace and debug information
|
36
|
+
console.error(err)
|
33
37
|
log.warn(`Developer: All errors thrown must be an instance of "CliError"`)
|
34
38
|
}
|
35
|
-
|
36
|
-
|
39
|
+
|
40
|
+
// set an exit code but not finish the program immediately to close any pending work
|
41
|
+
process.exitCode = 1
|
37
42
|
}
|
38
43
|
|
39
44
|
const commandFnsAreValid = (fns: FileExports): fns is Required<FileExports> => {
|
@@ -47,10 +52,9 @@ const commandFnsAreValid = (fns: FileExports): fns is Required<FileExports> => {
|
|
47
52
|
return true
|
48
53
|
}
|
49
54
|
|
50
|
-
|
51
|
-
const helpMessage = (commands: string[]) => `Here is the list of commands:\n${listCommandsStr(commands)}`
|
52
|
-
|
53
|
-
;(async () => {
|
55
|
+
async function main() {
|
56
|
+
const helpMessage = (commands: string[]) => `Here is the list of commands:\n${listCommandsStr(commands)}`
|
57
|
+
const args = getArgs()
|
54
58
|
const command = process.argv[2]
|
55
59
|
const needsHelp = args['--help']
|
56
60
|
const components: CliComponents = initComponents()
|
@@ -72,4 +76,10 @@ const helpMessage = (commands: string[]) => `Here is the list of commands:\n${li
|
|
72
76
|
const options = { args: cmd.args, components }
|
73
77
|
needsHelp ? await cmd.help(options) : await cmd.main(options)
|
74
78
|
}
|
75
|
-
|
79
|
+
|
80
|
+
// rollup watcher leaves many open FSWatcher even in build mode. we must call
|
81
|
+
// process.exit at this point to prevent the program halting forever
|
82
|
+
process.exit(process.exitCode || 0)
|
83
|
+
}
|
84
|
+
|
85
|
+
main().catch(handleError)
|
package/cli/utils/exec.d.ts
CHANGED
@@ -4,5 +4,5 @@ interface Options {
|
|
4
4
|
};
|
5
5
|
silent: boolean;
|
6
6
|
}
|
7
|
-
export declare function exec(cwd: string, command: string, { env, silent }?: Partial<Options>): Promise<void>;
|
7
|
+
export declare function exec(cwd: string, command: string, args: string[], { env, silent }?: Partial<Options>): Promise<void>;
|
8
8
|
export {};
|
package/cli/utils/exec.js
CHANGED
@@ -2,10 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.exec = void 0;
|
4
4
|
const child_process_1 = require("child_process");
|
5
|
-
function exec(cwd, command, { env, silent } = {}) {
|
5
|
+
function exec(cwd, command, args, { env, silent } = {}) {
|
6
6
|
return new Promise((resolve, reject) => {
|
7
|
-
const
|
8
|
-
const child = (0, child_process_1.spawn)(cmd, rest, {
|
7
|
+
const child = (0, child_process_1.spawn)(command, args, {
|
9
8
|
shell: true,
|
10
9
|
cwd,
|
11
10
|
env: Object.assign(Object.assign(Object.assign({}, process.env), { NODE_ENV: '' }), env)
|
@@ -21,8 +20,8 @@ function exec(cwd, command, { env, silent } = {}) {
|
|
21
20
|
});
|
22
21
|
child.on('close', (code) => {
|
23
22
|
if (code !== 0) {
|
24
|
-
const
|
25
|
-
reject(new Error(`Command "${
|
23
|
+
const _ = `${command} ${args.join(' ')}`;
|
24
|
+
reject(new Error(`Command "${_}" exited with code ${code}. Please try running the command manually`));
|
26
25
|
return;
|
27
26
|
}
|
28
27
|
resolve(undefined);
|
@@ -30,4 +29,4 @@ function exec(cwd, command, { env, silent } = {}) {
|
|
30
29
|
});
|
31
30
|
}
|
32
31
|
exports.exec = exec;
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQXFDO0FBT3JDLFNBQWdCLElBQUksQ0FDbEIsR0FBVyxFQUNYLE9BQWUsRUFDZixJQUFjLEVBQ2QsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUF1QixFQUFFO0lBRXRDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxxQkFBSyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDakMsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHO1lBQ0gsR0FBRyxnREFBTyxPQUFPLENBQUMsR0FBRyxLQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssR0FBRyxDQUFFO1NBQzlDLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ2xDO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRixLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ2pDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDZCxNQUFNLENBQUMsR0FBRyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7Z0JBQ3hDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsc0JBQXNCLElBQUksMkNBQTJDLENBQUMsQ0FBQyxDQUFBO2dCQUNyRyxPQUFNO2FBQ1A7WUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFsQ0Qsb0JBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3Bhd24gfSBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICBzaWxlbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWMoXG4gIGN3ZDogc3RyaW5nLFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIGFyZ3M6IHN0cmluZ1tdLFxuICB7IGVudiwgc2lsZW50IH06IFBhcnRpYWw8T3B0aW9ucz4gPSB7fVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2hpbGQgPSBzcGF3bihjb21tYW5kLCBhcmdzLCB7XG4gICAgICBzaGVsbDogdHJ1ZSxcbiAgICAgIGN3ZCxcbiAgICAgIGVudjogeyAuLi5wcm9jZXNzLmVudiwgTk9ERV9FTlY6ICcnLCAuLi5lbnYgfVxuICAgIH0pXG5cbiAgICBpZiAoIXNpbGVudCkge1xuICAgICAgY2hpbGQuc3Rkb3V0LnBpcGUocHJvY2Vzcy5zdGRvdXQpXG4gICAgICBjaGlsZC5zdGRlcnIucGlwZShwcm9jZXNzLnN0ZGVycilcbiAgICB9XG5cbiAgICBjaGlsZC5zdGRvdXQub24oJ2RhdGEnLCAoZGF0YSkgPT4ge1xuICAgICAgaWYgKGRhdGEudG9TdHJpbmcoKS5pbmRleE9mKCdUaGUgY29tcGlsZXIgaXMgd2F0Y2hpbmcgZmlsZSBjaGFuZ2VzLi4uJykgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY2hpbGQub24oJ2Nsb3NlJywgKGNvZGU6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKGNvZGUgIT09IDApIHtcbiAgICAgICAgY29uc3QgXyA9IGAke2NvbW1hbmR9ICR7YXJncy5qb2luKCcgJyl9YFxuICAgICAgICByZWplY3QobmV3IEVycm9yKGBDb21tYW5kIFwiJHtffVwiIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfS4gUGxlYXNlIHRyeSBydW5uaW5nIHRoZSBjb21tYW5kIG1hbnVhbGx5YCkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICB9KVxuICB9KVxufVxuIl19
|
package/cli/utils/exec.ts
CHANGED
@@ -5,10 +5,14 @@ interface Options {
|
|
5
5
|
silent: boolean
|
6
6
|
}
|
7
7
|
|
8
|
-
export function exec(
|
8
|
+
export function exec(
|
9
|
+
cwd: string,
|
10
|
+
command: string,
|
11
|
+
args: string[],
|
12
|
+
{ env, silent }: Partial<Options> = {}
|
13
|
+
): Promise<void> {
|
9
14
|
return new Promise((resolve, reject) => {
|
10
|
-
const
|
11
|
-
const child = spawn(cmd, rest, {
|
15
|
+
const child = spawn(command, args, {
|
12
16
|
shell: true,
|
13
17
|
cwd,
|
14
18
|
env: { ...process.env, NODE_ENV: '', ...env }
|
@@ -27,8 +31,8 @@ export function exec(cwd: string, command: string, { env, silent }: Partial<Opti
|
|
27
31
|
|
28
32
|
child.on('close', (code: number) => {
|
29
33
|
if (code !== 0) {
|
30
|
-
const
|
31
|
-
reject(new Error(`Command "${
|
34
|
+
const _ = `${command} ${args.join(' ')}`
|
35
|
+
reject(new Error(`Command "${_}" exited with code ${code}. Please try running the command manually`))
|
32
36
|
return
|
33
37
|
}
|
34
38
|
|
package/cli/utils/log.d.ts
CHANGED
@@ -1,13 +1,5 @@
|
|
1
|
-
export declare function
|
1
|
+
export declare function log(message: string): void;
|
2
2
|
export declare function fail(message: string): void;
|
3
3
|
export declare function warn(message: string): void;
|
4
4
|
export declare function info(message: string): void;
|
5
5
|
export declare function succeed(message: string): void;
|
6
|
-
declare const _default: {
|
7
|
-
raw: typeof raw;
|
8
|
-
fail: typeof fail;
|
9
|
-
warn: typeof warn;
|
10
|
-
info: typeof info;
|
11
|
-
succeed: typeof succeed;
|
12
|
-
};
|
13
|
-
export default _default;
|
package/cli/utils/log.js
CHANGED
@@ -1,31 +1,29 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.succeed = exports.info = exports.warn = exports.fail = exports.
|
4
|
-
|
5
|
-
|
3
|
+
exports.succeed = exports.info = exports.warn = exports.fail = exports.log = void 0;
|
4
|
+
const colorette_1 = require("colorette");
|
5
|
+
const stderr = (...parameters) => process.stderr.write(`${parameters.join('')}\n`);
|
6
|
+
const colors = (0, colorette_1.createColors)({
|
7
|
+
useColor: process.env.FORCE_COLOR !== '0' && !process.env.NO_COLOR
|
8
|
+
});
|
9
|
+
function log(message) {
|
10
|
+
stderr(message);
|
6
11
|
}
|
7
|
-
exports.
|
12
|
+
exports.log = log;
|
8
13
|
function fail(message) {
|
9
|
-
|
14
|
+
stderr(colors.redBright(' Error: '), message);
|
10
15
|
}
|
11
16
|
exports.fail = fail;
|
12
17
|
function warn(message) {
|
13
|
-
|
18
|
+
stderr(colors.yellow('Warning: '), message);
|
14
19
|
}
|
15
20
|
exports.warn = warn;
|
16
21
|
function info(message) {
|
17
|
-
|
22
|
+
stderr(colors.blueBright(' Info: '), message);
|
18
23
|
}
|
19
24
|
exports.info = info;
|
20
25
|
function succeed(message) {
|
21
|
-
|
26
|
+
stderr(colors.green('Success: '), message);
|
22
27
|
}
|
23
28
|
exports.succeed = succeed;
|
24
|
-
|
25
|
-
raw,
|
26
|
-
fail,
|
27
|
-
warn,
|
28
|
-
info,
|
29
|
-
succeed
|
30
|
-
};
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQWdCLEdBQUcsQ0FBQyxPQUFlO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEIsQ0FBQztBQUZELGtCQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLE9BQWU7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUZELDBCQUVDO0FBRUQsa0JBQWU7SUFDYixHQUFHO0lBQ0gsSUFBSTtJQUNKLElBQUk7SUFDSixJQUFJO0lBQ0osT0FBTztDQUNSLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmF3KG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zb2xlLmxvZyhtZXNzYWdlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFpbChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2coYPCflLQgJHttZXNzYWdlfWApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXJuKG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zb2xlLmxvZyhg8J+foCAke21lc3NhZ2V9YClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluZm8obWVzc2FnZTogc3RyaW5nKSB7XG4gIGNvbnNvbGUubG9nKGDwn5S1ICR7bWVzc2FnZX1gKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VjY2VlZChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgY29uc29sZS5sb2coYPCfn6IgJHttZXNzYWdlfWApXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcmF3LFxuICBmYWlsLFxuICB3YXJuLFxuICBpbmZvLFxuICBzdWNjZWVkXG59XG4iXX0=
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQVl4QyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsVUFBOEIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUl0RyxNQUFNLE1BQU0sR0FBRyxJQUFBLHdCQUFZLEVBQUM7SUFDMUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUTtDQUNuRSxDQUFDLENBQUE7QUFFRixTQUFnQixHQUFHLENBQUMsT0FBZTtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDakIsQ0FBQztBQUZELGtCQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDaEQsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDN0MsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLE9BQWU7SUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDakQsQ0FBQztBQUZELG9CQUVDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLE9BQWU7SUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUZELDBCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29sb3JzIH0gZnJvbSAnY29sb3JldHRlJ1xuXG4vKipcbiAqIFRoaXMgZmlsZSBpbWl0YXRlcyBcImNhcmdvXCIgbG9ncy4gVGhlIHdvcmRzIGFyZSBhbGlnbmVkIHdpdGggdGhlIGNvbG9uIGxpa2UgdGhpczpcbiAqICAgICAgICBWXG4gKiAgIEVycm9yOiBzb21lIHRleHQgcHJvdmlkZWQgYXMgYXJndW1lblxuICogICAgSW5mbzogc29tZSB0ZXh0IHByb3ZpZGVkIGFzIGFyZ3VtZW5cbiAqIFN1Y2Nlc3M6IHNvbWUgdGV4dCBwcm92aWRlZCBhcyBhcmd1bWVuXG4gKiBXYXJuaW5nOiBzb21lIHRleHQgcHJvdmlkZWQgYXMgYXJndW1lblxuICogICAgICAgIF5cbiAqL1xuXG5jb25zdCBzdGRlcnIgPSAoLi4ucGFyYW1ldGVyczogcmVhZG9ubHkgdW5rbm93bltdKSA9PiBwcm9jZXNzLnN0ZGVyci53cml0ZShgJHtwYXJhbWV0ZXJzLmpvaW4oJycpfVxcbmApXG5cbi8vIEBzZWUgaHR0cHM6Ly9uby1jb2xvci5vcmdcbi8vIEBzZWUgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvY2hhbGtcbmNvbnN0IGNvbG9ycyA9IGNyZWF0ZUNvbG9ycyh7XG4gIHVzZUNvbG9yOiBwcm9jZXNzLmVudi5GT1JDRV9DT0xPUiAhPT0gJzAnICYmICFwcm9jZXNzLmVudi5OT19DT0xPUlxufSlcblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhtZXNzYWdlOiBzdHJpbmcpIHtcbiAgc3RkZXJyKG1lc3NhZ2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWlsKG1lc3NhZ2U6IHN0cmluZykge1xuICBzdGRlcnIoY29sb3JzLnJlZEJyaWdodCgnICBFcnJvcjogJyksIG1lc3NhZ2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXJuKG1lc3NhZ2U6IHN0cmluZykge1xuICBzdGRlcnIoY29sb3JzLnllbGxvdygnV2FybmluZzogJyksIG1lc3NhZ2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmZvKG1lc3NhZ2U6IHN0cmluZykge1xuICBzdGRlcnIoY29sb3JzLmJsdWVCcmlnaHQoJyAgIEluZm86ICcpLCBtZXNzYWdlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VjY2VlZChtZXNzYWdlOiBzdHJpbmcpIHtcbiAgc3RkZXJyKGNvbG9ycy5ncmVlbignU3VjY2VzczogJyksIG1lc3NhZ2UpXG59XG4iXX0=
|