@dcl/sdk-commands 7.15.3-20598643716.commit-749e071 → 7.16.0
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/dist/commands/start/index.d.ts +2 -0
- package/dist/commands/start/index.js +19 -1
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/server/routes.js +27 -0
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/utils.d.ts +8 -0
- package/dist/commands/start/utils.js +48 -0
- package/dist/commands/start/utils.js.map +1 -0
- package/package.json +5 -3
|
@@ -24,6 +24,8 @@ export declare const args: {
|
|
|
24
24
|
'--explorer-alpha': BooleanConstructor;
|
|
25
25
|
'--web-explorer': BooleanConstructor;
|
|
26
26
|
'--hub': BooleanConstructor;
|
|
27
|
+
'--mobile': BooleanConstructor;
|
|
28
|
+
'-m': string;
|
|
27
29
|
'--debug': BooleanConstructor;
|
|
28
30
|
'--dclenv': StringConstructor;
|
|
29
31
|
'--realm': StringConstructor;
|
|
@@ -30,6 +30,7 @@ exports.main = exports.help = exports.args = void 0;
|
|
|
30
30
|
const os = __importStar(require("os"));
|
|
31
31
|
const path = __importStar(require("path"));
|
|
32
32
|
const open_1 = __importDefault(require("open"));
|
|
33
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
33
34
|
const build_1 = require("../build");
|
|
34
35
|
const args_1 = require("../../logic/args");
|
|
35
36
|
const scene_validations_1 = require("../../logic/scene-validations");
|
|
@@ -52,6 +53,7 @@ const workspace_validations_1 = require("../../logic/workspace-validations");
|
|
|
52
53
|
const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
53
54
|
const project_validations_1 = require("../../logic/project-validations");
|
|
54
55
|
const explorer_alpha_1 = require("./explorer-alpha");
|
|
56
|
+
const utils_1 = require("./utils");
|
|
55
57
|
exports.args = (0, args_1.declareArgs)({
|
|
56
58
|
'--dir': String,
|
|
57
59
|
'--help': Boolean,
|
|
@@ -72,6 +74,8 @@ exports.args = (0, args_1.declareArgs)({
|
|
|
72
74
|
'--explorer-alpha': Boolean,
|
|
73
75
|
'--web-explorer': Boolean,
|
|
74
76
|
'--hub': Boolean,
|
|
77
|
+
'--mobile': Boolean,
|
|
78
|
+
'-m': '--mobile',
|
|
75
79
|
// Params related to the explorer-alpha
|
|
76
80
|
'--debug': Boolean,
|
|
77
81
|
'--dclenv': String,
|
|
@@ -107,6 +111,7 @@ async function help(options) {
|
|
|
107
111
|
--landscape-terrain-enabled Enable landscape terrain.
|
|
108
112
|
-n Open a new instance of the Client even if one is already running.
|
|
109
113
|
--bevy-web Opens preview using the Bevy Web browser window.
|
|
114
|
+
--mobile Show QR code for mobile preview on the same network
|
|
110
115
|
|
|
111
116
|
|
|
112
117
|
Examples:
|
|
@@ -133,6 +138,7 @@ async function main(options) {
|
|
|
133
138
|
const enableWeb3 = options.args['--web3'];
|
|
134
139
|
const isHub = !!options.args['--hub'];
|
|
135
140
|
const bevyWeb = !!options.args['--bevy-web'];
|
|
141
|
+
const isMobile = options.args['--mobile'];
|
|
136
142
|
const explorerAlpha = !options.args['--web-explorer'] && !bevyWeb;
|
|
137
143
|
let hasSmartWearable = false;
|
|
138
144
|
const workspace = await (0, workspace_validations_1.getValidWorkspace)(options.components, workingDirectory);
|
|
@@ -232,6 +238,8 @@ async function main(options) {
|
|
|
232
238
|
}
|
|
233
239
|
});
|
|
234
240
|
});
|
|
241
|
+
// Get the LAN URL for external device access
|
|
242
|
+
const lanUrl = (0, utils_1.getLanUrl)(port);
|
|
235
243
|
// Push localhost and 127.0.0.1 at top
|
|
236
244
|
const sortedURLs = availableURLs.sort((a, _b) => {
|
|
237
245
|
return a.toLowerCase().includes('localhost') || a.includes('127.0.0.1') || a.includes('0.0.0.0') ? -1 : 1;
|
|
@@ -248,10 +256,19 @@ async function main(options) {
|
|
|
248
256
|
}
|
|
249
257
|
}
|
|
250
258
|
components.logger.log('\nPress CTRL+C to exit\n');
|
|
251
|
-
if (explorerAlpha) {
|
|
259
|
+
if (explorerAlpha && !isMobile) {
|
|
252
260
|
const realm = new URL(sortedURLs[0]).origin;
|
|
253
261
|
await (0, explorer_alpha_1.runExplorerAlpha)(components, { cwd: workingDirectory, realm, baseCoords, isHub, args: options.args });
|
|
254
262
|
}
|
|
263
|
+
if (options.args['--mobile'] && lanUrl) {
|
|
264
|
+
const deepLink = `decentraland://open?preview=${lanUrl}`;
|
|
265
|
+
qrcode_1.default.toString(deepLink, { type: 'terminal', small: true }, (err, qr) => {
|
|
266
|
+
if (!err) {
|
|
267
|
+
components.logger.log(log_1.colors.bold('\nScan to preview on mobile: \n'));
|
|
268
|
+
components.logger.log(qr);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
255
272
|
// Open preferably localhost/127.0.0.1
|
|
256
273
|
if ((!explorerAlpha || bevyWeb) && openBrowser && sortedURLs.length) {
|
|
257
274
|
try {
|
|
@@ -262,6 +279,7 @@ async function main(options) {
|
|
|
262
279
|
components.logger.warn('Unable to open browser automatically.');
|
|
263
280
|
}
|
|
264
281
|
}
|
|
282
|
+
components.logger.log('\nPress CTRL+C to exit\n');
|
|
265
283
|
}
|
|
266
284
|
});
|
|
267
285
|
// this signal is resolved by: (wkc)program.stop(), SIGTERM, SIGHUP
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,gDAAuB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.wireRouter = exports.sceneUpdateClients = void 0;
|
|
7
|
+
const qrcode_1 = __importDefault(require("qrcode"));
|
|
4
8
|
const http_server_1 = require("@well-known-components/http-server");
|
|
5
9
|
const ws_1 = require("@well-known-components/http-server/dist/ws");
|
|
6
10
|
const ws_2 = require("../data-layer/ws");
|
|
7
11
|
const endpoints_1 = require("./endpoints");
|
|
8
12
|
const realm_1 = require("./realm");
|
|
13
|
+
const utils_1 = require("../utils");
|
|
9
14
|
exports.sceneUpdateClients = new Set();
|
|
10
15
|
async function wireRouter(components, workspace, dataLayer) {
|
|
11
16
|
const router = new http_server_1.Router();
|
|
@@ -29,6 +34,28 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
29
34
|
localSceneParcels.push(parcel);
|
|
30
35
|
}
|
|
31
36
|
}
|
|
37
|
+
// Mobile preview QR code endpoint
|
|
38
|
+
router.get('/mobile-preview', async (ctx) => {
|
|
39
|
+
const lanUrl = (0, utils_1.getLanUrl)(ctx.url.port);
|
|
40
|
+
if (!lanUrl) {
|
|
41
|
+
return {
|
|
42
|
+
status: 404,
|
|
43
|
+
body: { ok: false, error: 'No LAN IP address found' }
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const deepLink = `decentraland://open?preview=${lanUrl}`;
|
|
47
|
+
const qrDataUrl = await qrcode_1.default.toDataURL(deepLink);
|
|
48
|
+
return {
|
|
49
|
+
headers: { 'content-type': 'application/json' },
|
|
50
|
+
body: {
|
|
51
|
+
ok: true,
|
|
52
|
+
data: {
|
|
53
|
+
url: deepLink,
|
|
54
|
+
qr: qrDataUrl
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
});
|
|
32
59
|
(0, realm_1.setupRealmAndComms)(components, router, localSceneParcels);
|
|
33
60
|
await (0, endpoints_1.setupEcs6Endpoints)(components, router, workspace);
|
|
34
61
|
components.server.setContext(components);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/commands/start/server/routes.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,oEAA2D;AAC3D,mEAAqF;AAIrF,yCAAoD;AAEpD,2CAAgD;AAChD,mCAA4C;AAC5C,oCAAoC;AAEvB,QAAA,kBAAkB,GAAG,IAAI,GAAG,EAAa,CAAA;AAC/C,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE,SAAoB,EAAE,SAAqB;IACzG,MAAM,MAAM,GAAG,IAAI,oBAAM,EAAqB,CAAA;IAE9C,IAAI,SAAS,EAAE;QACb,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE;gBACtD,OAAO,IAAA,6BAAwB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,sBAAiB,EAAC,UAAU,EAAE,EAAS,EAAE,SAAS,CAAC,CAAC,CAAA;aAC7F;YAED,OAAO,IAAI,EAAE,CAAA;QACf,CAAC,CAAC,CAAA;KACH;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAClC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE;YACtD,OAAO,IAAA,6BAAwB,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAsB,EAAE,0BAAkB,CAAC,CAAC,CAAA;SACtG;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAa,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;QACxC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;YAChD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC/B;KACF;IAED,kCAAkC;IAClC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE;aACtD,CAAA;SACF;QAED,MAAM,QAAQ,GAAG,+BAA+B,MAAM,EAAE,CAAA;QACxD,MAAM,SAAS,GAAG,MAAM,gBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAElD,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE;oBACJ,GAAG,EAAE,QAAQ;oBACb,EAAE,EAAE,SAAS;iBACd;aACF;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,0BAAkB,EAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACzD,MAAM,IAAA,8BAAkB,EAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAEvD,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACxC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;IAC9C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;AAC5C,CAAC;AA3DD,gCA2DC;AAED,MAAM,gBAAgB,GAAG,CAAC,EAAa,EAAE,OAAuB,EAAE,EAAE;IAClE,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,IAAI,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;KAChB;SAAM;QACL,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;KACrC;IACD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the LAN IP address for external device access (e.g., mobile preview)
|
|
3
|
+
*/
|
|
4
|
+
export declare function getLanIp(): string | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Get the full LAN URL with protocol for external device access
|
|
7
|
+
*/
|
|
8
|
+
export declare function getLanUrl(port: number | string): string | undefined;
|
|
@@ -0,0 +1,48 @@
|
|
|
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.getLanUrl = exports.getLanIp = void 0;
|
|
27
|
+
const os = __importStar(require("os"));
|
|
28
|
+
/**
|
|
29
|
+
* Get the LAN IP address for external device access (e.g., mobile preview)
|
|
30
|
+
*/
|
|
31
|
+
function getLanIp() {
|
|
32
|
+
const networkInterfaces = os.networkInterfaces();
|
|
33
|
+
return Object.values(networkInterfaces)
|
|
34
|
+
.flat()
|
|
35
|
+
.find((details) => details?.family === 'IPv4' && !details.internal && details.address !== '127.0.0.1')?.address;
|
|
36
|
+
}
|
|
37
|
+
exports.getLanIp = getLanIp;
|
|
38
|
+
/**
|
|
39
|
+
* Get the full LAN URL with protocol for external device access
|
|
40
|
+
*/
|
|
41
|
+
function getLanUrl(port) {
|
|
42
|
+
const ip = getLanIp();
|
|
43
|
+
if (!ip)
|
|
44
|
+
return undefined;
|
|
45
|
+
return `http://${ip}:${port}`;
|
|
46
|
+
}
|
|
47
|
+
exports.getLanUrl = getLanUrl;
|
|
48
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/start/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AAExB;;GAEG;AACH,SAAgB,QAAQ;IACtB,MAAM,iBAAiB,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;SACpC,IAAI,EAAE;SACN,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,EAAE,OAAO,CAAA;AACnH,CAAC;AALD,4BAKC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAqB;IAC7C,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAA;IACzB,OAAO,UAAU,EAAE,IAAI,IAAI,EAAE,CAAA;AAC/B,CAAC;AAJD,8BAIC"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/sdk-commands",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.16.0",
|
|
5
5
|
"author": "Decentraland",
|
|
6
6
|
"bin": {
|
|
7
7
|
"sdk-commands": "./dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@dcl/crypto": "^3.4.4",
|
|
11
|
-
"@dcl/ecs": "7.
|
|
11
|
+
"@dcl/ecs": "7.16.0",
|
|
12
12
|
"@dcl/gltf-validator-ts": "1.0.14",
|
|
13
13
|
"@dcl/hashing": "1.1.3",
|
|
14
14
|
"@dcl/inspector": "7.16.6",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"open": "^8.4.0",
|
|
42
42
|
"portfinder": "^1.0.32",
|
|
43
43
|
"prompts": "^2.4.2",
|
|
44
|
+
"qrcode": "^1.5.4",
|
|
44
45
|
"typescript": "^5.0.2",
|
|
45
46
|
"undici": "^5.19.1",
|
|
46
47
|
"uuid": "^9.0.1"
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
"@types/archiver": "^5.3.2",
|
|
50
51
|
"@types/node-fetch": "^2.6.4",
|
|
51
52
|
"@types/prompts": "^2.4.4",
|
|
53
|
+
"@types/qrcode": "^1.5.6",
|
|
52
54
|
"@types/uuid": "^9.0.5",
|
|
53
55
|
"@types/ws": "^8.5.4"
|
|
54
56
|
},
|
|
@@ -78,5 +80,5 @@
|
|
|
78
80
|
"displayName": "SDK",
|
|
79
81
|
"tsconfig": "./tsconfig.json"
|
|
80
82
|
},
|
|
81
|
-
"commit": "
|
|
83
|
+
"commit": "f242d6db068a1e0a32951557f13477c0be49fe0b"
|
|
82
84
|
}
|