@dcl/sdk-commands 7.21.1-22917715332.commit-e5d969d → 7.21.1-22918726402.commit-ee210ee
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/code-to-composite/scene-executor.js +0 -1
- package/dist/commands/code-to-composite/scene-executor.js.map +1 -1
- package/dist/commands/deploy/utils.d.ts +2 -0
- package/dist/commands/deploy/utils.js +2 -1
- package/dist/commands/deploy/utils.js.map +1 -1
- package/dist/commands/sdk-server-logs/index.d.ts +21 -0
- package/dist/commands/sdk-server-logs/index.js +262 -0
- package/dist/commands/sdk-server-logs/index.js.map +1 -0
- package/dist/commands/start/explorer-alpha.js +4 -0
- package/dist/commands/start/explorer-alpha.js.map +1 -1
- package/dist/commands/start/hammurabi-server.d.ts +19 -0
- package/dist/commands/start/hammurabi-server.js +78 -0
- package/dist/commands/start/hammurabi-server.js.map +1 -0
- package/dist/commands/start/index.d.ts +2 -1
- package/dist/commands/start/index.js +39 -32
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/server/routes.js +5 -1
- package/dist/commands/start/server/routes.js.map +1 -1
- package/dist/commands/start/server/runtime-env.d.ts +71 -0
- package/dist/commands/start/server/runtime-env.js +226 -0
- package/dist/commands/start/server/runtime-env.js.map +1 -0
- package/dist/commands/start/server/storage-service.d.ts +8 -0
- package/dist/commands/start/server/storage-service.js +156 -0
- package/dist/commands/start/server/storage-service.js.map +1 -0
- package/dist/commands/start/types.d.ts +3 -0
- package/dist/commands/start/utils.d.ts +34 -0
- package/dist/commands/start/utils.js +104 -0
- package/dist/commands/start/utils.js.map +1 -1
- package/dist/commands/storage/env.d.ts +5 -0
- package/dist/commands/storage/env.js +86 -0
- package/dist/commands/storage/env.js.map +1 -0
- package/dist/commands/storage/index.d.ts +26 -0
- package/dist/commands/storage/index.js +142 -0
- package/dist/commands/storage/index.js.map +1 -0
- package/dist/commands/storage/player.d.ts +5 -0
- package/dist/commands/storage/player.js +143 -0
- package/dist/commands/storage/player.js.map +1 -0
- package/dist/commands/storage/scene.d.ts +5 -0
- package/dist/commands/storage/scene.js +105 -0
- package/dist/commands/storage/scene.js.map +1 -0
- package/dist/commands/storage/shared.d.ts +62 -0
- package/dist/commands/storage/shared.js +249 -0
- package/dist/commands/storage/shared.js.map +1 -0
- package/dist/commands/storage/types.d.ts +56 -0
- package/dist/commands/storage/types.js +23 -0
- package/dist/commands/storage/types.js.map +1 -0
- package/dist/components/analytics.d.ts +70 -1
- package/dist/components/analytics.js +3 -2
- package/dist/components/analytics.js.map +1 -1
- package/dist/logic/auth-chain-headers.d.ts +11 -0
- package/dist/logic/auth-chain-headers.js +25 -0
- package/dist/logic/auth-chain-headers.js.map +1 -0
- package/dist/logic/bundle.js +57 -13
- package/dist/logic/bundle.js.map +1 -1
- package/dist/logic/composite.d.ts +1 -0
- package/dist/logic/composite.js +13 -1
- package/dist/logic/composite.js.map +1 -1
- package/dist/logic/config.d.ts +1 -0
- package/dist/logic/config.js +7 -0
- package/dist/logic/config.js.map +1 -1
- package/dist/logic/error.d.ts +1 -1
- package/dist/logic/error.js.map +1 -1
- package/dist/logic/exec.d.ts +1 -0
- package/dist/logic/exec.js +2 -2
- package/dist/logic/exec.js.map +1 -1
- package/dist/logic/lang.js +1 -0
- package/dist/logic/lang.js.map +1 -1
- package/dist/logic/scene-validations.d.ts +8 -1
- package/dist/logic/scene-validations.js.map +1 -1
- package/package.json +7 -7
|
@@ -66,6 +66,7 @@ const beautiful_logs_1 = require("../../logic/beautiful-logs");
|
|
|
66
66
|
const project_validations_1 = require("../../logic/project-validations");
|
|
67
67
|
const explorer_alpha_1 = require("./explorer-alpha");
|
|
68
68
|
const utils_1 = require("./utils");
|
|
69
|
+
const hammurabi_server_1 = require("./hammurabi-server");
|
|
69
70
|
exports.args = (0, args_1.declareArgs)({
|
|
70
71
|
'--dir': String,
|
|
71
72
|
'--help': Boolean,
|
|
@@ -83,7 +84,6 @@ exports.args = (0, args_1.declareArgs)({
|
|
|
83
84
|
'-w': '--no-watch',
|
|
84
85
|
'--skip-build': Boolean,
|
|
85
86
|
'--data-layer': Boolean,
|
|
86
|
-
'--customEntryPoint': Boolean,
|
|
87
87
|
'--explorer-alpha': Boolean,
|
|
88
88
|
'--web-explorer': Boolean,
|
|
89
89
|
'--hub': Boolean,
|
|
@@ -98,7 +98,9 @@ exports.args = (0, args_1.declareArgs)({
|
|
|
98
98
|
'--skip-auth-screen': Boolean,
|
|
99
99
|
'--landscape-terrain-enabled': Boolean,
|
|
100
100
|
'-n': Boolean,
|
|
101
|
-
'--bevy-web': Boolean
|
|
101
|
+
'--bevy-web': Boolean,
|
|
102
|
+
'--no-client': Boolean,
|
|
103
|
+
'--multi-instance': Boolean
|
|
102
104
|
});
|
|
103
105
|
async function help(options) {
|
|
104
106
|
options.components.logger.log(`
|
|
@@ -123,8 +125,9 @@ async function help(options) {
|
|
|
123
125
|
--skip-auth-screen Skip the auth screen (accepts 'true' or 'false').
|
|
124
126
|
--landscape-terrain-enabled Enable landscape terrain.
|
|
125
127
|
-n Open a new instance of the Client even if one is already running.
|
|
126
|
-
--bevy-web Opens preview using the Bevy Web browser window
|
|
127
|
-
--mobile
|
|
128
|
+
--bevy-web Opens preview using the Bevy Web browser window.
|
|
129
|
+
--mobile Show QR code for mobile preview on the same network.
|
|
130
|
+
--multi-instance Allow running multiple Explorer instances simultaneously.
|
|
128
131
|
|
|
129
132
|
|
|
130
133
|
Examples:
|
|
@@ -149,10 +152,10 @@ async function main(options) {
|
|
|
149
152
|
const withDataLayer = options.args['--data-layer'];
|
|
150
153
|
const enableWeb3 = options.args['--web3'];
|
|
151
154
|
const isHub = !!options.args['--hub'];
|
|
152
|
-
|
|
153
|
-
const bevyWeb =
|
|
154
|
-
const isMobile =
|
|
155
|
-
const explorerAlpha = !options.args['--web-explorer'] && !bevyWeb;
|
|
155
|
+
const skipClient = !!options.args['--no-client'];
|
|
156
|
+
const bevyWeb = !!options.args['--bevy-web'] && !skipClient;
|
|
157
|
+
const isMobile = options.args['--mobile'] && !skipClient;
|
|
158
|
+
const explorerAlpha = !options.args['--web-explorer'] && !bevyWeb && !skipClient;
|
|
156
159
|
let hasSmartWearable = false;
|
|
157
160
|
const workspace = await (0, workspace_validations_1.getValidWorkspace)(options.components, workingDirectory);
|
|
158
161
|
/* istanbul ignore if */
|
|
@@ -166,15 +169,7 @@ async function main(options) {
|
|
|
166
169
|
// first run `npm run build`, this can be disabled with --skip-build
|
|
167
170
|
// then start the embedded compiler, this can be disabled with --no-watch
|
|
168
171
|
if (watch || build) {
|
|
169
|
-
await (0, build_1.buildScene)({
|
|
170
|
-
...options,
|
|
171
|
-
args: {
|
|
172
|
-
'--dir': project.workingDirectory,
|
|
173
|
-
'--watch': watch,
|
|
174
|
-
_: [],
|
|
175
|
-
'--customEntryPoint': !!options.args['--customEntryPoint']
|
|
176
|
-
}
|
|
177
|
-
}, project);
|
|
172
|
+
await (0, build_1.buildScene)({ ...options, args: { '--dir': project.workingDirectory, '--watch': watch, _: [] } }, project);
|
|
178
173
|
await (0, project_validations_1.startValidations)(options.components, project.workingDirectory);
|
|
179
174
|
}
|
|
180
175
|
// track the event
|
|
@@ -237,6 +232,22 @@ async function main(options) {
|
|
|
237
232
|
}
|
|
238
233
|
}
|
|
239
234
|
await startComponents();
|
|
235
|
+
// Start Hammurabi server if needed (stored outside components to avoid lifecycle management)
|
|
236
|
+
let hammurabiServer;
|
|
237
|
+
const project = workspace.projects[0];
|
|
238
|
+
if (project) {
|
|
239
|
+
const realm = `http://localhost:${port}`;
|
|
240
|
+
hammurabiServer = (0, hammurabi_server_1.spawnAuthServer)(components, project, realm);
|
|
241
|
+
// Register cleanup handler for hammurabi server
|
|
242
|
+
if (hammurabiServer) {
|
|
243
|
+
const cleanup = () => {
|
|
244
|
+
if (hammurabiServer && !hammurabiServer.killed) {
|
|
245
|
+
hammurabiServer.kill('SIGTERM');
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
components.signaler.programClosed.then(cleanup).catch(() => { });
|
|
249
|
+
}
|
|
250
|
+
}
|
|
240
251
|
const networkInterfaces = os.networkInterfaces();
|
|
241
252
|
const availableURLs = [];
|
|
242
253
|
(0, beautiful_logs_1.printProgressInfo)(options.components.logger, 'Preview server is now running!');
|
|
@@ -248,15 +259,14 @@ async function main(options) {
|
|
|
248
259
|
(networkInterfaces[dev] || []).forEach((details) => {
|
|
249
260
|
if (details.family === 'IPv4') {
|
|
250
261
|
const oldBackpack = 'DISABLE_backpack_editor_v2=&ENABLE_backpack_editor_v1';
|
|
251
|
-
|
|
252
|
-
let url = `${baseUrl}?position=${baseCoords.x}%2C${baseCoords.y}&${oldBackpack}`;
|
|
262
|
+
let addr = `http://${details.address}:${port}?position=${baseCoords.x}%2C${baseCoords.y}&${oldBackpack}`;
|
|
253
263
|
if (debug) {
|
|
254
|
-
|
|
264
|
+
addr = `${addr}&SCENE_DEBUG_PANEL`;
|
|
255
265
|
}
|
|
256
266
|
if (enableWeb3 || hasSmartWearable) {
|
|
257
|
-
|
|
267
|
+
addr = `${addr}&ENABLE_WEB3`;
|
|
258
268
|
}
|
|
259
|
-
availableURLs.push(
|
|
269
|
+
availableURLs.push(addr);
|
|
260
270
|
}
|
|
261
271
|
});
|
|
262
272
|
});
|
|
@@ -264,29 +274,26 @@ async function main(options) {
|
|
|
264
274
|
const lanUrl = (0, utils_1.getLanUrl)(port);
|
|
265
275
|
// Push localhost and 127.0.0.1 at top
|
|
266
276
|
const sortedURLs = availableURLs.sort((a, _b) => {
|
|
267
|
-
return a.
|
|
268
|
-
? -1
|
|
269
|
-
: 1;
|
|
277
|
+
return a.toLowerCase().includes('localhost') || a.includes('127.0.0.1') || a.includes('0.0.0.0') ? -1 : 1;
|
|
270
278
|
});
|
|
271
|
-
const bevyUrl = `https://decentraland.zone/bevy-web/?preview=true&realm=${sortedURLs[0].
|
|
279
|
+
const bevyUrl = `https://decentraland.zone/bevy-web/?preview=true&realm=${new URL(sortedURLs[0]).origin}&position=${baseCoords.x},${baseCoords.y}`;
|
|
272
280
|
if (!explorerAlpha) {
|
|
273
281
|
if (bevyWeb) {
|
|
274
282
|
components.logger.log(` ${bevyUrl}`);
|
|
275
283
|
}
|
|
276
284
|
else {
|
|
277
285
|
for (const addr of sortedURLs) {
|
|
278
|
-
components.logger.log(` ${addr
|
|
286
|
+
components.logger.log(` ${addr}`);
|
|
279
287
|
}
|
|
280
288
|
}
|
|
281
289
|
}
|
|
282
290
|
components.logger.log('\nPress CTRL+C to exit\n');
|
|
283
|
-
// Open preferably localhost/127.0.0.1
|
|
284
291
|
if (explorerAlpha && !isMobile) {
|
|
285
|
-
const realm = new URL(sortedURLs[0]
|
|
292
|
+
const realm = new URL(sortedURLs[0]).origin;
|
|
286
293
|
await (0, explorer_alpha_1.runExplorerAlpha)(components, { cwd: workingDirectory, realm, baseCoords, isHub, args: options.args });
|
|
287
294
|
}
|
|
288
|
-
if (
|
|
289
|
-
const deepLink = `decentraland://open?preview=${lanUrl}&position=${baseCoords.x}
|
|
295
|
+
if (options.args['--mobile'] && lanUrl) {
|
|
296
|
+
const deepLink = `decentraland://open?preview=${lanUrl}&position=${baseCoords.x},${baseCoords.y}`;
|
|
290
297
|
qrcode_1.default.toString(deepLink, { type: 'terminal', small: true }, (err, qr) => {
|
|
291
298
|
if (!err) {
|
|
292
299
|
components.logger.log(log_1.colors.bold('\nScan to preview on mobile: \n'));
|
|
@@ -298,7 +305,7 @@ async function main(options) {
|
|
|
298
305
|
// Open preferably localhost/127.0.0.1
|
|
299
306
|
if ((!explorerAlpha || bevyWeb) && openBrowser && sortedURLs.length) {
|
|
300
307
|
try {
|
|
301
|
-
const url = bevyWeb ? bevyUrl : sortedURLs[0]
|
|
308
|
+
const url = bevyWeb ? bevyUrl : sortedURLs[0];
|
|
302
309
|
await (0, open_1.default)(url);
|
|
303
310
|
}
|
|
304
311
|
catch (_) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/start/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const http_server_1 = require("@well-known-components/http-server");
|
|
|
10
10
|
const ws_1 = require("@well-known-components/http-server/dist/ws");
|
|
11
11
|
const ws_2 = require("../data-layer/ws");
|
|
12
12
|
const endpoints_1 = require("./endpoints");
|
|
13
|
+
const storage_service_1 = require("./storage-service");
|
|
13
14
|
const realm_1 = require("./realm");
|
|
14
15
|
const utils_1 = require("../utils");
|
|
15
16
|
exports.sceneUpdateClients = new Set();
|
|
@@ -30,6 +31,7 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
30
31
|
return next();
|
|
31
32
|
});
|
|
32
33
|
const localSceneParcels = [];
|
|
34
|
+
const baseParcel = workspace.projects[0].scene.scene.base;
|
|
33
35
|
for (const project of workspace.projects) {
|
|
34
36
|
for (const parcel of project.scene.scene.parcels) {
|
|
35
37
|
localSceneParcels.push(parcel);
|
|
@@ -44,7 +46,8 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
44
46
|
body: { ok: false, error: 'No LAN IP address found' }
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
|
-
const
|
|
49
|
+
const [x, y] = baseParcel.split(',');
|
|
50
|
+
const deepLink = `decentraland://open?preview=${lanUrl}&position=${x},${y}`;
|
|
48
51
|
const qrDataUrl = await qrcode_1.default.toDataURL(deepLink);
|
|
49
52
|
return {
|
|
50
53
|
headers: { 'content-type': 'application/json' },
|
|
@@ -58,6 +61,7 @@ async function wireRouter(components, workspace, dataLayer) {
|
|
|
58
61
|
};
|
|
59
62
|
});
|
|
60
63
|
(0, realm_1.setupRealmAndComms)(components, router, localSceneParcels);
|
|
64
|
+
(0, storage_service_1.setupStorageEndpoints)(components, router, workspace);
|
|
61
65
|
await (0, endpoints_1.setupEcs6Endpoints)(components, router, workspace);
|
|
62
66
|
components.server.setContext(components);
|
|
63
67
|
components.server.use(router.allowedMethods());
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { CliComponents } from '../../../components';
|
|
2
|
+
/**
|
|
3
|
+
* Structure for all server-side storage data.
|
|
4
|
+
* Stored in sdk-commands package directory (hidden from users).
|
|
5
|
+
*/
|
|
6
|
+
export interface ServerStorage {
|
|
7
|
+
env: Record<string, string>;
|
|
8
|
+
world: Record<string, unknown>;
|
|
9
|
+
players: Record<string, Record<string, unknown>>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Loads all server-side storage data from server-storage.json.
|
|
13
|
+
*/
|
|
14
|
+
export declare function loadServerStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<ServerStorage>;
|
|
15
|
+
/**
|
|
16
|
+
* Saves all server-side storage data to server-storage.json.
|
|
17
|
+
*/
|
|
18
|
+
export declare function saveServerStorage(components: Pick<CliComponents, 'fs' | 'logger'>, data: ServerStorage): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Loads environment variables from a .env file in the project directory.
|
|
21
|
+
* Returns a Map of key-value pairs.
|
|
22
|
+
*/
|
|
23
|
+
export declare function loadEnvFile(components: Pick<CliComponents, 'fs' | 'logger'>, projectDirectory: string): Promise<Map<string, string>>;
|
|
24
|
+
/**
|
|
25
|
+
* Gets runtime environment variables.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getEnvStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<Record<string, string>>;
|
|
28
|
+
/**
|
|
29
|
+
* Gets merged environment variables.
|
|
30
|
+
* Runtime values (from server-storage.json) override .env values.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getMergedEnv(components: Pick<CliComponents, 'fs' | 'logger'>, projectDirectory: string): Promise<Map<string, string>>;
|
|
33
|
+
/**
|
|
34
|
+
* Sets a runtime environment variable.
|
|
35
|
+
*/
|
|
36
|
+
export declare function setEnvValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string, value: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Deletes a runtime environment variable.
|
|
39
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
40
|
+
*/
|
|
41
|
+
export declare function deleteEnvValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Gets all world storage data.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getWorldStorage(components: Pick<CliComponents, 'fs' | 'logger'>): Promise<Record<string, unknown>>;
|
|
46
|
+
/**
|
|
47
|
+
* Gets a value from world storage.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<unknown | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Sets a value in world storage.
|
|
52
|
+
*/
|
|
53
|
+
export declare function setWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string, value: unknown): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Deletes a value from world storage.
|
|
56
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
57
|
+
*/
|
|
58
|
+
export declare function deleteWorldValue(components: Pick<CliComponents, 'fs' | 'logger'>, key: string): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Gets a value from a player's storage.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getPlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string): Promise<unknown | undefined>;
|
|
63
|
+
/**
|
|
64
|
+
* Sets a value in a player's storage.
|
|
65
|
+
*/
|
|
66
|
+
export declare function setPlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string, value: unknown): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Deletes a value from a player's storage.
|
|
69
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
70
|
+
*/
|
|
71
|
+
export declare function deletePlayerValue(components: Pick<CliComponents, 'fs' | 'logger'>, address: string, key: string): Promise<boolean>;
|
|
@@ -0,0 +1,226 @@
|
|
|
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.loadServerStorage = loadServerStorage;
|
|
7
|
+
exports.saveServerStorage = saveServerStorage;
|
|
8
|
+
exports.loadEnvFile = loadEnvFile;
|
|
9
|
+
exports.getEnvStorage = getEnvStorage;
|
|
10
|
+
exports.getMergedEnv = getMergedEnv;
|
|
11
|
+
exports.setEnvValue = setEnvValue;
|
|
12
|
+
exports.deleteEnvValue = deleteEnvValue;
|
|
13
|
+
exports.getWorldStorage = getWorldStorage;
|
|
14
|
+
exports.getWorldValue = getWorldValue;
|
|
15
|
+
exports.setWorldValue = setWorldValue;
|
|
16
|
+
exports.deleteWorldValue = deleteWorldValue;
|
|
17
|
+
exports.getPlayerValue = getPlayerValue;
|
|
18
|
+
exports.setPlayerValue = setPlayerValue;
|
|
19
|
+
exports.deletePlayerValue = deletePlayerValue;
|
|
20
|
+
const path_1 = __importDefault(require("path"));
|
|
21
|
+
// Find the sdk-commands package root by resolving its package.json
|
|
22
|
+
const SDK_COMMANDS_ROOT = path_1.default.dirname(require.resolve('@dcl/sdk-commands/package.json'));
|
|
23
|
+
const RUNTIME_DATA_DIR = path_1.default.join(SDK_COMMANDS_ROOT, '.runtime-data');
|
|
24
|
+
const SERVER_STORAGE_FILE = 'server-storage.json';
|
|
25
|
+
const DEFAULT_STORAGE = {
|
|
26
|
+
env: {},
|
|
27
|
+
world: {},
|
|
28
|
+
players: {}
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Ensures the runtime data directory exists.
|
|
32
|
+
*/
|
|
33
|
+
async function ensureRuntimeDir(components) {
|
|
34
|
+
try {
|
|
35
|
+
const exists = await components.fs.directoryExists(RUNTIME_DATA_DIR);
|
|
36
|
+
if (!exists) {
|
|
37
|
+
await components.fs.mkdir(RUNTIME_DATA_DIR, { recursive: true });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
components.logger.error(`Failed to create runtime data directory: ${error}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Loads all server-side storage data from server-storage.json.
|
|
46
|
+
*/
|
|
47
|
+
async function loadServerStorage(components) {
|
|
48
|
+
const storagePath = path_1.default.join(RUNTIME_DATA_DIR, SERVER_STORAGE_FILE);
|
|
49
|
+
try {
|
|
50
|
+
const exists = await components.fs.fileExists(storagePath);
|
|
51
|
+
if (!exists) {
|
|
52
|
+
return { ...DEFAULT_STORAGE };
|
|
53
|
+
}
|
|
54
|
+
const content = await components.fs.readFile(storagePath, 'utf-8');
|
|
55
|
+
const parsed = JSON.parse(content);
|
|
56
|
+
// Merge with defaults to ensure all keys exist
|
|
57
|
+
return {
|
|
58
|
+
env: parsed.env ?? {},
|
|
59
|
+
world: parsed.world ?? {},
|
|
60
|
+
players: parsed.players ?? {}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
components.logger.error(`Failed to load ${SERVER_STORAGE_FILE}: ${error}`);
|
|
65
|
+
return { ...DEFAULT_STORAGE };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Saves all server-side storage data to server-storage.json.
|
|
70
|
+
*/
|
|
71
|
+
async function saveServerStorage(components, data) {
|
|
72
|
+
await ensureRuntimeDir(components);
|
|
73
|
+
const storagePath = path_1.default.join(RUNTIME_DATA_DIR, SERVER_STORAGE_FILE);
|
|
74
|
+
try {
|
|
75
|
+
await components.fs.writeFile(storagePath, JSON.stringify(data, null, 2));
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
components.logger.error(`Failed to save ${SERVER_STORAGE_FILE}: ${error}`);
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Loads environment variables from a .env file in the project directory.
|
|
84
|
+
* Returns a Map of key-value pairs.
|
|
85
|
+
*/
|
|
86
|
+
async function loadEnvFile(components, projectDirectory) {
|
|
87
|
+
const envMap = new Map();
|
|
88
|
+
const envPath = path_1.default.join(projectDirectory, '.env');
|
|
89
|
+
try {
|
|
90
|
+
const exists = await components.fs.fileExists(envPath);
|
|
91
|
+
if (!exists) {
|
|
92
|
+
return envMap;
|
|
93
|
+
}
|
|
94
|
+
const content = await components.fs.readFile(envPath, 'utf-8');
|
|
95
|
+
const lines = content.split('\n');
|
|
96
|
+
for (const line of lines) {
|
|
97
|
+
const trimmed = line.trim();
|
|
98
|
+
// Skip empty lines and comments
|
|
99
|
+
if (!trimmed || trimmed.startsWith('#')) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const equalIndex = trimmed.indexOf('=');
|
|
103
|
+
if (equalIndex > 0) {
|
|
104
|
+
const key = trimmed.slice(0, equalIndex).trim();
|
|
105
|
+
let value = trimmed.slice(equalIndex + 1).trim();
|
|
106
|
+
// Remove surrounding quotes if present
|
|
107
|
+
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
108
|
+
value = value.slice(1, -1);
|
|
109
|
+
}
|
|
110
|
+
envMap.set(key, value);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
components.logger.error(`Failed to load .env file: ${error}`);
|
|
116
|
+
}
|
|
117
|
+
return envMap;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Gets runtime environment variables.
|
|
121
|
+
*/
|
|
122
|
+
async function getEnvStorage(components) {
|
|
123
|
+
const storage = await loadServerStorage(components);
|
|
124
|
+
return storage.env;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Gets merged environment variables.
|
|
128
|
+
* Runtime values (from server-storage.json) override .env values.
|
|
129
|
+
*/
|
|
130
|
+
async function getMergedEnv(components, projectDirectory) {
|
|
131
|
+
const envFile = await loadEnvFile(components, projectDirectory);
|
|
132
|
+
const runtimeEnv = await getEnvStorage(components);
|
|
133
|
+
// Runtime overrides .env
|
|
134
|
+
for (const [key, value] of Object.entries(runtimeEnv)) {
|
|
135
|
+
envFile.set(key, value);
|
|
136
|
+
}
|
|
137
|
+
return envFile;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sets a runtime environment variable.
|
|
141
|
+
*/
|
|
142
|
+
async function setEnvValue(components, key, value) {
|
|
143
|
+
const storage = await loadServerStorage(components);
|
|
144
|
+
storage.env[key] = value;
|
|
145
|
+
await saveServerStorage(components, storage);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Deletes a runtime environment variable.
|
|
149
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
150
|
+
*/
|
|
151
|
+
async function deleteEnvValue(components, key) {
|
|
152
|
+
const storage = await loadServerStorage(components);
|
|
153
|
+
if (!(key in storage.env)) {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
delete storage.env[key];
|
|
157
|
+
await saveServerStorage(components, storage);
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Gets all world storage data.
|
|
162
|
+
*/
|
|
163
|
+
async function getWorldStorage(components) {
|
|
164
|
+
const storage = await loadServerStorage(components);
|
|
165
|
+
return storage.world;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Gets a value from world storage.
|
|
169
|
+
*/
|
|
170
|
+
async function getWorldValue(components, key) {
|
|
171
|
+
const storage = await loadServerStorage(components);
|
|
172
|
+
return storage.world[key];
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Sets a value in world storage.
|
|
176
|
+
*/
|
|
177
|
+
async function setWorldValue(components, key, value) {
|
|
178
|
+
const storage = await loadServerStorage(components);
|
|
179
|
+
storage.world[key] = value;
|
|
180
|
+
await saveServerStorage(components, storage);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Deletes a value from world storage.
|
|
184
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
185
|
+
*/
|
|
186
|
+
async function deleteWorldValue(components, key) {
|
|
187
|
+
const storage = await loadServerStorage(components);
|
|
188
|
+
if (!(key in storage.world)) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
delete storage.world[key];
|
|
192
|
+
await saveServerStorage(components, storage);
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Gets a value from a player's storage.
|
|
197
|
+
*/
|
|
198
|
+
async function getPlayerValue(components, address, key) {
|
|
199
|
+
const storage = await loadServerStorage(components);
|
|
200
|
+
return storage.players[address]?.[key];
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Sets a value in a player's storage.
|
|
204
|
+
*/
|
|
205
|
+
async function setPlayerValue(components, address, key, value) {
|
|
206
|
+
const storage = await loadServerStorage(components);
|
|
207
|
+
if (!storage.players[address]) {
|
|
208
|
+
storage.players[address] = {};
|
|
209
|
+
}
|
|
210
|
+
storage.players[address][key] = value;
|
|
211
|
+
await saveServerStorage(components, storage);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Deletes a value from a player's storage.
|
|
215
|
+
* Returns true if key existed and was deleted, false otherwise.
|
|
216
|
+
*/
|
|
217
|
+
async function deletePlayerValue(components, address, key) {
|
|
218
|
+
const storage = await loadServerStorage(components);
|
|
219
|
+
if (!storage.players[address] || !(key in storage.players[address])) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
delete storage.players[address][key];
|
|
223
|
+
await saveServerStorage(components, storage);
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=runtime-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../../../../src/commands/start/server/runtime-env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Router } from '@well-known-components/http-server';
|
|
2
|
+
import { PreviewComponents } from '../types';
|
|
3
|
+
import { CliComponents } from '../../../components';
|
|
4
|
+
import { Workspace } from '../../../logic/workspace-validations';
|
|
5
|
+
/**
|
|
6
|
+
* Sets up storage-related endpoints for environment variables, scene storage, and player storage.
|
|
7
|
+
*/
|
|
8
|
+
export declare function setupStorageEndpoints(components: CliComponents, router: Router<PreviewComponents>, workspace: Workspace): void;
|