@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.
@@ -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 { ILoggerComponent, IMetricsComponent, IHttpServerComponent, IConfigComponent } from '@well-known-components/interfaces';
2
- import { HTTPProvider } from 'eth-connect';
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, watch = false) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndpcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXVCO0FBQ3ZCLHdEQUF5QjtBQUV6QiwrQkFBd0M7QUFTeEMsb0VBQTJEO0FBRTNELDJDQUFnRDtBQUNoRCw2Q0FBNEM7QUFZckMsS0FBSyxVQUFVLElBQUksQ0FBQyxHQUFXLEVBQUUsVUFBNkIsRUFBRSxRQUFpQixLQUFLO0lBQzNGLE1BQU0sY0FBYyxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBR3hELElBQUksQ0FBQyxrQkFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUN0QyxNQUFNLElBQUksZ0JBQVEsQ0FBQyxrQkFBa0IsY0FBYywyQkFBMkIsQ0FBQyxDQUFBO0tBQ2hGO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBTSxFQUFxQixDQUFBO0lBRTlDLE1BQU0sSUFBQSxzQkFBZ0IsRUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUMsSUFBQSw4QkFBa0IsRUFBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDL0IsSUFBSSxLQUFLLEVBQUU7S0FHVjtJQUVELFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3hDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFBO0lBQzlDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLENBQUM7QUFwQkQsb0JBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSdcblxuaW1wb3J0IHsgc2V0dXBCZmZBbmRDb21tcyB9IGZyb20gJy4vYmZmJ1xuaW1wb3J0IHtcbiAgSUxvZ2dlckNvbXBvbmVudCxcbiAgSU1ldHJpY3NDb21wb25lbnQsXG4gIElIdHRwU2VydmVyQ29tcG9uZW50LFxuICBJQ29uZmlnQ29tcG9uZW50XG59IGZyb20gJ0B3ZWxsLWtub3duLWNvbXBvbmVudHMvaW50ZXJmYWNlcydcbmltcG9ydCB7IEhUVFBQcm92aWRlciB9IGZyb20gJ2V0aC1jb25uZWN0J1xuaW1wb3J0IHsgUm9vbUNvbXBvbmVudCB9IGZyb20gJ0BkY2wvbWluaS1jb21tcy9kaXN0L2FkYXB0ZXJzL3Jvb21zJ1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQHdlbGwta25vd24tY29tcG9uZW50cy9odHRwLXNlcnZlcidcbmltcG9ydCB7IFdlYlNvY2tldENvbXBvbmVudCB9IGZyb20gJy4vd3MnXG5pbXBvcnQgeyBzZXR1cEVjczZFbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cydcbmltcG9ydCB7IENsaUVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvZXJyb3InXG5cbmV4cG9ydCB0eXBlIFByZXZpZXdDb21wb25lbnRzID0ge1xuICBsb2dzOiBJTG9nZ2VyQ29tcG9uZW50XG4gIHNlcnZlcjogSUh0dHBTZXJ2ZXJDb21wb25lbnQ8UHJldmlld0NvbXBvbmVudHM+XG4gIGNvbmZpZzogSUNvbmZpZ0NvbXBvbmVudFxuICBtZXRyaWNzOiBJTWV0cmljc0NvbXBvbmVudDxhbnk+XG4gIGV0aGVyZXVtUHJvdmlkZXI6IEhUVFBQcm92aWRlclxuICByb29tczogUm9vbUNvbXBvbmVudFxuICB3czogV2ViU29ja2V0Q29tcG9uZW50XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXJlKGRpcjogc3RyaW5nLCBjb21wb25lbnRzOiBQcmV2aWV3Q29tcG9uZW50cywgd2F0Y2g6IGJvb2xlYW4gPSBmYWxzZSkge1xuICBjb25zdCBucG1Nb2R1bGVzUGF0aCA9IHBhdGgucmVzb2x2ZShkaXIsICdub2RlX21vZHVsZXMnKVxuXG4gIC8vIFRPRE86IGRjbC5wcm9qZWN0Lm5lZWRzRGVwZW5kZW5jaWVzKCkgc2hvdWxkIGRvIHRoaXNcbiAgaWYgKCFmcy5wYXRoRXhpc3RzU3luYyhucG1Nb2R1bGVzUGF0aCkpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoYENvdWxkblxcJ3QgZmluZCAke25wbU1vZHVsZXNQYXRofSwgcGxlYXNlIHJ1bjogbnBtIGluc3RhbGxgKVxuICB9XG5cbiAgY29uc3Qgcm91dGVyID0gbmV3IFJvdXRlcjxQcmV2aWV3Q29tcG9uZW50cz4oKVxuXG4gIGF3YWl0IHNldHVwQmZmQW5kQ29tbXMoY29tcG9uZW50cywgcm91dGVyKVxuICBzZXR1cEVjczZFbmRwb2ludHMoZGlyLCByb3V0ZXIpXG4gIGlmICh3YXRjaCkge1xuICAgIC8vIGFkZCBcIndhdGNoXCJcbiAgICAvLyBhd2FpMnQgYmluZFdhdGNoKGNvbXBvbmVudHMsIHNjZW5lVXBkYXRlQ2xpZW50cylcbiAgfVxuXG4gIGNvbXBvbmVudHMuc2VydmVyLnNldENvbnRleHQoY29tcG9uZW50cylcbiAgY29tcG9uZW50cy5zZXJ2ZXIudXNlKHJvdXRlci5hbGxvd2VkTWV0aG9kcygpKVxuICBjb21wb25lbnRzLnNlcnZlci51c2Uocm91dGVyLm1pZGRsZXdhcmUoKSlcbn1cbiJdfQ==
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 type PreviewComponents = {
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 const main: (args: Options) => Promise<void>;
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 handler_1 = require("../../utils/handler");
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
- exports.main = (0, handler_1.main)(async function main(options) {
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'] && !isCi && !skipBuild;
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 ifaces = os_1.default.networkInterfaces();
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(ifaces).forEach((dev) => {
84
+ Object.keys(networkInterfaces).forEach((dev) => {
82
85
  ;
83
- (ifaces[dev] || []).forEach((details) => {
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 { main as handler } from '../../utils/handler'
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 const main = handler(async function main(options: Options) {
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'] && !isCi && !skipBuild
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
- const ifaces = os.networkInterfaces()
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(ifaces).forEach((dev) => {
88
- ;(ifaces[dev] || []).forEach((details) => {
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 __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
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 log_1 = __importDefault(require("./utils/log"));
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 (!(err instanceof error_1.CliError)) {
16
- log_1.default.warn(`Developer: All errors thrown must be an instance of "CliError"`);
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
- log_1.default.fail(err.message);
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
- const args = (0, args_1.getArgs)();
32
- const helpMessage = (commands) => `Here is the list of commands:\n${listCommandsStr(commands)}`;
33
- (async () => {
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
- log_1.default.info(helpMessage(commands));
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
- })().catch(handleError);
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFPQSx1Q0FBc0M7QUFDdEMsdURBQW1EO0FBQ25ELHNEQUE2QjtBQUM3Qix5Q0FBd0M7QUFDeEMsK0NBQTZEO0FBQzdELDZDQUE0RDtBQWdCNUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFBLDJCQUFZLEVBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUV0RyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO0lBQ3BDLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxnQkFBUSxDQUFDLEVBQUU7UUFDOUIsYUFBRyxDQUFDLElBQUksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFBO0tBQzNFO0lBQ0QsYUFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqQixDQUFDLENBQUE7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBZ0IsRUFBZ0MsRUFBRTtJQUM1RSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtJQUMxQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxnQkFBUSxDQUFDOzs7S0FHbEIsQ0FBQyxDQUFBO0tBQ0g7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQUVELE1BQU0sSUFBSSxHQUFHLElBQUEsY0FBTyxHQUFFLENBQUE7QUFDdEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsZUFBZSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBRXhHO0FBQUEsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNYLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLE1BQU0sVUFBVSxHQUFrQixJQUFBLDJCQUFjLEdBQUUsQ0FBQTtJQUVsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsc0JBQVcsRUFBQyxVQUFVLENBQUMsQ0FBQTtJQUU5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMvQixJQUFJLFNBQVMsRUFBRTtZQUNiLGFBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDL0IsT0FBTTtTQUNQO1FBQ0QsTUFBTSxJQUFJLGdCQUFRLENBQUMsV0FBVyxPQUFPLGdCQUFnQixXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0tBQzlFO0lBR0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsd0JBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBRWxELElBQUksa0JBQWtCLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQTtRQUM5QyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQzlEO0FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5cbi8qXG4gIGlzdGFuYnVsIGlnbm9yZSBmaWxlXG4gIERvZXNuJ3QgbWFrZSBzZW5zZSB0byB0ZXN0IHRoaXMgZmlsZVxuKi9cblxuaW1wb3J0IHsgZ2V0QXJncyB9IGZyb20gJy4vdXRpbHMvYXJncydcbmltcG9ydCB7IHRvU3RyaW5nTGlzdCB9IGZyb20gJy4vdXRpbHMvb3V0LW1lc3NhZ2VzJ1xuaW1wb3J0IGxvZyBmcm9tICcuL3V0aWxzL2xvZydcbmltcG9ydCB7IENsaUVycm9yIH0gZnJvbSAnLi91dGlscy9lcnJvcidcbmltcG9ydCB7IENPTU1BTkRTX1BBVEgsIGdldENvbW1hbmRzIH0gZnJvbSAnLi91dGlscy9jb21tYW5kcydcbmltcG9ydCB7IENsaUNvbXBvbmVudHMsIGluaXRDb21wb25lbnRzIH0gZnJvbSAnLi9jb21wb25lbnRzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBhcmdzOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRBcmdzPlxuICBjb21wb25lbnRzOiBDbGlDb21wb25lbnRzXG59XG5cbi8vIGxlYXZpbmcgYXJncyBhcyBcImFueVwiIHNpbmNlIHdlIGRvbid0IGtub3cgeWV0IGlmIHdlIHdpbGwgdXNlIHRoZW1cbnR5cGUgRmlsZUZuID0gKG9wdGlvbnM6IE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD5cblxuaW50ZXJmYWNlIEZpbGVFeHBvcnRzIHtcbiAgaGVscD86IEZpbGVGblxuICBtYWluPzogRmlsZUZuXG4gIGFyZ3M/OiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRBcmdzPlxufVxuXG5jb25zdCBsaXN0Q29tbWFuZHNTdHIgPSAoY29tbWFuZHM6IHN0cmluZ1tdKSA9PiB0b1N0cmluZ0xpc3QoY29tbWFuZHMubWFwKCgkKSA9PiBgbnB4IEBkY2wvc2RrICR7JH1gKSlcblxuY29uc3QgaGFuZGxlRXJyb3IgPSAoZXJyOiBDbGlFcnJvcikgPT4ge1xuICBpZiAoIShlcnIgaW5zdGFuY2VvZiBDbGlFcnJvcikpIHtcbiAgICBsb2cud2FybihgRGV2ZWxvcGVyOiBBbGwgZXJyb3JzIHRocm93biBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFwiQ2xpRXJyb3JcImApXG4gIH1cbiAgbG9nLmZhaWwoZXJyLm1lc3NhZ2UpXG4gIHByb2Nlc3MuZXhpdCgxKVxufVxuXG5jb25zdCBjb21tYW5kRm5zQXJlVmFsaWQgPSAoZm5zOiBGaWxlRXhwb3J0cyk6IGZucyBpcyBSZXF1aXJlZDxGaWxlRXhwb3J0cz4gPT4ge1xuICBjb25zdCB7IGhlbHAsIG1haW4gfSA9IGZuc1xuICBpZiAoIWhlbHAgfHwgIW1haW4pIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoYENvbW1hbmQgZG9lcyBub3QgZm9sbG93IGltcGxlbWVudGF0aW9uIHJ1bGVzOlxuICAgICAgKiBSZXF1aXJlcyBhIFwiaGVscFwiIGZ1bmN0aW9uXG4gICAgICAqIFJlcXVpcmVzIGEgXCJtYWluXCIgZnVuY3Rpb25cbiAgICBgKVxuICB9XG4gIHJldHVybiB0cnVlXG59XG5cbmNvbnN0IGFyZ3MgPSBnZXRBcmdzKClcbmNvbnN0IGhlbHBNZXNzYWdlID0gKGNvbW1hbmRzOiBzdHJpbmdbXSkgPT4gYEhlcmUgaXMgdGhlIGxpc3Qgb2YgY29tbWFuZHM6XFxuJHtsaXN0Q29tbWFuZHNTdHIoY29tbWFuZHMpfWBcblxuOyhhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNvbW1hbmQgPSBwcm9jZXNzLmFyZ3ZbMl1cbiAgY29uc3QgbmVlZHNIZWxwID0gYXJnc1snLS1oZWxwJ11cbiAgY29uc3QgY29tcG9uZW50czogQ2xpQ29tcG9uZW50cyA9IGluaXRDb21wb25lbnRzKClcblxuICBjb25zdCBjb21tYW5kcyA9IGF3YWl0IGdldENvbW1hbmRzKGNvbXBvbmVudHMpXG5cbiAgaWYgKCFjb21tYW5kcy5pbmNsdWRlcyhjb21tYW5kKSkge1xuICAgIGlmIChuZWVkc0hlbHApIHtcbiAgICAgIGxvZy5pbmZvKGhlbHBNZXNzYWdlKGNvbW1hbmRzKSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoYENvbW1hbmQgJHtjb21tYW5kfSBpcyBpbnZhbGlkLiAke2hlbHBNZXNzYWdlKGNvbW1hbmRzKX1gKVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgY29uc3QgY21kID0gcmVxdWlyZShgJHtDT01NQU5EU19QQVRIfS8ke2NvbW1hbmR9YClcblxuICBpZiAoY29tbWFuZEZuc0FyZVZhbGlkKGNtZCkpIHtcbiAgICBjb25zdCBvcHRpb25zID0geyBhcmdzOiBjbWQuYXJncywgY29tcG9uZW50cyB9XG4gICAgbmVlZHNIZWxwID8gYXdhaXQgY21kLmhlbHAob3B0aW9ucykgOiBhd2FpdCBjbWQubWFpbihvcHRpb25zKVxuICB9XG59KSgpLmNhdGNoKGhhbmRsZUVycm9yKVxuIl19
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: CliError) => {
32
- if (!(err instanceof CliError)) {
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
- log.fail(err.message)
36
- process.exit(1)
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
- const args = getArgs()
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
- })().catch(handleError)
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)
@@ -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 [cmd, ...rest] = command.split(' ');
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 command = `${cmd} ${rest.join(' ')}`;
25
- reject(new Error(`Command "${command}" exited with code ${code}. Please try running the command manually`));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQXFDO0FBT3JDLFNBQWdCLElBQUksQ0FBQyxHQUFXLEVBQUUsT0FBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBdUIsRUFBRTtJQUN2RixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUEscUJBQUssRUFBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1lBQzdCLEtBQUssRUFBRSxJQUFJO1lBQ1gsR0FBRztZQUNILEdBQUcsZ0RBQU8sT0FBTyxDQUFDLEdBQUcsS0FBRSxRQUFRLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBRTtTQUM5QyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtTQUNsQztRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUM5RSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2QsTUFBTSxPQUFPLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFBO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxPQUFPLHNCQUFzQixJQUFJLDJDQUEyQyxDQUFDLENBQUMsQ0FBQTtnQkFDM0csT0FBTTthQUNQO1lBRUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBOUJELG9CQThCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNwYXduIH0gZnJvbSAnY2hpbGRfcHJvY2VzcydcblxuaW50ZXJmYWNlIE9wdGlvbnMge1xuICBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgc2lsZW50OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjKGN3ZDogc3RyaW5nLCBjb21tYW5kOiBzdHJpbmcsIHsgZW52LCBzaWxlbnQgfTogUGFydGlhbDxPcHRpb25zPiA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgW2NtZCwgLi4ucmVzdF0gPSBjb21tYW5kLnNwbGl0KCcgJylcbiAgICBjb25zdCBjaGlsZCA9IHNwYXduKGNtZCwgcmVzdCwge1xuICAgICAgc2hlbGw6IHRydWUsXG4gICAgICBjd2QsXG4gICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIE5PREVfRU5WOiAnJywgLi4uZW52IH1cbiAgICB9KVxuXG4gICAgaWYgKCFzaWxlbnQpIHtcbiAgICAgIGNoaWxkLnN0ZG91dC5waXBlKHByb2Nlc3Muc3Rkb3V0KVxuICAgICAgY2hpbGQuc3RkZXJyLnBpcGUocHJvY2Vzcy5zdGRlcnIpXG4gICAgfVxuXG4gICAgY2hpbGQuc3Rkb3V0Lm9uKCdkYXRhJywgKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhLnRvU3RyaW5nKCkuaW5kZXhPZignVGhlIGNvbXBpbGVyIGlzIHdhdGNoaW5nIGZpbGUgY2hhbmdlcy4uLicpICE9PSAtMSkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSh1bmRlZmluZWQpXG4gICAgICB9XG4gICAgfSlcblxuICAgIGNoaWxkLm9uKCdjbG9zZScsIChjb2RlOiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSBgJHtjbWR9ICR7cmVzdC5qb2luKCcgJyl9YFxuICAgICAgICByZWplY3QobmV3IEVycm9yKGBDb21tYW5kIFwiJHtjb21tYW5kfVwiIGV4aXRlZCB3aXRoIGNvZGUgJHtjb2RlfS4gUGxlYXNlIHRyeSBydW5uaW5nIHRoZSBjb21tYW5kIG1hbnVhbGx5YCkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICB9KVxuICB9KVxufVxuIl19
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(cwd: string, command: string, { env, silent }: Partial<Options> = {}): Promise<void> {
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 [cmd, ...rest] = command.split(' ')
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 command = `${cmd} ${rest.join(' ')}`
31
- reject(new Error(`Command "${command}" exited with code ${code}. Please try running the command manually`))
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
 
@@ -1,13 +1,5 @@
1
- export declare function raw(message: string): void;
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.raw = void 0;
4
- function raw(message) {
5
- console.log(message);
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.raw = raw;
12
+ exports.log = log;
8
13
  function fail(message) {
9
- console.log(`🔴 ${message}`);
14
+ stderr(colors.redBright(' Error: '), message);
10
15
  }
11
16
  exports.fail = fail;
12
17
  function warn(message) {
13
- console.log(`🟠 ${message}`);
18
+ stderr(colors.yellow('Warning: '), message);
14
19
  }
15
20
  exports.warn = warn;
16
21
  function info(message) {
17
- console.log(`🔵 ${message}`);
22
+ stderr(colors.blueBright(' Info: '), message);
18
23
  }
19
24
  exports.info = info;
20
25
  function succeed(message) {
21
- console.log(`🟢 ${message}`);
26
+ stderr(colors.green('Success: '), message);
22
27
  }
23
28
  exports.succeed = succeed;
24
- exports.default = {
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=