@dcl/sdk 7.0.6-4197661608.commit-41efaad → 7.0.6-4197739270.commit-db87ed8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/commands/build/helpers.d.ts +2 -2
- package/cli/commands/build/helpers.js +4 -4
- package/cli/commands/build/helpers.ts +2 -2
- package/cli/commands/init/index.js +3 -5
- package/cli/commands/init/index.ts +2 -4
- package/cli/commands/preview/endpoints.d.ts +4 -4
- package/cli/commands/preview/endpoints.js +49 -79
- package/cli/commands/preview/endpoints.ts +106 -116
- package/cli/commands/preview/eth.js +2 -2
- package/cli/commands/preview/eth.ts +1 -1
- package/cli/commands/preview/index.js +32 -3
- package/cli/commands/preview/index.ts +9 -2
- package/cli/commands/preview/project.js +2 -2
- package/cli/commands/preview/project.ts +1 -1
- package/cli/commands/preview/wire.js +7 -33
- package/cli/commands/preview/wire.ts +8 -45
- package/cli/components/fs.d.ts +2 -1
- package/cli/components/fs.js +12 -3
- package/cli/components/fs.ts +12 -3
- package/cli/utils/dcl-ignore.d.ts +4 -0
- package/cli/utils/dcl-ignore.js +44 -0
- package/cli/utils/dcl-ignore.ts +45 -0
- package/package.json +13 -16
- package/cli/utils/prompt.d.ts +0 -1
- package/cli/utils/prompt.js +0 -17
- package/cli/utils/prompt.ts +0 -11
@@ -105,7 +105,7 @@ export async function validateExistingProject(components: { fs: IFileSystemCompo
|
|
105
105
|
throw new CliError(`Main scene format file (${sceneFile.main}) is not a supported format`)
|
106
106
|
}
|
107
107
|
|
108
|
-
if (sceneFile.main !== null && !(await components.fs.
|
108
|
+
if (sceneFile.main !== null && !(await components.fs.fileExists(resolve(dir, sceneFile.main)))) {
|
109
109
|
throw new CliError(`Main scene file ${sceneFile.main} is missing in folder ${dir}`)
|
110
110
|
}
|
111
111
|
}
|
@@ -5,22 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.wire = void 0;
|
7
7
|
const path_1 = __importDefault(require("path"));
|
8
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
9
8
|
const chokidar_1 = __importDefault(require("chokidar"));
|
10
9
|
const schemas_1 = require("@dcl/schemas");
|
11
10
|
const ws_1 = require("ws");
|
12
|
-
const path_2 = require("path");
|
13
|
-
const project_1 = require("../preview/project");
|
14
11
|
const bff_1 = require("./bff");
|
15
12
|
const http_server_1 = require("@well-known-components/http-server");
|
16
13
|
const endpoints_1 = require("./endpoints");
|
17
|
-
const error_1 = require("../../utils/error");
|
18
14
|
const ws_2 = require("@well-known-components/http-server/dist/ws");
|
15
|
+
const dcl_ignore_1 = require("../../utils/dcl-ignore");
|
19
16
|
async function wire(components, dir, watch = false) {
|
20
|
-
const npmModulesPath = path_1.default.resolve(dir, 'node_modules');
|
21
|
-
if (!fs_extra_1.default.pathExistsSync(npmModulesPath)) {
|
22
|
-
throw new error_1.CliError(`Couldn\'t find ${npmModulesPath}, please run: npm install`);
|
23
|
-
}
|
24
17
|
const router = new http_server_1.Router();
|
25
18
|
const sceneUpdateClients = new Set();
|
26
19
|
router.get('/', async (ctx, next) => {
|
@@ -30,35 +23,25 @@ async function wire(components, dir, watch = false) {
|
|
30
23
|
return next();
|
31
24
|
});
|
32
25
|
(0, bff_1.setupBffAndComms)(components, router);
|
33
|
-
(0, endpoints_1.setupEcs6Endpoints)(dir, router);
|
26
|
+
(0, endpoints_1.setupEcs6Endpoints)(components, dir, router);
|
34
27
|
components.server.setContext(components);
|
35
28
|
components.server.use(router.allowedMethods());
|
36
29
|
components.server.use(router.middleware());
|
37
30
|
if (watch) {
|
38
31
|
const { clients } = components.ws.ws;
|
39
|
-
const
|
40
|
-
const ignored = ((ignoredContent === null || ignoredContent === void 0 ? void 0 : ignoredContent.split('\n')) || []).filter(Boolean);
|
32
|
+
const ignored = await (0, dcl_ignore_1.getDCLIgnorePatterns)(components, dir);
|
41
33
|
chokidar_1.default
|
42
|
-
.watch(
|
34
|
+
.watch(path_1.default.resolve(dir), {
|
43
35
|
ignored,
|
44
36
|
ignoreInitial: false,
|
45
37
|
cwd: dir
|
46
38
|
})
|
47
|
-
.on('all', async (_,
|
48
|
-
|
49
|
-
return updateScene(dir, clients);
|
50
|
-
}
|
39
|
+
.on('all', async (_, _file) => {
|
40
|
+
return updateScene(dir, clients);
|
51
41
|
});
|
52
42
|
}
|
53
43
|
}
|
54
44
|
exports.wire = wire;
|
55
|
-
const getDCLIgnoreFile = async (dir) => {
|
56
|
-
try {
|
57
|
-
return fs_extra_1.default.readFile((0, path_2.resolve)(dir, '.dclignore'), 'utf8');
|
58
|
-
}
|
59
|
-
catch (e) { }
|
60
|
-
return null;
|
61
|
-
};
|
62
45
|
const initWsConnection = (ws, clients) => {
|
63
46
|
if (ws.readyState === ws.OPEN) {
|
64
47
|
clients.add(ws);
|
@@ -68,15 +51,6 @@ const initWsConnection = (ws, clients) => {
|
|
68
51
|
}
|
69
52
|
ws.on('close', () => clients.delete(ws));
|
70
53
|
};
|
71
|
-
const shouldUpdateScene = async (components, dir, file) => {
|
72
|
-
const sceneFile = await (0, project_1.getSceneFile)(components, dir);
|
73
|
-
if ((0, path_2.resolve)(file) !== (0, path_2.resolve)(dir, sceneFile.main)) {
|
74
|
-
if (file.endsWith('.ts') || file.endsWith('.tsx')) {
|
75
|
-
return false;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
return true;
|
79
|
-
};
|
80
54
|
const updateScene = (dir, clients) => {
|
81
55
|
for (const client of clients) {
|
82
56
|
if (client.readyState === ws_1.WebSocket.OPEN) {
|
@@ -89,4 +63,4 @@ const updateScene = (dir, clients) => {
|
|
89
63
|
}
|
90
64
|
}
|
91
65
|
};
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndpcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXVCO0FBQ3ZCLHdEQUErQjtBQUMvQiwwQ0FBa0M7QUFDbEMsMkJBQThCO0FBQzlCLCtCQUF3QztBQUN4QyxvRUFBMkQ7QUFDM0QsMkNBQWdEO0FBRWhELG1FQUFxRjtBQUNyRix1REFBNkQ7QUFFdEQsS0FBSyxVQUFVLElBQUksQ0FBQyxVQUE2QixFQUFFLEdBQVcsRUFBRSxRQUFpQixLQUFLO0lBQzNGLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQU0sRUFBcUIsQ0FBQTtJQUU5QyxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxFQUFhLENBQUE7SUFFL0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNsQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxXQUFXLEVBQUU7WUFDdEQsT0FBTyxJQUFBLDZCQUF3QixFQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtTQUN0RztRQUVELE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDLENBQUMsQ0FBQTtJQUVGLElBQUEsc0JBQWdCLEVBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLElBQUEsOEJBQWtCLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUUzQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN4QyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUM5QyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUUxQyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsaUNBQW9CLEVBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBRTNELGtCQUFRO2FBQ0wsS0FBSyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEIsT0FBTztZQUNQLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLEdBQUcsRUFBRSxHQUFHO1NBQ1QsQ0FBQzthQUNELEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUU1QixPQUFPLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbEMsQ0FBQyxDQUFDLENBQUE7S0FDTDtBQUNILENBQUM7QUFuQ0Qsb0JBbUNDO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQWEsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDbEUsSUFBSSxFQUFFLENBQUMsVUFBVSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtLQUNoQjtTQUFNO1FBQ0wsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0tBQ3JDO0lBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQUVELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQXVCLEVBQVEsRUFBRTtJQUNqRSxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM1QixJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssY0FBUyxDQUFDLElBQUksRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBb0I7Z0JBQy9CLElBQUksRUFBRSxhQUFHLENBQUMsWUFBWTtnQkFDdEIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsYUFBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7YUFDckcsQ0FBQTtZQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ3JDO0tBQ0Y7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IGNob2tpZGFyIGZyb20gJ2Nob2tpZGFyJ1xuaW1wb3J0IHsgc2RrIH0gZnJvbSAnQGRjbC9zY2hlbWFzJ1xuaW1wb3J0IHsgV2ViU29ja2V0IH0gZnJvbSAnd3MnXG5pbXBvcnQgeyBzZXR1cEJmZkFuZENvbW1zIH0gZnJvbSAnLi9iZmYnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAd2VsbC1rbm93bi1jb21wb25lbnRzL2h0dHAtc2VydmVyJ1xuaW1wb3J0IHsgc2V0dXBFY3M2RW5kcG9pbnRzIH0gZnJvbSAnLi9lbmRwb2ludHMnXG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50cyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyB1cGdyYWRlV2ViU29ja2V0UmVzcG9uc2UgfSBmcm9tICdAd2VsbC1rbm93bi1jb21wb25lbnRzL2h0dHAtc2VydmVyL2Rpc3Qvd3MnXG5pbXBvcnQgeyBnZXREQ0xJZ25vcmVQYXR0ZXJucyB9IGZyb20gJy4uLy4uL3V0aWxzL2RjbC1pZ25vcmUnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXJlKGNvbXBvbmVudHM6IFByZXZpZXdDb21wb25lbnRzLCBkaXI6IHN0cmluZywgd2F0Y2g6IGJvb2xlYW4gPSBmYWxzZSkge1xuICBjb25zdCByb3V0ZXIgPSBuZXcgUm91dGVyPFByZXZpZXdDb21wb25lbnRzPigpXG5cbiAgY29uc3Qgc2NlbmVVcGRhdGVDbGllbnRzID0gbmV3IFNldDxXZWJTb2NrZXQ+KClcblxuICByb3V0ZXIuZ2V0KCcvJywgYXN5bmMgKGN0eCwgbmV4dCkgPT4ge1xuICAgIGlmIChjdHgucmVxdWVzdC5oZWFkZXJzLmdldCgndXBncmFkZScpID09PSAnd2Vic29ja2V0Jykge1xuICAgICAgcmV0dXJuIHVwZ3JhZGVXZWJTb2NrZXRSZXNwb25zZSgod3MpID0+IGluaXRXc0Nvbm5lY3Rpb24od3MgYXMgYW55IGFzIFdlYlNvY2tldCwgc2NlbmVVcGRhdGVDbGllbnRzKSlcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dCgpXG4gIH0pXG5cbiAgc2V0dXBCZmZBbmRDb21tcyhjb21wb25lbnRzLCByb3V0ZXIpXG4gIHNldHVwRWNzNkVuZHBvaW50cyhjb21wb25lbnRzLCBkaXIsIHJvdXRlcilcblxuICBjb21wb25lbnRzLnNlcnZlci5zZXRDb250ZXh0KGNvbXBvbmVudHMpXG4gIGNvbXBvbmVudHMuc2VydmVyLnVzZShyb3V0ZXIuYWxsb3dlZE1ldGhvZHMoKSlcbiAgY29tcG9uZW50cy5zZXJ2ZXIudXNlKHJvdXRlci5taWRkbGV3YXJlKCkpXG5cbiAgaWYgKHdhdGNoKSB7XG4gICAgY29uc3QgeyBjbGllbnRzIH0gPSBjb21wb25lbnRzLndzLndzXG4gICAgY29uc3QgaWdub3JlZCA9IGF3YWl0IGdldERDTElnbm9yZVBhdHRlcm5zKGNvbXBvbmVudHMsIGRpcilcblxuICAgIGNob2tpZGFyXG4gICAgICAud2F0Y2gocGF0aC5yZXNvbHZlKGRpciksIHtcbiAgICAgICAgaWdub3JlZCxcbiAgICAgICAgaWdub3JlSW5pdGlhbDogZmFsc2UsXG4gICAgICAgIGN3ZDogZGlyXG4gICAgICB9KVxuICAgICAgLm9uKCdhbGwnLCBhc3luYyAoXywgX2ZpbGUpID0+IHtcbiAgICAgICAgLy8gVE9ETzogYWNjdW11bGF0ZSBjaGFuZ2VzIGluIGFuIGFycmF5IGFuZCBkZWJvdW5jZVxuICAgICAgICByZXR1cm4gdXBkYXRlU2NlbmUoZGlyLCBjbGllbnRzKVxuICAgICAgfSlcbiAgfVxufVxuXG5jb25zdCBpbml0V3NDb25uZWN0aW9uID0gKHdzOiBXZWJTb2NrZXQsIGNsaWVudHM6IFNldDxXZWJTb2NrZXQ+KSA9PiB7XG4gIGlmICh3cy5yZWFkeVN0YXRlID09PSB3cy5PUEVOKSB7XG4gICAgY2xpZW50cy5hZGQod3MpXG4gIH0gZWxzZSB7XG4gICAgd3Mub24oJ29wZW4nLCAoKSA9PiBjbGllbnRzLmFkZCh3cykpXG4gIH1cbiAgd3Mub24oJ2Nsb3NlJywgKCkgPT4gY2xpZW50cy5kZWxldGUod3MpKVxufVxuXG5jb25zdCB1cGRhdGVTY2VuZSA9IChkaXI6IHN0cmluZywgY2xpZW50czogU2V0PFdlYlNvY2tldD4pOiB2b2lkID0+IHtcbiAgZm9yIChjb25zdCBjbGllbnQgb2YgY2xpZW50cykge1xuICAgIGlmIChjbGllbnQucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0Lk9QRU4pIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2U6IHNkay5TY2VuZVVwZGF0ZSA9IHtcbiAgICAgICAgdHlwZTogc2RrLlNDRU5FX1VQREFURSxcbiAgICAgICAgcGF5bG9hZDogeyBzY2VuZUlkOiAnYjY0LScgKyBCdWZmZXIuZnJvbShkaXIpLnRvU3RyaW5nKCdiYXNlNjQnKSwgc2NlbmVUeXBlOiBzZGsuUHJvamVjdFR5cGUuU0NFTkUgfVxuICAgICAgfVxuXG4gICAgICBjbGllbnQuc2VuZChzZGsuVVBEQVRFKVxuICAgICAgY2xpZW50LnNlbmQoSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpXG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -1,27 +1,15 @@
|
|
1
1
|
import path from 'path'
|
2
|
-
import fs from 'fs-extra'
|
3
2
|
import chokidar from 'chokidar'
|
4
3
|
import { sdk } from '@dcl/schemas'
|
5
4
|
import { WebSocket } from 'ws'
|
6
|
-
import { resolve } from 'path'
|
7
|
-
|
8
|
-
import { getSceneFile } from '../preview/project'
|
9
|
-
import { CliComponents } from '../../components'
|
10
5
|
import { setupBffAndComms } from './bff'
|
11
6
|
import { Router } from '@well-known-components/http-server'
|
12
7
|
import { setupEcs6Endpoints } from './endpoints'
|
13
|
-
import { CliError } from '../../utils/error'
|
14
8
|
import { PreviewComponents } from './types'
|
15
9
|
import { upgradeWebSocketResponse } from '@well-known-components/http-server/dist/ws'
|
10
|
+
import { getDCLIgnorePatterns } from '../../utils/dcl-ignore'
|
16
11
|
|
17
12
|
export async function wire(components: PreviewComponents, dir: string, watch: boolean = false) {
|
18
|
-
const npmModulesPath = path.resolve(dir, 'node_modules')
|
19
|
-
|
20
|
-
// TODO: dcl.project.needsDependencies() should do this
|
21
|
-
if (!fs.pathExistsSync(npmModulesPath)) {
|
22
|
-
throw new CliError(`Couldn\'t find ${npmModulesPath}, please run: npm install`)
|
23
|
-
}
|
24
|
-
|
25
13
|
const router = new Router<PreviewComponents>()
|
26
14
|
|
27
15
|
const sceneUpdateClients = new Set<WebSocket>()
|
@@ -35,7 +23,7 @@ export async function wire(components: PreviewComponents, dir: string, watch: bo
|
|
35
23
|
})
|
36
24
|
|
37
25
|
setupBffAndComms(components, router)
|
38
|
-
setupEcs6Endpoints(dir, router)
|
26
|
+
setupEcs6Endpoints(components, dir, router)
|
39
27
|
|
40
28
|
components.server.setContext(components)
|
41
29
|
components.server.use(router.allowedMethods())
|
@@ -43,30 +31,21 @@ export async function wire(components: PreviewComponents, dir: string, watch: bo
|
|
43
31
|
|
44
32
|
if (watch) {
|
45
33
|
const { clients } = components.ws.ws
|
46
|
-
const
|
47
|
-
|
34
|
+
const ignored = await getDCLIgnorePatterns(components, dir)
|
35
|
+
|
48
36
|
chokidar
|
49
|
-
.watch(resolve(dir), {
|
37
|
+
.watch(path.resolve(dir), {
|
50
38
|
ignored,
|
51
39
|
ignoreInitial: false,
|
52
40
|
cwd: dir
|
53
41
|
})
|
54
|
-
.on('all', async (_,
|
55
|
-
|
56
|
-
|
57
|
-
}
|
42
|
+
.on('all', async (_, _file) => {
|
43
|
+
// TODO: accumulate changes in an array and debounce
|
44
|
+
return updateScene(dir, clients)
|
58
45
|
})
|
59
46
|
}
|
60
47
|
}
|
61
48
|
|
62
|
-
const getDCLIgnoreFile = async (dir: string): Promise<string | null> => {
|
63
|
-
try {
|
64
|
-
return fs.readFile(resolve(dir, '.dclignore'), 'utf8')
|
65
|
-
} catch (e) {}
|
66
|
-
|
67
|
-
return null
|
68
|
-
}
|
69
|
-
|
70
49
|
const initWsConnection = (ws: WebSocket, clients: Set<WebSocket>) => {
|
71
50
|
if (ws.readyState === ws.OPEN) {
|
72
51
|
clients.add(ws)
|
@@ -76,22 +55,6 @@ const initWsConnection = (ws: WebSocket, clients: Set<WebSocket>) => {
|
|
76
55
|
ws.on('close', () => clients.delete(ws))
|
77
56
|
}
|
78
57
|
|
79
|
-
const shouldUpdateScene = async (
|
80
|
-
components: Pick<CliComponents, 'fs'>,
|
81
|
-
dir: string,
|
82
|
-
file: string
|
83
|
-
): Promise<boolean> => {
|
84
|
-
const sceneFile = await getSceneFile(components, dir)
|
85
|
-
if (resolve(file) !== resolve(dir, sceneFile.main)) {
|
86
|
-
// ignore source files
|
87
|
-
if (file.endsWith('.ts') || file.endsWith('.tsx')) {
|
88
|
-
return false
|
89
|
-
}
|
90
|
-
}
|
91
|
-
|
92
|
-
return true
|
93
|
-
}
|
94
|
-
|
95
58
|
const updateScene = (dir: string, clients: Set<WebSocket>): void => {
|
96
59
|
for (const client of clients) {
|
97
60
|
if (client.readyState === WebSocket.OPEN) {
|
package/cli/components/fs.d.ts
CHANGED
@@ -5,7 +5,8 @@ import * as fsPromises from 'fs/promises';
|
|
5
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
6
|
constants: Pick<typeof fs.constants, 'F_OK' | 'R_OK'>;
|
7
7
|
} & {
|
8
|
-
|
8
|
+
fileExists(path: string): Promise<boolean>;
|
9
|
+
directoryExists(path: string): Promise<boolean>;
|
9
10
|
readdir(path: string): Promise<string[]>;
|
10
11
|
};
|
11
12
|
export declare function createFsComponent(): IFileSystemComponent;
|
package/cli/components/fs.js
CHANGED
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.createFsComponent = void 0;
|
27
27
|
const fs = __importStar(require("fs"));
|
28
28
|
const fsPromises = __importStar(require("fs/promises"));
|
29
|
-
async function
|
29
|
+
async function fileExists(path) {
|
30
30
|
try {
|
31
31
|
await fs.promises.access(path, fs.constants.F_OK | fs.constants.R_OK);
|
32
32
|
return true;
|
@@ -35,6 +35,14 @@ async function existPath(path) {
|
|
35
35
|
return false;
|
36
36
|
}
|
37
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
|
+
}
|
38
46
|
function createFsComponent() {
|
39
47
|
return {
|
40
48
|
createReadStream: fs.createReadStream,
|
@@ -53,8 +61,9 @@ function createFsComponent() {
|
|
53
61
|
R_OK: fs.constants.R_OK
|
54
62
|
},
|
55
63
|
rename: fsPromises.rename,
|
56
|
-
|
64
|
+
fileExists,
|
65
|
+
directoryExists
|
57
66
|
};
|
58
67
|
}
|
59
68
|
exports.createFsComponent = createFsComponent;
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF3QjtBQUN4Qix3REFBeUM7QUFvQnpDLEtBQUssVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNwQyxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyRSxPQUFPLElBQUksQ0FBQTtLQUNaO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLEtBQUssQ0FBQTtLQUNiO0FBQ0gsQ0FBQztBQUNELEtBQUssVUFBVSxlQUFlLENBQUMsSUFBWTtJQUN6QyxJQUFJO1FBQ0YsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtLQUNyRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUE7S0FDYjtBQUNILENBQUM7QUFLRCxTQUFnQixpQkFBaUI7SUFDL0IsT0FBTztRQUNMLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0I7UUFDckMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQjtRQUN2QyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQy9CLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztRQUMzQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7UUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO1FBQ3pCLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztRQUN2QixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7UUFDdkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtRQUM3QixTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQ3ZCLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUk7U0FDeEI7UUFDRCxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsVUFBVTtRQUNWLGVBQWU7S0FDaEIsQ0FBQTtBQUNILENBQUM7QUFyQkQsOENBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgKiBhcyBmc1Byb21pc2VzIGZyb20gJ2ZzL3Byb21pc2VzJ1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqXG4gKiBUaGlzIG1heSBiZSBtb3ZlZCB0byB3ZWxsLWtub3duLWNvbXBvbmVudHMgaW4gdGhlIGZ1dHVyZVxuICovXG5leHBvcnQgdHlwZSBJRmlsZVN5c3RlbUNvbXBvbmVudCA9IFBpY2s8dHlwZW9mIGZzLCAnY3JlYXRlUmVhZFN0cmVhbSc+ICZcbiAgUGljazx0eXBlb2YgZnMsICdjcmVhdGVXcml0ZVN0cmVhbSc+ICZcbiAgUGljazxcbiAgICB0eXBlb2YgZnNQcm9taXNlcyxcbiAgICAnYWNjZXNzJyB8ICdvcGVuZGlyJyB8ICdzdGF0JyB8ICd1bmxpbmsnIHwgJ21rZGlyJyB8ICdyZWFkRmlsZScgfCAnd3JpdGVGaWxlJyB8ICdyZW5hbWUnIHwgJ3JtZGlyJ1xuICA+ICYge1xuICAgIGNvbnN0YW50czogUGljazx0eXBlb2YgZnMuY29uc3RhbnRzLCAnRl9PSycgfCAnUl9PSyc+XG4gIH0gJiB7XG4gICAgZmlsZUV4aXN0cyhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+XG4gICAgZGlyZWN0b3J5RXhpc3RzKHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj5cbiAgICByZWFkZGlyKHBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+XG4gIH1cblxuYXN5bmMgZnVuY3Rpb24gZmlsZUV4aXN0cyhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy5wcm9taXNlcy5hY2Nlc3MocGF0aCwgZnMuY29uc3RhbnRzLkZfT0sgfCBmcy5jb25zdGFudHMuUl9PSylcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5hc3luYyBmdW5jdGlvbiBkaXJlY3RvcnlFeGlzdHMocGF0aDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIChhd2FpdCBmcy5wcm9taXNlcy5sc3RhdChwYXRoKSkuaXNEaXJlY3RvcnkoKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbi8qKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnNDb21wb25lbnQoKTogSUZpbGVTeXN0ZW1Db21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZVJlYWRTdHJlYW06IGZzLmNyZWF0ZVJlYWRTdHJlYW0sXG4gICAgY3JlYXRlV3JpdGVTdHJlYW06IGZzLmNyZWF0ZVdyaXRlU3RyZWFtLFxuICAgIGFjY2VzczogZnNQcm9taXNlcy5hY2Nlc3MsXG4gICAgd3JpdGVGaWxlOiBmc1Byb21pc2VzLndyaXRlRmlsZSxcbiAgICBvcGVuZGlyOiBmc1Byb21pc2VzLm9wZW5kaXIsXG4gICAgc3RhdDogZnNQcm9taXNlcy5zdGF0LFxuICAgIHVubGluazogZnNQcm9taXNlcy51bmxpbmssXG4gICAgbWtkaXI6IGZzUHJvbWlzZXMubWtkaXIsXG4gICAgcm1kaXI6IGZzUHJvbWlzZXMucm1kaXIsXG4gICAgcmVhZGRpcjogZnNQcm9taXNlcy5yZWFkZGlyLFxuICAgIHJlYWRGaWxlOiBmc1Byb21pc2VzLnJlYWRGaWxlLFxuICAgIGNvbnN0YW50czoge1xuICAgICAgRl9PSzogZnMuY29uc3RhbnRzLkZfT0ssXG4gICAgICBSX09LOiBmcy5jb25zdGFudHMuUl9PS1xuICAgIH0sXG4gICAgcmVuYW1lOiBmc1Byb21pc2VzLnJlbmFtZSxcbiAgICBmaWxlRXhpc3RzLFxuICAgIGRpcmVjdG9yeUV4aXN0c1xuICB9XG59XG4iXX0=
|
package/cli/components/fs.ts
CHANGED
@@ -14,11 +14,12 @@ export type IFileSystemComponent = Pick<typeof fs, 'createReadStream'> &
|
|
14
14
|
> & {
|
15
15
|
constants: Pick<typeof fs.constants, 'F_OK' | 'R_OK'>
|
16
16
|
} & {
|
17
|
-
|
17
|
+
fileExists(path: string): Promise<boolean>
|
18
|
+
directoryExists(path: string): Promise<boolean>
|
18
19
|
readdir(path: string): Promise<string[]>
|
19
20
|
}
|
20
21
|
|
21
|
-
async function
|
22
|
+
async function fileExists(path: string): Promise<boolean> {
|
22
23
|
try {
|
23
24
|
await fs.promises.access(path, fs.constants.F_OK | fs.constants.R_OK)
|
24
25
|
return true
|
@@ -26,6 +27,13 @@ async function existPath(path: string): Promise<boolean> {
|
|
26
27
|
return false
|
27
28
|
}
|
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
|
+
}
|
29
37
|
|
30
38
|
/**
|
31
39
|
* @public
|
@@ -48,6 +56,7 @@ export function createFsComponent(): IFileSystemComponent {
|
|
48
56
|
R_OK: fs.constants.R_OK
|
49
57
|
},
|
50
58
|
rename: fsPromises.rename,
|
51
|
-
|
59
|
+
fileExists,
|
60
|
+
directoryExists
|
52
61
|
}
|
53
62
|
}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { CliComponents } from '../components';
|
2
|
+
export declare const defaultDclIgnore: string[];
|
3
|
+
export declare function getDCLIgnoreFileContents(components: Pick<CliComponents, 'fs'>, dir: string): Promise<string | null>;
|
4
|
+
export declare function getDCLIgnorePatterns(components: Pick<CliComponents, 'fs'>, dir: string): Promise<string[]>;
|
@@ -0,0 +1,44 @@
|
|
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.getDCLIgnorePatterns = exports.getDCLIgnoreFileContents = exports.defaultDclIgnore = void 0;
|
7
|
+
const path_1 = __importDefault(require("path"));
|
8
|
+
exports.defaultDclIgnore = [
|
9
|
+
'.*',
|
10
|
+
'package.json',
|
11
|
+
'package-lock.json',
|
12
|
+
'yarn-lock.json',
|
13
|
+
'build.json',
|
14
|
+
'export',
|
15
|
+
'tsconfig.json',
|
16
|
+
'tslint.json',
|
17
|
+
'node_modules',
|
18
|
+
'**/*.ts',
|
19
|
+
'**/*.tsx',
|
20
|
+
'Dockerfile',
|
21
|
+
'dist',
|
22
|
+
'README.md',
|
23
|
+
'*.blend',
|
24
|
+
'*.fbx',
|
25
|
+
'*.zip',
|
26
|
+
'*.rar'
|
27
|
+
];
|
28
|
+
async function getDCLIgnoreFileContents(components, dir) {
|
29
|
+
try {
|
30
|
+
return components.fs.readFile(path_1.default.resolve(dir, '.dclignore'), 'utf8');
|
31
|
+
}
|
32
|
+
catch (e) { }
|
33
|
+
return null;
|
34
|
+
}
|
35
|
+
exports.getDCLIgnoreFileContents = getDCLIgnoreFileContents;
|
36
|
+
async function getDCLIgnorePatterns(components, dir) {
|
37
|
+
const ignoredContent = await getDCLIgnoreFileContents(components, dir);
|
38
|
+
const ignored = ((ignoredContent === null || ignoredContent === void 0 ? void 0 : ignoredContent.split('\n')) || exports.defaultDclIgnore).filter(Boolean);
|
39
|
+
ignored.push(...exports.defaultDclIgnore);
|
40
|
+
ignored.push('.*', 'node_modules', '**/*.ts', '**/*.tsx');
|
41
|
+
return Array.from(new Set(ignored));
|
42
|
+
}
|
43
|
+
exports.getDCLIgnorePatterns = getDCLIgnorePatterns;
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGNsLWlnbm9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRjbC1pZ25vcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXVCO0FBR1YsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixJQUFJO0lBQ0osY0FBYztJQUNkLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFFBQVE7SUFDUixlQUFlO0lBQ2YsYUFBYTtJQUNiLGNBQWM7SUFDZCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFlBQVk7SUFDWixNQUFNO0lBQ04sV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87Q0FDUixDQUFBO0FBRU0sS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxVQUFxQyxFQUNyQyxHQUFXO0lBRVgsSUFBSTtRQUNGLE9BQU8sVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7S0FDdkU7SUFBQyxPQUFPLENBQUMsRUFBRSxHQUFFO0lBRWQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBVEQsNERBU0M7QUFFTSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsVUFBcUMsRUFBRSxHQUFXO0lBQzNGLE1BQU0sY0FBYyxHQUFHLE1BQU0sd0JBQXdCLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3RFLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFJLHdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2pGLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyx3QkFBZ0IsQ0FBQyxDQUFBO0lBR2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFFekQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQVRELG9EQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IENsaUNvbXBvbmVudHMgfSBmcm9tICcuLi9jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdERjbElnbm9yZSA9IFtcbiAgJy4qJyxcbiAgJ3BhY2thZ2UuanNvbicsXG4gICdwYWNrYWdlLWxvY2suanNvbicsXG4gICd5YXJuLWxvY2suanNvbicsXG4gICdidWlsZC5qc29uJyxcbiAgJ2V4cG9ydCcsXG4gICd0c2NvbmZpZy5qc29uJyxcbiAgJ3RzbGludC5qc29uJyxcbiAgJ25vZGVfbW9kdWxlcycsXG4gICcqKi8qLnRzJyxcbiAgJyoqLyoudHN4JyxcbiAgJ0RvY2tlcmZpbGUnLFxuICAnZGlzdCcsXG4gICdSRUFETUUubWQnLFxuICAnKi5ibGVuZCcsXG4gICcqLmZieCcsXG4gICcqLnppcCcsXG4gICcqLnJhcidcbl1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldERDTElnbm9yZUZpbGVDb250ZW50cyhcbiAgY29tcG9uZW50czogUGljazxDbGlDb21wb25lbnRzLCAnZnMnPixcbiAgZGlyOiBzdHJpbmdcbik6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICB0cnkge1xuICAgIHJldHVybiBjb21wb25lbnRzLmZzLnJlYWRGaWxlKHBhdGgucmVzb2x2ZShkaXIsICcuZGNsaWdub3JlJyksICd1dGY4JylcbiAgfSBjYXRjaCAoZSkge31cblxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RENMSWdub3JlUGF0dGVybnMoY29tcG9uZW50czogUGljazxDbGlDb21wb25lbnRzLCAnZnMnPiwgZGlyOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGlnbm9yZWRDb250ZW50ID0gYXdhaXQgZ2V0RENMSWdub3JlRmlsZUNvbnRlbnRzKGNvbXBvbmVudHMsIGRpcilcbiAgY29uc3QgaWdub3JlZCA9IChpZ25vcmVkQ29udGVudD8uc3BsaXQoJ1xcbicpIHx8IGRlZmF1bHREY2xJZ25vcmUpLmZpbHRlcihCb29sZWFuKVxuICBpZ25vcmVkLnB1c2goLi4uZGVmYXVsdERjbElnbm9yZSlcblxuICAvLyBieSBkZWZhdWx0IG1hbnkgZmlsZXMgbmVlZCB0byBiZSBpZ25vcmVkXG4gIGlnbm9yZWQucHVzaCgnLionLCAnbm9kZV9tb2R1bGVzJywgJyoqLyoudHMnLCAnKiovKi50c3gnKVxuXG4gIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoaWdub3JlZCkpXG59XG4iXX0=
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import path from 'path'
|
2
|
+
import { CliComponents } from '../components'
|
3
|
+
|
4
|
+
export const defaultDclIgnore = [
|
5
|
+
'.*',
|
6
|
+
'package.json',
|
7
|
+
'package-lock.json',
|
8
|
+
'yarn-lock.json',
|
9
|
+
'build.json',
|
10
|
+
'export',
|
11
|
+
'tsconfig.json',
|
12
|
+
'tslint.json',
|
13
|
+
'node_modules',
|
14
|
+
'**/*.ts',
|
15
|
+
'**/*.tsx',
|
16
|
+
'Dockerfile',
|
17
|
+
'dist',
|
18
|
+
'README.md',
|
19
|
+
'*.blend',
|
20
|
+
'*.fbx',
|
21
|
+
'*.zip',
|
22
|
+
'*.rar'
|
23
|
+
]
|
24
|
+
|
25
|
+
export async function getDCLIgnoreFileContents(
|
26
|
+
components: Pick<CliComponents, 'fs'>,
|
27
|
+
dir: string
|
28
|
+
): Promise<string | null> {
|
29
|
+
try {
|
30
|
+
return components.fs.readFile(path.resolve(dir, '.dclignore'), 'utf8')
|
31
|
+
} catch (e) {}
|
32
|
+
|
33
|
+
return null
|
34
|
+
}
|
35
|
+
|
36
|
+
export async function getDCLIgnorePatterns(components: Pick<CliComponents, 'fs'>, dir: string): Promise<string[]> {
|
37
|
+
const ignoredContent = await getDCLIgnoreFileContents(components, dir)
|
38
|
+
const ignored = (ignoredContent?.split('\n') || defaultDclIgnore).filter(Boolean)
|
39
|
+
ignored.push(...defaultDclIgnore)
|
40
|
+
|
41
|
+
// by default many files need to be ignored
|
42
|
+
ignored.push('.*', 'node_modules', '**/*.ts', '**/*.tsx')
|
43
|
+
|
44
|
+
return Array.from(new Set(ignored))
|
45
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dcl/sdk",
|
3
|
-
"version": "7.0.6-
|
3
|
+
"version": "7.0.6-4197739270.commit-db87ed8",
|
4
4
|
"description": "",
|
5
5
|
"main": "./index.js",
|
6
6
|
"typings": "./index.d.ts",
|
@@ -20,31 +20,28 @@
|
|
20
20
|
"author": "Decentraland",
|
21
21
|
"license": "Apache-2.0",
|
22
22
|
"dependencies": {
|
23
|
-
"@dcl/dcl-rollup": "7.0.6-
|
24
|
-
"@dcl/ecs": "7.0.6-
|
23
|
+
"@dcl/dcl-rollup": "7.0.6-4197739270.commit-db87ed8",
|
24
|
+
"@dcl/ecs": "7.0.6-4197739270.commit-db87ed8",
|
25
25
|
"@dcl/ecs-math": "2.0.1-20221129185242.commit-40495c1",
|
26
26
|
"@dcl/explorer": "1.0.81966-20230215010724.commit-64eb73f",
|
27
|
-
"@dcl/js-runtime": "7.0.6-
|
28
|
-
"@dcl/mini-comms": "1.0.
|
27
|
+
"@dcl/js-runtime": "7.0.6-4197739270.commit-db87ed8",
|
28
|
+
"@dcl/mini-comms": "1.0.1-20230216163137.commit-a4c75be",
|
29
29
|
"@dcl/protocol": "1.0.0-4114477251.commit-ccb88d6",
|
30
|
-
"@dcl/react-ecs": "7.0.6-
|
31
|
-
"@dcl/schemas": "6.
|
32
|
-
"@
|
33
|
-
"@well-known-components/
|
34
|
-
"@well-known-components/
|
35
|
-
"@well-known-components/
|
36
|
-
"@well-known-components/metrics": "^2.0.1-20220909150423.commit-8f7e5bc",
|
30
|
+
"@dcl/react-ecs": "7.0.6-4197739270.commit-db87ed8",
|
31
|
+
"@dcl/schemas": "6.10.0",
|
32
|
+
"@well-known-components/env-config-provider": "^1.2.0",
|
33
|
+
"@well-known-components/http-server": "^2.0.0-20230216161243.commit-bfe3f0a",
|
34
|
+
"@well-known-components/logger": "^3.1.2",
|
35
|
+
"@well-known-components/metrics": "^2.0.1",
|
37
36
|
"arg": "5.0.2",
|
38
37
|
"chokidar": "^3.5.3",
|
39
38
|
"colorette": "^2.0.19",
|
40
39
|
"extract-zip": "2.0.1",
|
41
40
|
"ignore": "^5.2.4",
|
42
|
-
"inquirer": "^8.2.5",
|
43
41
|
"node-fetch": "^2.6.8",
|
44
42
|
"open": "^8.4.0",
|
45
|
-
"ora": "6.1.2",
|
46
43
|
"portfinder": "^1.0.32",
|
47
|
-
"undici": "^5.
|
44
|
+
"undici": "^5.19.1"
|
48
45
|
},
|
49
46
|
"devDependencies": {
|
50
47
|
"@types/node-fetch": "^2.6.1",
|
@@ -57,5 +54,5 @@
|
|
57
54
|
"displayName": "SDK",
|
58
55
|
"tsconfig": "./tsconfig.json"
|
59
56
|
},
|
60
|
-
"commit": "
|
57
|
+
"commit": "db87ed858980056a94676a045ff9fe132f903ef3"
|
61
58
|
}
|
package/cli/utils/prompt.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export declare function confirm(message: string): Promise<boolean>;
|
package/cli/utils/prompt.js
DELETED
@@ -1,17 +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.confirm = void 0;
|
7
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
8
|
-
async function confirm(message) {
|
9
|
-
const { answer } = await inquirer_1.default.prompt({
|
10
|
-
name: 'answer',
|
11
|
-
message,
|
12
|
-
type: 'confirm'
|
13
|
-
});
|
14
|
-
return answer;
|
15
|
-
}
|
16
|
-
exports.confirm = confirm;
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicHJvbXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUErQjtBQUV4QixLQUFLLFVBQVUsT0FBTyxDQUFDLE9BQWU7SUFDM0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxFQUFFLFFBQVE7UUFDZCxPQUFPO1FBQ1AsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFBO0lBRUYsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBUkQsMEJBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5xdWlyZXIgZnJvbSAnaW5xdWlyZXInXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb25maXJtKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCB7IGFuc3dlciB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KHtcbiAgICBuYW1lOiAnYW5zd2VyJyxcbiAgICBtZXNzYWdlLFxuICAgIHR5cGU6ICdjb25maXJtJ1xuICB9KVxuXG4gIHJldHVybiBhbnN3ZXJcbn1cbiJdfQ==
|
package/cli/utils/prompt.ts
DELETED