@dcl/sdk 7.0.6-4197739270.commit-db87ed8 → 7.0.6-4218076982.commit-7ba834d

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.
Files changed (88) hide show
  1. package/package.json +6 -30
  2. package/cli/commands/build/helpers.d.ts +0 -21
  3. package/cli/commands/build/helpers.js +0 -50
  4. package/cli/commands/build/helpers.ts +0 -89
  5. package/cli/commands/build/index.d.ts +0 -19
  6. package/cli/commands/build/index.js +0 -69
  7. package/cli/commands/build/index.ts +0 -91
  8. package/cli/commands/init/index.d.ts +0 -17
  9. package/cli/commands/init/index.js +0 -51
  10. package/cli/commands/init/index.ts +0 -67
  11. package/cli/commands/init/repos.d.ts +0 -9
  12. package/cli/commands/init/repos.js +0 -12
  13. package/cli/commands/init/repos.ts +0 -17
  14. package/cli/commands/preview/bff.d.ts +0 -3
  15. package/cli/commands/preview/bff.js +0 -54
  16. package/cli/commands/preview/bff.ts +0 -63
  17. package/cli/commands/preview/catalyst.d.ts +0 -5
  18. package/cli/commands/preview/catalyst.js +0 -24
  19. package/cli/commands/preview/catalyst.ts +0 -31
  20. package/cli/commands/preview/coordinates.d.ts +0 -20
  21. package/cli/commands/preview/coordinates.js +0 -90
  22. package/cli/commands/preview/coordinates.ts +0 -146
  23. package/cli/commands/preview/endpoints.d.ts +0 -10
  24. package/cli/commands/preview/endpoints.js +0 -455
  25. package/cli/commands/preview/endpoints.ts +0 -568
  26. package/cli/commands/preview/eth.d.ts +0 -2
  27. package/cli/commands/preview/eth.js +0 -6
  28. package/cli/commands/preview/eth.ts +0 -3
  29. package/cli/commands/preview/index.d.ts +0 -20
  30. package/cli/commands/preview/index.js +0 -100
  31. package/cli/commands/preview/index.ts +0 -98
  32. package/cli/commands/preview/port.d.ts +0 -1
  33. package/cli/commands/preview/port.js +0 -21
  34. package/cli/commands/preview/port.ts +0 -15
  35. package/cli/commands/preview/project.d.ts +0 -14
  36. package/cli/commands/preview/project.js +0 -77
  37. package/cli/commands/preview/project.ts +0 -112
  38. package/cli/commands/preview/types.d.ts +0 -18
  39. package/cli/commands/preview/types.js +0 -3
  40. package/cli/commands/preview/types.ts +0 -26
  41. package/cli/commands/preview/wire.d.ts +0 -2
  42. package/cli/commands/preview/wire.js +0 -66
  43. package/cli/commands/preview/wire.ts +0 -70
  44. package/cli/commands/preview/ws.d.ts +0 -7
  45. package/cli/commands/preview/ws.js +0 -16
  46. package/cli/commands/preview/ws.ts +0 -24
  47. package/cli/commands/start/index.d.ts +0 -29
  48. package/cli/commands/start/index.js +0 -126
  49. package/cli/commands/start/index.ts +0 -145
  50. package/cli/components/fetch.d.ts +0 -5
  51. package/cli/components/fetch.js +0 -34
  52. package/cli/components/fetch.ts +0 -11
  53. package/cli/components/fs.d.ts +0 -12
  54. package/cli/components/fs.js +0 -69
  55. package/cli/components/fs.ts +0 -62
  56. package/cli/components/index.d.ts +0 -7
  57. package/cli/components/index.js +0 -13
  58. package/cli/components/index.ts +0 -14
  59. package/cli/index.d.ts +0 -7
  60. package/cli/index.js +0 -76
  61. package/cli/index.ts +0 -85
  62. package/cli/utils/args.d.ts +0 -10
  63. package/cli/utils/args.js +0 -16
  64. package/cli/utils/args.ts +0 -18
  65. package/cli/utils/commands.d.ts +0 -3
  66. package/cli/utils/commands.js +0 -24
  67. package/cli/utils/commands.ts +0 -28
  68. package/cli/utils/dcl-ignore.d.ts +0 -4
  69. package/cli/utils/dcl-ignore.js +0 -44
  70. package/cli/utils/dcl-ignore.ts +0 -45
  71. package/cli/utils/error.d.ts +0 -2
  72. package/cli/utils/error.js +0 -7
  73. package/cli/utils/error.ts +0 -1
  74. package/cli/utils/exec.d.ts +0 -8
  75. package/cli/utils/exec.js +0 -32
  76. package/cli/utils/exec.ts +0 -42
  77. package/cli/utils/fs.d.ts +0 -10
  78. package/cli/utils/fs.js +0 -26
  79. package/cli/utils/fs.ts +0 -41
  80. package/cli/utils/log.d.ts +0 -5
  81. package/cli/utils/log.js +0 -29
  82. package/cli/utils/log.ts +0 -39
  83. package/cli/utils/object.d.ts +0 -9
  84. package/cli/utils/object.js +0 -45
  85. package/cli/utils/object.ts +0 -62
  86. package/cli/utils/out-messages.d.ts +0 -1
  87. package/cli/utils/out-messages.js +0 -8
  88. package/cli/utils/out-messages.ts +0 -3
@@ -1,70 +0,0 @@
1
- import path from 'path'
2
- import chokidar from 'chokidar'
3
- import { sdk } from '@dcl/schemas'
4
- import { WebSocket } from 'ws'
5
- import { setupBffAndComms } from './bff'
6
- import { Router } from '@well-known-components/http-server'
7
- import { setupEcs6Endpoints } from './endpoints'
8
- import { PreviewComponents } from './types'
9
- import { upgradeWebSocketResponse } from '@well-known-components/http-server/dist/ws'
10
- import { getDCLIgnorePatterns } from '../../utils/dcl-ignore'
11
-
12
- export async function wire(components: PreviewComponents, dir: string, watch: boolean = false) {
13
- const router = new Router<PreviewComponents>()
14
-
15
- const sceneUpdateClients = new Set<WebSocket>()
16
-
17
- router.get('/', async (ctx, next) => {
18
- if (ctx.request.headers.get('upgrade') === 'websocket') {
19
- return upgradeWebSocketResponse((ws) => initWsConnection(ws as any as WebSocket, sceneUpdateClients))
20
- }
21
-
22
- return next()
23
- })
24
-
25
- setupBffAndComms(components, router)
26
- setupEcs6Endpoints(components, dir, router)
27
-
28
- components.server.setContext(components)
29
- components.server.use(router.allowedMethods())
30
- components.server.use(router.middleware())
31
-
32
- if (watch) {
33
- const { clients } = components.ws.ws
34
- const ignored = await getDCLIgnorePatterns(components, dir)
35
-
36
- chokidar
37
- .watch(path.resolve(dir), {
38
- ignored,
39
- ignoreInitial: false,
40
- cwd: dir
41
- })
42
- .on('all', async (_, _file) => {
43
- // TODO: accumulate changes in an array and debounce
44
- return updateScene(dir, clients)
45
- })
46
- }
47
- }
48
-
49
- const initWsConnection = (ws: WebSocket, clients: Set<WebSocket>) => {
50
- if (ws.readyState === ws.OPEN) {
51
- clients.add(ws)
52
- } else {
53
- ws.on('open', () => clients.add(ws))
54
- }
55
- ws.on('close', () => clients.delete(ws))
56
- }
57
-
58
- const updateScene = (dir: string, clients: Set<WebSocket>): void => {
59
- for (const client of clients) {
60
- if (client.readyState === WebSocket.OPEN) {
61
- const message: sdk.SceneUpdate = {
62
- type: sdk.SCENE_UPDATE,
63
- payload: { sceneId: 'b64-' + Buffer.from(dir).toString('base64'), sceneType: sdk.ProjectType.SCENE }
64
- }
65
-
66
- client.send(sdk.UPDATE)
67
- client.send(JSON.stringify(message))
68
- }
69
- }
70
- }
@@ -1,7 +0,0 @@
1
- import { WebSocketServer } from 'ws';
2
- import { PreviewComponents } from './types';
3
- import { IBaseComponent } from '@well-known-components/interfaces';
4
- export type WebSocketComponent = IBaseComponent & {
5
- ws: WebSocketServer;
6
- };
7
- export declare function createWsComponent(_: Pick<PreviewComponents, 'logs'>): Promise<WebSocketComponent>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createWsComponent = void 0;
4
- const ws_1 = require("ws");
5
- async function createWsComponent(_) {
6
- const ws = new ws_1.WebSocketServer({ noServer: true });
7
- async function stop() {
8
- ws.close();
9
- }
10
- return {
11
- stop,
12
- ws
13
- };
14
- }
15
- exports.createWsComponent = createWsComponent;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBb0M7QUFZN0IsS0FBSyxVQUFVLGlCQUFpQixDQUFDLENBQWtDO0lBQ3hFLE1BQU0sRUFBRSxHQUFHLElBQUksb0JBQWUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRWxELEtBQUssVUFBVSxJQUFJO1FBQ2pCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNaLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSTtRQUNKLEVBQUU7S0FDSCxDQUFBO0FBQ0gsQ0FBQztBQVhELDhDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ViU29ja2V0U2VydmVyIH0gZnJvbSAnd3MnXG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50cyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBJQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B3ZWxsLWtub3duLWNvbXBvbmVudHMvaW50ZXJmYWNlcydcblxuZXhwb3J0IHR5cGUgV2ViU29ja2V0Q29tcG9uZW50ID0gSUJhc2VDb21wb25lbnQgJiB7XG4gIHdzOiBXZWJTb2NrZXRTZXJ2ZXJcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgd3Mtc2VydmVyIGNvbXBvbmVudFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlV3NDb21wb25lbnQoXzogUGljazxQcmV2aWV3Q29tcG9uZW50cywgJ2xvZ3MnPik6IFByb21pc2U8V2ViU29ja2V0Q29tcG9uZW50PiB7XG4gIGNvbnN0IHdzID0gbmV3IFdlYlNvY2tldFNlcnZlcih7IG5vU2VydmVyOiB0cnVlIH0pXG5cbiAgYXN5bmMgZnVuY3Rpb24gc3RvcCgpIHtcbiAgICB3cy5jbG9zZSgpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHN0b3AsXG4gICAgd3NcbiAgfVxufVxuIl19
@@ -1,24 +0,0 @@
1
- import { WebSocketServer } from 'ws'
2
- import { PreviewComponents } from './types'
3
- import { IBaseComponent } from '@well-known-components/interfaces'
4
-
5
- export type WebSocketComponent = IBaseComponent & {
6
- ws: WebSocketServer
7
- }
8
-
9
- /**
10
- * Creates a ws-server component
11
- * @public
12
- */
13
- export async function createWsComponent(_: Pick<PreviewComponents, 'logs'>): Promise<WebSocketComponent> {
14
- const ws = new WebSocketServer({ noServer: true })
15
-
16
- async function stop() {
17
- ws.close()
18
- }
19
-
20
- return {
21
- stop,
22
- ws
23
- }
24
- }
@@ -1,29 +0,0 @@
1
- import { CliComponents } from '../../components';
2
- interface Options {
3
- args: typeof args;
4
- components: Pick<CliComponents, 'fetch' | 'fs'>;
5
- }
6
- export declare const args: import("arg").Result<{
7
- '--help': BooleanConstructor;
8
- '-h': string;
9
- } & {
10
- '--dir': StringConstructor;
11
- '--help': BooleanConstructor;
12
- '--port': StringConstructor;
13
- '--no-debug': BooleanConstructor;
14
- '--no-browser': BooleanConstructor;
15
- '--no-watch': BooleanConstructor;
16
- '--ci': BooleanConstructor;
17
- '--skip-install': BooleanConstructor;
18
- '--web3': BooleanConstructor;
19
- '-h': string;
20
- '-p': string;
21
- '-d': string;
22
- '-b': string;
23
- '-w': string;
24
- '--skip-build': BooleanConstructor;
25
- '--desktop-client': BooleanConstructor;
26
- }>;
27
- export declare function help(): string;
28
- export declare function main(options: Options): Promise<void>;
29
- export {};
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.main = exports.help = exports.args = void 0;
7
- const os_1 = __importDefault(require("os"));
8
- const path_1 = require("path");
9
- const open_1 = __importDefault(require("open"));
10
- const build_1 = require("../build");
11
- const preview_1 = require("../preview");
12
- const port_1 = require("../preview/port");
13
- const args_1 = require("../../utils/args");
14
- const helpers_1 = require("../build/helpers");
15
- exports.args = (0, args_1.getArgs)({
16
- '--dir': String,
17
- '--help': Boolean,
18
- '--port': String,
19
- '--no-debug': Boolean,
20
- '--no-browser': Boolean,
21
- '--no-watch': Boolean,
22
- '--ci': Boolean,
23
- '--skip-install': Boolean,
24
- '--web3': Boolean,
25
- '-h': '--help',
26
- '-p': '--port',
27
- '-d': '--no-debug',
28
- '-b': '--no-browser',
29
- '-w': '--no-watch',
30
- '--skip-build': Boolean,
31
- '--desktop-client': Boolean
32
- });
33
- function help() {
34
- return `
35
- Usage: dcl start [options]
36
-
37
- Options:
38
-
39
- -h, --help Displays complete help
40
- -p, --port [port] Select a custom port for the development server
41
- -d, --no-debug Disable debugging panel
42
- -b, --no-browser Do not open a new browser window
43
- -w, --no-watch Do not open watch for filesystem changes
44
- -c, --ci Run the parcel previewer on a remote unix server
45
- --web3 Connects preview to browser wallet to use the associated avatar and account
46
- --skip-build Skip build and only serve the files in preview mode
47
- --desktop-client Show URL to launch preview in the desktop client (BETA)
48
-
49
- Examples:
50
-
51
- - Start a local development server for a Decentraland Scene at port 3500
52
-
53
- $ dcl start -p 3500
54
-
55
- - Start a local development server for a Decentraland Scene at a docker container
56
-
57
- $ dcl start --ci
58
- `;
59
- }
60
- exports.help = help;
61
- async function main(options) {
62
- const dir = (0, path_1.resolve)(process.cwd(), options.args['--dir'] || '.');
63
- const isCi = exports.args['--ci'] || process.env.CI || false;
64
- const debug = !exports.args['--no-debug'] && !isCi;
65
- const openBrowser = !exports.args['--no-browser'] && !isCi;
66
- const skipBuild = exports.args['--skip-build'];
67
- const watch = !exports.args['--no-watch'];
68
- const enableWeb3 = exports.args['--web3'];
69
- const port = parseInt(exports.args['--port'], 10) || (await (0, port_1.previewPort)());
70
- const baseCoords = { x: 0, y: 0 };
71
- const hasPortableExperience = false;
72
- const comps = { components: options.components };
73
- if (!skipBuild) {
74
- await (0, helpers_1.npmRun)(dir, 'build');
75
- }
76
- if (watch) {
77
- await (0, build_1.main)(Object.assign({ args: { '--dir': dir, '--watch': watch } }, comps));
78
- }
79
- const server = await (0, preview_1.main)(Object.assign({ args: { '--dir': dir, '--port': port, '--watch': watch } }, comps));
80
- const networkInterfaces = os_1.default.networkInterfaces();
81
- const availableURLs = [];
82
- console.log(`\nPreview server is now running!`);
83
- console.log('Available on:\n');
84
- Object.keys(networkInterfaces).forEach((dev) => {
85
- ;
86
- (networkInterfaces[dev] || []).forEach((details) => {
87
- if (details.family === 'IPv4') {
88
- let addr = `http://${details.address}:${port}?position=${baseCoords.x}%2C${baseCoords.y}&ENABLE_ECS7`;
89
- if (debug) {
90
- addr = `${addr}&SCENE_DEBUG_PANEL`;
91
- }
92
- if (enableWeb3 || hasPortableExperience) {
93
- addr = `${addr}&ENABLE_WEB3`;
94
- }
95
- availableURLs.push(addr);
96
- }
97
- });
98
- });
99
- const sortedURLs = availableURLs.sort((a, _b) => {
100
- return a.toLowerCase().includes('localhost') || a.includes('127.0.0.1') || a.includes('0.0.0.0') ? -1 : 1;
101
- });
102
- for (const addr of sortedURLs) {
103
- console.log(` ${addr}`);
104
- }
105
- if (exports.args['--desktop-client']) {
106
- console.log('\n Desktop client:\n');
107
- for (const addr of sortedURLs) {
108
- const searchParams = new URLSearchParams();
109
- searchParams.append('PREVIEW-MODE', addr);
110
- console.log(` dcl://${searchParams.toString()}&`);
111
- }
112
- }
113
- console.log('\n Details:\n');
114
- console.log('\nPress CTRL+C to exit\n');
115
- if (openBrowser && sortedURLs.length && !exports.args['--desktop-client']) {
116
- try {
117
- await (0, open_1.default)(sortedURLs[0]);
118
- }
119
- catch (_) {
120
- console.log('Unable to open browser automatically.');
121
- }
122
- }
123
- await server.components.signaler.programClosed;
124
- }
125
- exports.main = main;
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBbUI7QUFDbkIsK0JBQThCO0FBQzlCLGdEQUF1QjtBQUd2QixvQ0FBd0M7QUFDeEMsd0NBQTRDO0FBQzVDLDBDQUE2QztBQUM3QywyQ0FBMEM7QUFDMUMsOENBQXlDO0FBTzVCLFFBQUEsSUFBSSxHQUFHLElBQUEsY0FBTyxFQUFDO0lBQzFCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsUUFBUSxFQUFFLE9BQU87SUFDakIsUUFBUSxFQUFFLE1BQU07SUFDaEIsWUFBWSxFQUFFLE9BQU87SUFDckIsY0FBYyxFQUFFLE9BQU87SUFDdkIsWUFBWSxFQUFFLE9BQU87SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsY0FBYztJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUNsQixjQUFjLEVBQUUsT0FBTztJQUN2QixrQkFBa0IsRUFBRSxPQUFPO0NBQzVCLENBQUMsQ0FBQTtBQUVGLFNBQWdCLElBQUk7SUFDbEIsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JSLENBQUE7QUFDRCxDQUFDO0FBMUJELG9CQTBCQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQUMsT0FBZ0I7SUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBQSxjQUFPLEVBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUE7SUFDaEUsTUFBTSxJQUFJLEdBQUcsWUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0csQ0FBQyxDQUFDLENBQUE7SUFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQTtLQUMzQjtJQUVELElBQUksWUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO1lBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7WUFDMUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7U0FDckQ7S0FDRjtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFHdkMsSUFBSSxXQUFXLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQ2pFLElBQUk7WUFDRixNQUFNLElBQUEsY0FBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQzFCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxDQUFDLENBQUE7U0FDckQ7S0FDRjtJQUdELE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFBO0FBQ2hELENBQUM7QUFqRkQsb0JBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9zIGZyb20gJ29zJ1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnXG5pbXBvcnQgb3BlbiBmcm9tICdvcGVuJ1xuXG5pbXBvcnQgeyBDbGlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cydcbmltcG9ydCB7IG1haW4gYXMgYnVpbGQgfSBmcm9tICcuLi9idWlsZCdcbmltcG9ydCB7IG1haW4gYXMgcHJldmlldyB9IGZyb20gJy4uL3ByZXZpZXcnXG5pbXBvcnQgeyBwcmV2aWV3UG9ydCB9IGZyb20gJy4uL3ByZXZpZXcvcG9ydCdcbmltcG9ydCB7IGdldEFyZ3MgfSBmcm9tICcuLi8uLi91dGlscy9hcmdzJ1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnLi4vYnVpbGQvaGVscGVycydcblxuaW50ZXJmYWNlIE9wdGlvbnMge1xuICBhcmdzOiB0eXBlb2YgYXJnc1xuICBjb21wb25lbnRzOiBQaWNrPENsaUNvbXBvbmVudHMsICdmZXRjaCcgfCAnZnMnPlxufVxuXG5leHBvcnQgY29uc3QgYXJncyA9IGdldEFyZ3Moe1xuICAnLS1kaXInOiBTdHJpbmcsXG4gICctLWhlbHAnOiBCb29sZWFuLFxuICAnLS1wb3J0JzogU3RyaW5nLFxuICAnLS1uby1kZWJ1Zyc6IEJvb2xlYW4sXG4gICctLW5vLWJyb3dzZXInOiBCb29sZWFuLFxuICAnLS1uby13YXRjaCc6IEJvb2xlYW4sXG4gICctLWNpJzogQm9vbGVhbixcbiAgJy0tc2tpcC1pbnN0YWxsJzogQm9vbGVhbixcbiAgJy0td2ViMyc6IEJvb2xlYW4sXG4gICctaCc6ICctLWhlbHAnLFxuICAnLXAnOiAnLS1wb3J0JyxcbiAgJy1kJzogJy0tbm8tZGVidWcnLFxuICAnLWInOiAnLS1uby1icm93c2VyJyxcbiAgJy13JzogJy0tbm8td2F0Y2gnLFxuICAnLS1za2lwLWJ1aWxkJzogQm9vbGVhbixcbiAgJy0tZGVza3RvcC1jbGllbnQnOiBCb29sZWFuXG59KVxuXG5leHBvcnQgZnVuY3Rpb24gaGVscCgpIHtcbiAgcmV0dXJuIGBcbiAgVXNhZ2U6IGRjbCBzdGFydCBbb3B0aW9uc11cblxuICAgIE9wdGlvbnM6XG5cbiAgICAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgRGlzcGxheXMgY29tcGxldGUgaGVscFxuICAgICAgLXAsIC0tcG9ydCAgICAgICAgW3BvcnRdICBTZWxlY3QgYSBjdXN0b20gcG9ydCBmb3IgdGhlIGRldmVsb3BtZW50IHNlcnZlclxuICAgICAgLWQsIC0tbm8tZGVidWcgICAgICAgICAgICBEaXNhYmxlIGRlYnVnZ2luZyBwYW5lbFxuICAgICAgLWIsIC0tbm8tYnJvd3NlciAgICAgICAgICBEbyBub3Qgb3BlbiBhIG5ldyBicm93c2VyIHdpbmRvd1xuICAgICAgLXcsIC0tbm8td2F0Y2ggICAgICAgICAgICBEbyBub3Qgb3BlbiB3YXRjaCBmb3IgZmlsZXN5c3RlbSBjaGFuZ2VzXG4gICAgICAtYywgLS1jaSAgICAgICAgICAgICAgICAgIFJ1biB0aGUgcGFyY2VsIHByZXZpZXdlciBvbiBhIHJlbW90ZSB1bml4IHNlcnZlclxuICAgICAgLS13ZWIzICAgICAgICAgICAgICAgICAgICBDb25uZWN0cyBwcmV2aWV3IHRvIGJyb3dzZXIgd2FsbGV0IHRvIHVzZSB0aGUgYXNzb2NpYXRlZCBhdmF0YXIgYW5kIGFjY291bnRcbiAgICAgIC0tc2tpcC1idWlsZCAgICAgICAgICAgICAgU2tpcCBidWlsZCBhbmQgb25seSBzZXJ2ZSB0aGUgZmlsZXMgaW4gcHJldmlldyBtb2RlXG4gICAgICAtLWRlc2t0b3AtY2xpZW50ICAgICAgICAgIFNob3cgVVJMIHRvIGxhdW5jaCBwcmV2aWV3IGluIHRoZSBkZXNrdG9wIGNsaWVudCAoQkVUQSlcblxuICAgIEV4YW1wbGVzOlxuXG4gICAgLSBTdGFydCBhIGxvY2FsIGRldmVsb3BtZW50IHNlcnZlciBmb3IgYSBEZWNlbnRyYWxhbmQgU2NlbmUgYXQgcG9ydCAzNTAwXG5cbiAgICAgICQgZGNsIHN0YXJ0IC1wIDM1MDBcblxuICAgIC0gU3RhcnQgYSBsb2NhbCBkZXZlbG9wbWVudCBzZXJ2ZXIgZm9yIGEgRGVjZW50cmFsYW5kIFNjZW5lIGF0IGEgZG9ja2VyIGNvbnRhaW5lclxuXG4gICAgICAkIGRjbCBzdGFydCAtLWNpXG5gXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWluKG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgY29uc3QgZGlyID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBvcHRpb25zLmFyZ3NbJy0tZGlyJ10gfHwgJy4nKVxuICBjb25zdCBpc0NpID0gYXJnc1snLS1jaSddIHx8IHByb2Nlc3MuZW52LkNJIHx8IGZhbHNlXG4gIGNvbnN0IGRlYnVnID0gIWFyZ3NbJy0tbm8tZGVidWcnXSAmJiAhaXNDaVxuICBjb25zdCBvcGVuQnJvd3NlciA9ICFhcmdzWyctLW5vLWJyb3dzZXInXSAmJiAhaXNDaVxuICBjb25zdCBza2lwQnVpbGQgPSBhcmdzWyctLXNraXAtYnVpbGQnXVxuICBjb25zdCB3YXRjaCA9ICFhcmdzWyctLW5vLXdhdGNoJ11cbiAgY29uc3QgZW5hYmxlV2ViMyA9IGFyZ3NbJy0td2ViMyddXG4gIGNvbnN0IHBvcnQgPSBwYXJzZUludChhcmdzWyctLXBvcnQnXSEsIDEwKSB8fCAoYXdhaXQgcHJldmlld1BvcnQoKSlcbiAgY29uc3QgYmFzZUNvb3JkcyA9IHsgeDogMCwgeTogMCB9XG4gIGNvbnN0IGhhc1BvcnRhYmxlRXhwZXJpZW5jZSA9IGZhbHNlXG5cbiAgY29uc3QgY29tcHMgPSB7IGNvbXBvbmVudHM6IG9wdGlvbnMuY29tcG9uZW50cyB9XG5cbiAgLy8gZmlyc3QgcnVuIGBucG0gcnVuIGJ1aWxkYCwgdGhpcyBjYW4gYmUgZGlzYWJsZWQgd2l0aCAtLXNraXAtYnVpbGRcbiAgaWYgKCFza2lwQnVpbGQpIHtcbiAgICBhd2FpdCBucG1SdW4oZGlyLCAnYnVpbGQnKVxuICB9XG5cbiAgLy8gdGhlbiBzdGFydCB0aGUgZW1iZWRkZWQgY29tcGlsZXIsIHRoaXMgY2FuIGJlIGRpc2FibGVkIHdpdGggLS1uby13YXRjaFxuICBpZiAod2F0Y2gpIHtcbiAgICBhd2FpdCBidWlsZCh7IGFyZ3M6IHsgJy0tZGlyJzogZGlyLCAnLS13YXRjaCc6IHdhdGNoIH0sIC4uLmNvbXBzIH0pXG4gIH1cblxuICAvLyBhZnRlciB0aGUgd2F0Y2hlciBpcyBydW5uaW5nLCBzdGFydCB0aGUgc2VydmVyXG4gIGNvbnN0IHNlcnZlciA9IGF3YWl0IHByZXZpZXcoeyBhcmdzOiB7ICctLWRpcic6IGRpciwgJy0tcG9ydCc6IHBvcnQsICctLXdhdGNoJzogd2F0Y2ggfSwgLi4uY29tcHMgfSlcblxuICBjb25zdCBuZXR3b3JrSW50ZXJmYWNlcyA9IG9zLm5ldHdvcmtJbnRlcmZhY2VzKClcbiAgY29uc3QgYXZhaWxhYmxlVVJMczogc3RyaW5nW10gPSBbXVxuXG4gIGNvbnNvbGUubG9nKGBcXG5QcmV2aWV3IHNlcnZlciBpcyBub3cgcnVubmluZyFgKVxuICBjb25zb2xlLmxvZygnQXZhaWxhYmxlIG9uOlxcbicpXG5cbiAgT2JqZWN0LmtleXMobmV0d29ya0ludGVyZmFjZXMpLmZvckVhY2goKGRldikgPT4ge1xuICAgIDsobmV0d29ya0ludGVyZmFjZXNbZGV2XSB8fCBbXSkuZm9yRWFjaCgoZGV0YWlscykgPT4ge1xuICAgICAgaWYgKGRldGFpbHMuZmFtaWx5ID09PSAnSVB2NCcpIHtcbiAgICAgICAgbGV0IGFkZHIgPSBgaHR0cDovLyR7ZGV0YWlscy5hZGRyZXNzfToke3BvcnR9P3Bvc2l0aW9uPSR7YmFzZUNvb3Jkcy54fSUyQyR7YmFzZUNvb3Jkcy55fSZFTkFCTEVfRUNTN2BcbiAgICAgICAgaWYgKGRlYnVnKSB7XG4gICAgICAgICAgYWRkciA9IGAke2FkZHJ9JlNDRU5FX0RFQlVHX1BBTkVMYFxuICAgICAgICB9XG4gICAgICAgIGlmIChlbmFibGVXZWIzIHx8IGhhc1BvcnRhYmxlRXhwZXJpZW5jZSkge1xuICAgICAgICAgIGFkZHIgPSBgJHthZGRyfSZFTkFCTEVfV0VCM2BcbiAgICAgICAgfVxuXG4gICAgICAgIGF2YWlsYWJsZVVSTHMucHVzaChhZGRyKVxuICAgICAgfVxuICAgIH0pXG4gIH0pXG5cbiAgLy8gUHVzaCBsb2NhbGhvc3QgYW5kIDEyNy4wLjAuMSBhdCB0b3BcbiAgY29uc3Qgc29ydGVkVVJMcyA9IGF2YWlsYWJsZVVSTHMuc29ydCgoYSwgX2IpID0+IHtcbiAgICByZXR1cm4gYS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdsb2NhbGhvc3QnKSB8fCBhLmluY2x1ZGVzKCcxMjcuMC4wLjEnKSB8fCBhLmluY2x1ZGVzKCcwLjAuMC4wJykgPyAtMSA6IDFcbiAgfSlcblxuICBmb3IgKGNvbnN0IGFkZHIgb2Ygc29ydGVkVVJMcykge1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHthZGRyfWApXG4gIH1cblxuICBpZiAoYXJnc1snLS1kZXNrdG9wLWNsaWVudCddKSB7XG4gICAgY29uc29sZS5sb2coJ1xcbiAgRGVza3RvcCBjbGllbnQ6XFxuJylcbiAgICBmb3IgKGNvbnN0IGFkZHIgb2Ygc29ydGVkVVJMcykge1xuICAgICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKCdQUkVWSUVXLU1PREUnLCBhZGRyKVxuICAgICAgY29uc29sZS5sb2coYCAgICBkY2w6Ly8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfSZgKVxuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdcXG4gIERldGFpbHM6XFxuJylcbiAgY29uc29sZS5sb2coJ1xcblByZXNzIENUUkwrQyB0byBleGl0XFxuJylcblxuICAvLyBPcGVuIHByZWZlcmFibHkgbG9jYWxob3N0LzEyNy4wLjAuMVxuICBpZiAob3BlbkJyb3dzZXIgJiYgc29ydGVkVVJMcy5sZW5ndGggJiYgIWFyZ3NbJy0tZGVza3RvcC1jbGllbnQnXSkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcGVuKHNvcnRlZFVSTHNbMF0pXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgY29uc29sZS5sb2coJ1VuYWJsZSB0byBvcGVuIGJyb3dzZXIgYXV0b21hdGljYWxseS4nKVxuICAgIH1cbiAgfVxuXG4gIC8vIHRoaXMgc2lnbmFsIGlzIHJlc29sdmVkIGJ5OiAod2tjKXByb2dyYW0uc3RvcCgpLCBTSUdURVJNLCBTSUdIVVBcbiAgYXdhaXQgc2VydmVyLmNvbXBvbmVudHMuc2lnbmFsZXIucHJvZ3JhbUNsb3NlZFxufVxuIl19
@@ -1,145 +0,0 @@
1
- import os from 'os'
2
- import { resolve } from 'path'
3
- import open from 'open'
4
-
5
- import { CliComponents } from '../../components'
6
- import { main as build } from '../build'
7
- import { main as preview } from '../preview'
8
- import { previewPort } from '../preview/port'
9
- import { getArgs } from '../../utils/args'
10
- import { npmRun } from '../build/helpers'
11
-
12
- interface Options {
13
- args: typeof args
14
- components: Pick<CliComponents, 'fetch' | 'fs'>
15
- }
16
-
17
- export const args = getArgs({
18
- '--dir': String,
19
- '--help': Boolean,
20
- '--port': String,
21
- '--no-debug': Boolean,
22
- '--no-browser': Boolean,
23
- '--no-watch': Boolean,
24
- '--ci': Boolean,
25
- '--skip-install': Boolean,
26
- '--web3': Boolean,
27
- '-h': '--help',
28
- '-p': '--port',
29
- '-d': '--no-debug',
30
- '-b': '--no-browser',
31
- '-w': '--no-watch',
32
- '--skip-build': Boolean,
33
- '--desktop-client': Boolean
34
- })
35
-
36
- export function help() {
37
- return `
38
- Usage: dcl start [options]
39
-
40
- Options:
41
-
42
- -h, --help Displays complete help
43
- -p, --port [port] Select a custom port for the development server
44
- -d, --no-debug Disable debugging panel
45
- -b, --no-browser Do not open a new browser window
46
- -w, --no-watch Do not open watch for filesystem changes
47
- -c, --ci Run the parcel previewer on a remote unix server
48
- --web3 Connects preview to browser wallet to use the associated avatar and account
49
- --skip-build Skip build and only serve the files in preview mode
50
- --desktop-client Show URL to launch preview in the desktop client (BETA)
51
-
52
- Examples:
53
-
54
- - Start a local development server for a Decentraland Scene at port 3500
55
-
56
- $ dcl start -p 3500
57
-
58
- - Start a local development server for a Decentraland Scene at a docker container
59
-
60
- $ dcl start --ci
61
- `
62
- }
63
-
64
- export async function main(options: Options) {
65
- const dir = resolve(process.cwd(), options.args['--dir'] || '.')
66
- const isCi = args['--ci'] || process.env.CI || false
67
- const debug = !args['--no-debug'] && !isCi
68
- const openBrowser = !args['--no-browser'] && !isCi
69
- const skipBuild = args['--skip-build']
70
- const watch = !args['--no-watch']
71
- const enableWeb3 = args['--web3']
72
- const port = parseInt(args['--port']!, 10) || (await previewPort())
73
- const baseCoords = { x: 0, y: 0 }
74
- const hasPortableExperience = false
75
-
76
- const comps = { components: options.components }
77
-
78
- // first run `npm run build`, this can be disabled with --skip-build
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) {
85
- await build({ args: { '--dir': dir, '--watch': watch }, ...comps })
86
- }
87
-
88
- // after the watcher is running, start the server
89
- const server = await preview({ args: { '--dir': dir, '--port': port, '--watch': watch }, ...comps })
90
-
91
- const networkInterfaces = os.networkInterfaces()
92
- const availableURLs: string[] = []
93
-
94
- console.log(`\nPreview server is now running!`)
95
- console.log('Available on:\n')
96
-
97
- Object.keys(networkInterfaces).forEach((dev) => {
98
- ;(networkInterfaces[dev] || []).forEach((details) => {
99
- if (details.family === 'IPv4') {
100
- let addr = `http://${details.address}:${port}?position=${baseCoords.x}%2C${baseCoords.y}&ENABLE_ECS7`
101
- if (debug) {
102
- addr = `${addr}&SCENE_DEBUG_PANEL`
103
- }
104
- if (enableWeb3 || hasPortableExperience) {
105
- addr = `${addr}&ENABLE_WEB3`
106
- }
107
-
108
- availableURLs.push(addr)
109
- }
110
- })
111
- })
112
-
113
- // Push localhost and 127.0.0.1 at top
114
- const sortedURLs = availableURLs.sort((a, _b) => {
115
- return a.toLowerCase().includes('localhost') || a.includes('127.0.0.1') || a.includes('0.0.0.0') ? -1 : 1
116
- })
117
-
118
- for (const addr of sortedURLs) {
119
- console.log(` ${addr}`)
120
- }
121
-
122
- if (args['--desktop-client']) {
123
- console.log('\n Desktop client:\n')
124
- for (const addr of sortedURLs) {
125
- const searchParams = new URLSearchParams()
126
- searchParams.append('PREVIEW-MODE', addr)
127
- console.log(` dcl://${searchParams.toString()}&`)
128
- }
129
- }
130
-
131
- console.log('\n Details:\n')
132
- console.log('\nPress CTRL+C to exit\n')
133
-
134
- // Open preferably localhost/127.0.0.1
135
- if (openBrowser && sortedURLs.length && !args['--desktop-client']) {
136
- try {
137
- await open(sortedURLs[0])
138
- } catch (_) {
139
- console.log('Unable to open browser automatically.')
140
- }
141
- }
142
-
143
- // this signal is resolved by: (wkc)program.stop(), SIGTERM, SIGHUP
144
- await server.components.signaler.programClosed
145
- }
@@ -1,5 +0,0 @@
1
- import * as undici from 'undici';
2
- export type IFetchComponent = {
3
- fetch(url: string, init?: undici.RequestInit): Promise<undici.Response>;
4
- };
5
- export declare function createFetchComponent(): IFetchComponent;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createFetchComponent = void 0;
27
- const undici = __importStar(require("undici"));
28
- function createFetchComponent() {
29
- return {
30
- fetch: undici.fetch
31
- };
32
- }
33
- exports.createFetchComponent = createFetchComponent;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFnQztBQU1oQyxTQUFnQixvQkFBb0I7SUFDbEMsT0FBTztRQUNMLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztLQUNwQixDQUFBO0FBQ0gsQ0FBQztBQUpELG9EQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdW5kaWNpIGZyb20gJ3VuZGljaSdcblxuZXhwb3J0IHR5cGUgSUZldGNoQ29tcG9uZW50ID0ge1xuICBmZXRjaCh1cmw6IHN0cmluZywgaW5pdD86IHVuZGljaS5SZXF1ZXN0SW5pdCk6IFByb21pc2U8dW5kaWNpLlJlc3BvbnNlPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRmV0Y2hDb21wb25lbnQoKTogSUZldGNoQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICBmZXRjaDogdW5kaWNpLmZldGNoXG4gIH1cbn1cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import * as undici from 'undici'
2
-
3
- export type IFetchComponent = {
4
- fetch(url: string, init?: undici.RequestInit): Promise<undici.Response>
5
- }
6
-
7
- export function createFetchComponent(): IFetchComponent {
8
- return {
9
- fetch: undici.fetch
10
- }
11
- }
@@ -1,12 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import * as fs from 'fs';
4
- import * as fsPromises from 'fs/promises';
5
- export type IFileSystemComponent = Pick<typeof fs, 'createReadStream'> & Pick<typeof fs, 'createWriteStream'> & Pick<typeof fsPromises, 'access' | 'opendir' | 'stat' | 'unlink' | 'mkdir' | 'readFile' | 'writeFile' | 'rename' | 'rmdir'> & {
6
- constants: Pick<typeof fs.constants, 'F_OK' | 'R_OK'>;
7
- } & {
8
- fileExists(path: string): Promise<boolean>;
9
- directoryExists(path: string): Promise<boolean>;
10
- readdir(path: string): Promise<string[]>;
11
- };
12
- export declare function createFsComponent(): IFileSystemComponent;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createFsComponent = void 0;
27
- const fs = __importStar(require("fs"));
28
- const fsPromises = __importStar(require("fs/promises"));
29
- async function fileExists(path) {
30
- try {
31
- await fs.promises.access(path, fs.constants.F_OK | fs.constants.R_OK);
32
- return true;
33
- }
34
- catch (error) {
35
- return false;
36
- }
37
- }
38
- async function directoryExists(path) {
39
- try {
40
- return (await fs.promises.lstat(path)).isDirectory();
41
- }
42
- catch (error) {
43
- return false;
44
- }
45
- }
46
- function createFsComponent() {
47
- return {
48
- createReadStream: fs.createReadStream,
49
- createWriteStream: fs.createWriteStream,
50
- access: fsPromises.access,
51
- writeFile: fsPromises.writeFile,
52
- opendir: fsPromises.opendir,
53
- stat: fsPromises.stat,
54
- unlink: fsPromises.unlink,
55
- mkdir: fsPromises.mkdir,
56
- rmdir: fsPromises.rmdir,
57
- readdir: fsPromises.readdir,
58
- readFile: fsPromises.readFile,
59
- constants: {
60
- F_OK: fs.constants.F_OK,
61
- R_OK: fs.constants.R_OK
62
- },
63
- rename: fsPromises.rename,
64
- fileExists,
65
- directoryExists
66
- };
67
- }
68
- exports.createFsComponent = createFsComponent;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QjtBQUN4Qix3REFBeUM7QUFvQnpDLEtBQUssVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNwQyxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyRSxPQUFPLElBQUksQ0FBQTtLQUNaO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLEtBQUssQ0FBQTtLQUNiO0FBQ0gsQ0FBQztBQUNELEtBQUssVUFBVSxlQUFlLENBQUMsSUFBWTtJQUN6QyxJQUFJO1FBQ0YsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtLQUNyRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUE7S0FDYjtBQUNILENBQUM7QUFLRCxTQUFnQixpQkFBaUI7SUFDL0IsT0FBTztRQUNMLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0I7UUFDckMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQjtRQUN2QyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQy9CLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztRQUMzQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1FBQ3pCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztRQUN2QixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7UUFDdkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtRQUM3QixTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQ3ZCLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUk7U0FDeEI7UUFDRCxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsVUFBVTtRQUNWLGVBQWU7S0FDaEIsQ0FBQTtBQUNILENBQUM7QUFyQkQsOENBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBmc1Byb21pc2VzIGZyb20gJ2ZzL3Byb21pc2VzJ1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqXG4gKiBUaGlzIG1heSBiZSBtb3ZlZCB0byB3ZWxsLWtub3duLWNvbXBvbmVudHMgaW4gdGhlIGZ1dHVyZVxuICovXG5leHBvcnQgdHlwZSBJRmlsZVN5c3RlbUNvbXBvbmVudCA9IFBpY2s8dHlwZW9mIGZzLCAnY3JlYXRlUmVhZFN0cmVhbSc+ICZcbiAgUGljazx0eXBlb2YgZnMsICdjcmVhdGVXcml0ZVN0cmVhbSc+ICZcbiAgUGljazxcbiAgICB0eXBlb2YgZnNQcm9taXNlcyxcbiAgICAnYWNjZXNzJyB8ICdvcGVuZGlyJyB8ICdzdGF0JyB8ICd1bmxpbmsnIHwgJ21rZGlyJyB8ICdyZWFkRmlsZScgfCAnd3JpdGVGaWxlJyB8ICdyZW5hbWUnIHwgJ3JtZGlyJ1xuICA+ICYge1xuICAgIGNvbnN0YW50czogUGljazx0eXBlb2YgZnMuY29uc3RhbnRzLCAnRl9PSycgfCAnUl9PSyc+XG4gIH0gJiB7XG4gICAgZmlsZUV4aXN0cyhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+XG4gICAgZGlyZWN0b3J5RXhpc3RzKHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj5cbiAgICByZWFkZGlyKHBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+XG4gIH1cblxuYXN5bmMgZnVuY3Rpb24gZmlsZUV4aXN0cyhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy5wcm9taXNlcy5hY2Nlc3MocGF0aCwgZnMuY29uc3RhbnRzLkZfT0sgfCBmcy5jb25zdGFudHMuUl9PSylcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5hc3luYyBmdW5jdGlvbiBkaXJlY3RvcnlFeGlzdHMocGF0aDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIChhd2FpdCBmcy5wcm9taXNlcy5sc3RhdChwYXRoKSkuaXNEaXJlY3RvcnkoKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnNDb21wb25lbnQoKTogSUZpbGVTeXN0ZW1Db21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZVJlYWRTdHJlYW06IGZzLmNyZWF0ZVJlYWRTdHJlYW0sXG4gICAgY3JlYXRlV3JpdGVTdHJlYW06IGZzLmNyZWF0ZVdyaXRlU3RyZWFtLFxuICAgIGFjY2VzczogZnNQcm9taXNlcy5hY2Nlc3MsXG4gICAgd3JpdGVGaWxlOiBmc1Byb21pc2VzLndyaXRlRmlsZSxcbiAgICBvcGVuZGlyOiBmc1Byb21pc2VzLm9wZW5kaXIsXG4gICAgc3RhdDogZnNQcm9taXNlcy5zdGF0LFxuICAgIHVubGluazogZnNQcm9taXNlcy51bmxpbmssXG4gICAgbWtkaXI6IGZzUHJvbWlzZXMubWtkaXIsXG4gICAgcm1kaXI6IGZzUHJvbWlzZXMucm1kaXIsXG4gICAgcmVhZGRpcjogZnNQcm9taXNlcy5yZWFkZGlyLFxuICAgIHJlYWRGaWxlOiBmc1Byb21pc2VzLnJlYWRGaWxlLFxuICAgIGNvbnN0YW50czoge1xuICAgICAgRl9PSzogZnMuY29uc3RhbnRzLkZfT0ssXG4gICAgICBSX09LOiBmcy5jb25zdGFudHMuUl9PS1xuICAgIH0sXG4gICAgcmVuYW1lOiBmc1Byb21pc2VzLnJlbmFtZSxcbiAgICBmaWxlRXhpc3RzLFxuICAgIGRpcmVjdG9yeUV4aXN0c1xuICB9XG59XG4iXX0=
@@ -1,62 +0,0 @@
1
- import * as fs from 'fs'
2
- import * as fsPromises from 'fs/promises'
3
-
4
- /**
5
- * @public
6
- *
7
- * This may be moved to well-known-components in the future
8
- */
9
- export type IFileSystemComponent = Pick<typeof fs, 'createReadStream'> &
10
- Pick<typeof fs, 'createWriteStream'> &
11
- Pick<
12
- typeof fsPromises,
13
- 'access' | 'opendir' | 'stat' | 'unlink' | 'mkdir' | 'readFile' | 'writeFile' | 'rename' | 'rmdir'
14
- > & {
15
- constants: Pick<typeof fs.constants, 'F_OK' | 'R_OK'>
16
- } & {
17
- fileExists(path: string): Promise<boolean>
18
- directoryExists(path: string): Promise<boolean>
19
- readdir(path: string): Promise<string[]>
20
- }
21
-
22
- async function fileExists(path: string): Promise<boolean> {
23
- try {
24
- await fs.promises.access(path, fs.constants.F_OK | fs.constants.R_OK)
25
- return true
26
- } catch (error) {
27
- return false
28
- }
29
- }
30
- async function directoryExists(path: string): Promise<boolean> {
31
- try {
32
- return (await fs.promises.lstat(path)).isDirectory()
33
- } catch (error) {
34
- return false
35
- }
36
- }
37
-
38
- /**
39
- * @public
40
- */
41
- export function createFsComponent(): IFileSystemComponent {
42
- return {
43
- createReadStream: fs.createReadStream,
44
- createWriteStream: fs.createWriteStream,
45
- access: fsPromises.access,
46
- writeFile: fsPromises.writeFile,
47
- opendir: fsPromises.opendir,
48
- stat: fsPromises.stat,
49
- unlink: fsPromises.unlink,
50
- mkdir: fsPromises.mkdir,
51
- rmdir: fsPromises.rmdir,
52
- readdir: fsPromises.readdir,
53
- readFile: fsPromises.readFile,
54
- constants: {
55
- F_OK: fs.constants.F_OK,
56
- R_OK: fs.constants.R_OK
57
- },
58
- rename: fsPromises.rename,
59
- fileExists,
60
- directoryExists
61
- }
62
- }
@@ -1,7 +0,0 @@
1
- import { IFetchComponent } from './fetch';
2
- import { IFileSystemComponent } from './fs';
3
- export type CliComponents = {
4
- fs: IFileSystemComponent;
5
- fetch: IFetchComponent;
6
- };
7
- export declare function initComponents(): CliComponents;