@helix3/helix-cli 0.1.13-helix3.136 → 0.1.13-helix3.138
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/README.md +8 -0
- package/dist/bundle.d.ts +4 -1
- package/dist/bundle.js +99 -20
- package/dist/bundle.js.map +1 -1
- package/dist/currency.d.ts +15 -0
- package/dist/currency.js +104 -0
- package/dist/currency.js.map +1 -1
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -1
- package/dist/init.js +3 -3
- package/dist/itemDef/tables.d.ts +1 -2
- package/dist/itemDef/tables.js +4 -2
- package/dist/itemDef/tables.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/lib.js +7 -5
- package/dist/lib.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/vendor/ability-manifest.mjs +212 -16
- package/vendor/installed-index.mjs +1 -1
package/README.md
CHANGED
|
@@ -141,6 +141,14 @@ so every newly accepted system-bearing web World is either safely compatible or
|
|
|
141
141
|
explicitly pinned. `latest` and `*` are not accepted publish ranges because they
|
|
142
142
|
can cross a compatibility boundary.
|
|
143
143
|
|
|
144
|
+
The platform runtime is on three **0.185.1**. The version is a property of the
|
|
145
|
+
pinned system — `humanoid-character@^0.3` resolves to an envelope declaring it —
|
|
146
|
+
and `helix install` bakes it into the import map immutably, so an already-published
|
|
147
|
+
world keeps running whatever it baked. A world behind that line still publishes:
|
|
148
|
+
`helix validate` and `helix publish` only warn, naming the upgrade path (re-pin
|
|
149
|
+
`^0.3`, `helix install --update`, rebuild, republish), and `helix doctor` reports it
|
|
150
|
+
(and a local devDep `three` that has drifted off the platform runtime) before you build.
|
|
151
|
+
|
|
144
152
|
That update contract is deliberately narrower than "the SDK updates itself":
|
|
145
153
|
|
|
146
154
|
| World dependency | What the built bytes contain | What can advance without republishing |
|
package/dist/bundle.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NormalizedHelixManifest } from
|
|
1
|
+
import { NormalizedHelixManifest } from "@hypersoniclabs/helix-manifest";
|
|
2
2
|
export type BundleFile = {
|
|
3
3
|
path: string;
|
|
4
4
|
size: number;
|
|
@@ -16,6 +16,9 @@ export declare function streamablePayload(files: BundleFile[]): {
|
|
|
16
16
|
files: BundleFile[];
|
|
17
17
|
bytes: number;
|
|
18
18
|
};
|
|
19
|
+
export declare const PLATFORM_THREE_VERSION = "0.185.1";
|
|
20
|
+
export declare function hostedThreeVersion(html: string): string | null;
|
|
21
|
+
export declare function behindPlatformThree(version: string): boolean;
|
|
19
22
|
export declare function checkBundle(root: string, options?: {
|
|
20
23
|
compatibleResolverOrigin?: string;
|
|
21
24
|
}): BundleCheck;
|
package/dist/bundle.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MULTIPLAYER_CONFIG_FILENAME = void 0;
|
|
3
|
+
exports.MULTIPLAYER_CONFIG_FILENAME = exports.PLATFORM_THREE_VERSION = void 0;
|
|
4
4
|
exports.streamablePayload = streamablePayload;
|
|
5
|
+
exports.hostedThreeVersion = hostedThreeVersion;
|
|
6
|
+
exports.behindPlatformThree = behindPlatformThree;
|
|
5
7
|
exports.checkBundle = checkBundle;
|
|
6
8
|
exports.multiplayerConfigBundleFile = multiplayerConfigBundleFile;
|
|
7
9
|
const node_fs_1 = require("node:fs");
|
|
@@ -22,7 +24,13 @@ const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
|
|
|
22
24
|
// This warns rather than errors on purpose: a creator may genuinely want to ship their own texture,
|
|
23
25
|
// and turning a legal bundle into a hard failure would be its own defect. What must not happen is
|
|
24
26
|
// silence.
|
|
25
|
-
const STREAMABLE_PAYLOAD_EXTENSIONS = [
|
|
27
|
+
const STREAMABLE_PAYLOAD_EXTENSIONS = [
|
|
28
|
+
".ktx2",
|
|
29
|
+
".glb",
|
|
30
|
+
".gltf",
|
|
31
|
+
".basis",
|
|
32
|
+
".spz",
|
|
33
|
+
];
|
|
26
34
|
function streamablePayload(files) {
|
|
27
35
|
const matched = files.filter((file) => STREAMABLE_PAYLOAD_EXTENSIONS.some((extension) => file.path.toLowerCase().endsWith(extension)));
|
|
28
36
|
return {
|
|
@@ -30,7 +38,13 @@ function streamablePayload(files) {
|
|
|
30
38
|
bytes: matched.reduce((sum, file) => sum + file.size, 0),
|
|
31
39
|
};
|
|
32
40
|
}
|
|
33
|
-
const IGNORED_DIRS = new Set([
|
|
41
|
+
const IGNORED_DIRS = new Set([
|
|
42
|
+
"node_modules",
|
|
43
|
+
".git",
|
|
44
|
+
".vscode",
|
|
45
|
+
".idea",
|
|
46
|
+
"screenshots",
|
|
47
|
+
]);
|
|
34
48
|
function walk(dir, root, out) {
|
|
35
49
|
for (const name of (0, node_fs_1.readdirSync)(dir)) {
|
|
36
50
|
if (IGNORED_DIRS.has(name))
|
|
@@ -41,15 +55,55 @@ function walk(dir, root, out) {
|
|
|
41
55
|
walk(absolutePath, root, out);
|
|
42
56
|
}
|
|
43
57
|
else {
|
|
44
|
-
out.push({
|
|
58
|
+
out.push({
|
|
59
|
+
path: (0, node_path_1.relative)(root, absolutePath).replaceAll("\\", "/"),
|
|
60
|
+
size: stat.size,
|
|
61
|
+
absolutePath,
|
|
62
|
+
});
|
|
45
63
|
}
|
|
46
64
|
}
|
|
47
65
|
}
|
|
48
66
|
// The `helix dev` simulator's import specifier — shipping it inside a published world would hand every
|
|
49
67
|
// player a menu that grants entitlements and fakes purchases. Matching the literal specifier is what
|
|
50
68
|
// keeps a minified bundle that never imported it from tripping the rule.
|
|
51
|
-
const DEV_SHELL_SPECIFIER =
|
|
52
|
-
const RUNTIME_DESCRIPTOR_FILENAME =
|
|
69
|
+
const DEV_SHELL_SPECIFIER = "helix-sdk/dev-shell";
|
|
70
|
+
const RUNTIME_DESCRIPTOR_FILENAME = "helix.runtime.json";
|
|
71
|
+
// The three line the platform runtime is on today. Advisory only — a world behind it still publishes
|
|
72
|
+
// (the check below warns, never refuses) — and hardcoded per CLI release.
|
|
73
|
+
exports.PLATFORM_THREE_VERSION = "0.185.1";
|
|
74
|
+
const HOSTED_THREE_URL = /\/runtime\/three\/(\d+\.\d+\.\d+)\/three\.module\.js$/;
|
|
75
|
+
// The hosted three version the built import map binds bare `three` to, or null when the map binds it
|
|
76
|
+
// somewhere else (or not at all) — a world that does not load the platform runtime is out of scope.
|
|
77
|
+
function hostedThreeVersion(html) {
|
|
78
|
+
const scripts = html.matchAll(/<script\b[^>]*\btype\s*=\s*["']importmap["'][^>]*>([\s\S]*?)<\/script>/gi);
|
|
79
|
+
for (const match of scripts) {
|
|
80
|
+
let imports;
|
|
81
|
+
try {
|
|
82
|
+
imports = JSON.parse(match[1]).imports;
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (typeof imports !== "object" || imports === null)
|
|
88
|
+
continue;
|
|
89
|
+
const url = imports.three;
|
|
90
|
+
if (typeof url !== "string")
|
|
91
|
+
continue;
|
|
92
|
+
const version = HOSTED_THREE_URL.exec(url);
|
|
93
|
+
if (version)
|
|
94
|
+
return version[1];
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
function behindPlatformThree(version) {
|
|
99
|
+
const parts = version.split(".").map(Number);
|
|
100
|
+
const platform = exports.PLATFORM_THREE_VERSION.split(".").map(Number);
|
|
101
|
+
for (let i = 0; i < platform.length; i += 1) {
|
|
102
|
+
if (parts[i] !== platform[i])
|
|
103
|
+
return parts[i] < platform[i];
|
|
104
|
+
}
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
53
107
|
// Local validation with the exact same rules the server enforces at publish — shared via
|
|
54
108
|
// @hypersoniclabs/helix-manifest, so "validate passed but publish failed" can't happen for contract
|
|
55
109
|
// reasons. ONE rule is CLI-only: the dev-simulator scan below, also the first rule here reading CONTENT.
|
|
@@ -64,7 +118,9 @@ function checkBundle(root, options = {}) {
|
|
|
64
118
|
return {
|
|
65
119
|
manifest: null,
|
|
66
120
|
files: [],
|
|
67
|
-
errors: [
|
|
121
|
+
errors: [
|
|
122
|
+
`cannot read directory: ${err instanceof Error ? err.message : err}`,
|
|
123
|
+
],
|
|
68
124
|
warnings: [],
|
|
69
125
|
};
|
|
70
126
|
}
|
|
@@ -74,7 +130,7 @@ function checkBundle(root, options = {}) {
|
|
|
74
130
|
errors.push(`no ${helix_manifest_1.MANIFEST_FILENAME} found at the bundle root`);
|
|
75
131
|
}
|
|
76
132
|
else {
|
|
77
|
-
const result = (0, helix_manifest_1.parseManifest)((0, node_fs_1.readFileSync)(manifestFile.absolutePath,
|
|
133
|
+
const result = (0, helix_manifest_1.parseManifest)((0, node_fs_1.readFileSync)(manifestFile.absolutePath, "utf8"));
|
|
78
134
|
if (result.valid)
|
|
79
135
|
manifest = result.manifest;
|
|
80
136
|
else
|
|
@@ -100,18 +156,29 @@ function checkBundle(root, options = {}) {
|
|
|
100
156
|
errors.push(`entry "${manifest.entry}" does not exist in the bundle`);
|
|
101
157
|
}
|
|
102
158
|
const manifestSystems = manifest
|
|
103
|
-
? manifest.systems ??
|
|
159
|
+
? (manifest.systems ??
|
|
160
|
+
{})
|
|
104
161
|
: {};
|
|
105
162
|
if (Object.keys(manifestSystems).length > 0) {
|
|
106
163
|
const descriptorFile = files.find((file) => file.path === RUNTIME_DESCRIPTOR_FILENAME);
|
|
107
164
|
if (!descriptorFile) {
|
|
108
|
-
|
|
165
|
+
// "run `helix install` and try again" is a loop for the two ways this
|
|
166
|
+
// actually happens: a CLI older than the externalization contract has no
|
|
167
|
+
// code that writes the descriptor at all, and a build that does not copy
|
|
168
|
+
// `public/` into the output will drop it however many times you re-run.
|
|
169
|
+
// Name both, so the reader can tell which one they are in.
|
|
170
|
+
errors.push(`platform systems are declared but ${RUNTIME_DESCRIPTOR_FILENAME} is missing. ` +
|
|
171
|
+
`\`helix install\` writes it to public/${RUNTIME_DESCRIPTOR_FILENAME} and the build must copy it into the bundle. ` +
|
|
172
|
+
`If re-running \`helix install\` does not produce that file, this CLI predates the platform-externalization contract — ` +
|
|
173
|
+
`upgrade it (\`npm i -g @helix3/helix-cli@latest\`) and rebuild.`);
|
|
109
174
|
}
|
|
110
175
|
else {
|
|
111
176
|
try {
|
|
112
|
-
const descriptor = JSON.parse((0, node_fs_1.readFileSync)(descriptorFile.absolutePath,
|
|
177
|
+
const descriptor = JSON.parse((0, node_fs_1.readFileSync)(descriptorFile.absolutePath, "utf8"));
|
|
113
178
|
const htmlFile = files.find((file) => file.path === manifest.entry);
|
|
114
|
-
const html = htmlFile
|
|
179
|
+
const html = htmlFile
|
|
180
|
+
? (0, node_fs_1.readFileSync)(htmlFile.absolutePath, "utf8")
|
|
181
|
+
: "";
|
|
115
182
|
errors.push(...(0, helix_manifest_1.validatePlatformRuntimeDelivery)({
|
|
116
183
|
descriptor,
|
|
117
184
|
manifestSystems,
|
|
@@ -124,22 +191,34 @@ function checkBundle(root, options = {}) {
|
|
|
124
191
|
}
|
|
125
192
|
}
|
|
126
193
|
}
|
|
194
|
+
// Advisory: a world behind the platform's three line still publishes and keeps running whatever it baked
|
|
195
|
+
// (the import map is immutable per publish) — the warning just names the upgrade path.
|
|
196
|
+
const entryFile = manifest
|
|
197
|
+
? files.find((file) => file.path === manifest.entry)
|
|
198
|
+
: undefined;
|
|
199
|
+
if (entryFile) {
|
|
200
|
+
const targeted = hostedThreeVersion((0, node_fs_1.readFileSync)(entryFile.absolutePath, "utf8"));
|
|
201
|
+
if (targeted !== null && behindPlatformThree(targeted)) {
|
|
202
|
+
warnings.push(`this world targets three ${targeted}; the platform runtime is on ${exports.PLATFORM_THREE_VERSION} — ` +
|
|
203
|
+
"to move it: re-pin humanoid-character to ^0.3 in helix.json, run `helix install --update`, rebuild, republish.");
|
|
204
|
+
}
|
|
205
|
+
}
|
|
127
206
|
// v0.2+ worlds embed system/ability CODE under helix_modules/ but never HELIX assets —
|
|
128
207
|
// those stream from the CDN. A clip/texture under helix_modules/ is a licensing leak.
|
|
129
208
|
// v0.3 gets the same gate — MUST stay in sync with the backend's build gate (instant-world-builds.service.ts).
|
|
130
|
-
if (manifest?.helixVersion ===
|
|
209
|
+
if (manifest?.helixVersion === "0.2" || manifest?.helixVersion === "0.3") {
|
|
131
210
|
const leaked = (0, helix_manifest_1.embeddedModuleAssets)(files.map((f) => f.path));
|
|
132
211
|
if (leaked.length) {
|
|
133
|
-
errors.push(`HELIX assets must stream from the CDN, not ship under helix_modules/: ${leaked.join(
|
|
212
|
+
errors.push(`HELIX assets must stream from the CDN, not ship under helix_modules/: ${leaked.join(", ")}`);
|
|
134
213
|
}
|
|
135
214
|
}
|
|
136
215
|
// Read lazily and only for .js — every other rule here works off the directory listing alone.
|
|
137
216
|
for (const file of files) {
|
|
138
|
-
if (!file.path.toLowerCase().endsWith(
|
|
217
|
+
if (!file.path.toLowerCase().endsWith(".js"))
|
|
139
218
|
continue;
|
|
140
219
|
let source;
|
|
141
220
|
try {
|
|
142
|
-
source = (0, node_fs_1.readFileSync)(file.absolutePath,
|
|
221
|
+
source = (0, node_fs_1.readFileSync)(file.absolutePath, "utf8");
|
|
143
222
|
}
|
|
144
223
|
catch {
|
|
145
224
|
continue;
|
|
@@ -156,9 +235,9 @@ function checkBundle(root, options = {}) {
|
|
|
156
235
|
.map((file) => `${file.path} (${(file.size / 1024).toFixed(0)} KiB)`);
|
|
157
236
|
const rest = streamable.files.length > shown.length
|
|
158
237
|
? ` and ${streamable.files.length - shown.length} more`
|
|
159
|
-
:
|
|
238
|
+
: "";
|
|
160
239
|
warnings.push(`${streamable.files.length} streamable asset file(s) ship inside this bundle, ` +
|
|
161
|
-
`${(streamable.bytes / 1024 / 1024).toFixed(1)} MB of it: ${shown.join(
|
|
240
|
+
`${(streamable.bytes / 1024 / 1024).toFixed(1)} MB of it: ${shown.join(", ")}${rest}. ` +
|
|
162
241
|
`HELIX serves .ktx2/.glb from its CDN — reference the Vault URLs at runtime and delete these ` +
|
|
163
242
|
`from the bundle instead of shipping them to every player.`);
|
|
164
243
|
}
|
|
@@ -168,7 +247,7 @@ function checkBundle(root, options = {}) {
|
|
|
168
247
|
// derived from helix.json's validated `multiplayer` block: the backend signs its URL into the room
|
|
169
248
|
// credential (configUrl) and the room fetches + caches it by buildId. The FILENAME is a cross-repo
|
|
170
249
|
// contract — it MUST match the backend's MULTIPLAYER_CONFIG_FILENAME and the room's config loader.
|
|
171
|
-
exports.MULTIPLAYER_CONFIG_FILENAME =
|
|
250
|
+
exports.MULTIPLAYER_CONFIG_FILENAME = "multiplayer.json";
|
|
172
251
|
// Build the multiplayer.json bundle entry from a validated manifest, or null for a non-multiplayer world.
|
|
173
252
|
// Content is in-memory (we never touch the creator's source dir): the normalized `multiplayer` block
|
|
174
253
|
// verbatim, so the room realizes exactly what publish validated. absolutePath records where the artifact
|
|
@@ -176,7 +255,7 @@ exports.MULTIPLAYER_CONFIG_FILENAME = 'multiplayer.json';
|
|
|
176
255
|
function multiplayerConfigBundleFile(root, manifest) {
|
|
177
256
|
if (!manifest.multiplayer)
|
|
178
257
|
return null;
|
|
179
|
-
const content = Buffer.from(`${JSON.stringify(manifest.multiplayer, null, 2)}\n`,
|
|
258
|
+
const content = Buffer.from(`${JSON.stringify(manifest.multiplayer, null, 2)}\n`, "utf8");
|
|
180
259
|
return {
|
|
181
260
|
path: exports.MULTIPLAYER_CONFIG_FILENAME,
|
|
182
261
|
size: content.byteLength,
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/currency.d.ts
CHANGED
|
@@ -76,4 +76,19 @@ export type PlatformDeliveryStatus = {
|
|
|
76
76
|
markersPresent: boolean;
|
|
77
77
|
};
|
|
78
78
|
export declare function assessPlatformDelivery(dir: string, origin?: string): PlatformDeliveryStatus | null;
|
|
79
|
+
export type ThreeCurrencyFinding = 'current' | 'behind-platform' | 'devdep-skew' | 'unknown';
|
|
80
|
+
export type ThreeCurrencyRow = {
|
|
81
|
+
finding: ThreeCurrencyFinding;
|
|
82
|
+
note: string;
|
|
83
|
+
};
|
|
84
|
+
export type ThreeCurrency = {
|
|
85
|
+
/** THREE_VERSION from src/helix.runtime.ts, else the version inside the index.html import-map URL. */
|
|
86
|
+
worldVersion: string | null;
|
|
87
|
+
/** The `three` the locked system envelope declares — what the next install would wire. */
|
|
88
|
+
envelopeVersion: string | null;
|
|
89
|
+
/** The world's local devDep range, verbatim from package.json. */
|
|
90
|
+
devDep: string | null;
|
|
91
|
+
rows: ThreeCurrencyRow[];
|
|
92
|
+
};
|
|
93
|
+
export declare function assessThreeCurrency(dir: string): ThreeCurrency | null;
|
|
79
94
|
export declare function assessWorldCurrency(dir: string, client?: CatalogClient): Promise<WorldCurrency | null>;
|
package/dist/currency.js
CHANGED
|
@@ -5,11 +5,13 @@ exports.assessWeaponPins = assessWeaponPins;
|
|
|
5
5
|
exports.assessVaultAssets = assessVaultAssets;
|
|
6
6
|
exports.assessInteractables = assessInteractables;
|
|
7
7
|
exports.assessPlatformDelivery = assessPlatformDelivery;
|
|
8
|
+
exports.assessThreeCurrency = assessThreeCurrency;
|
|
8
9
|
exports.assessWorldCurrency = assessWorldCurrency;
|
|
9
10
|
const node_fs_1 = require("node:fs");
|
|
10
11
|
const node_path_1 = require("node:path");
|
|
11
12
|
const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
|
|
12
13
|
const api_1 = require("./api");
|
|
14
|
+
const bundle_1 = require("./bundle");
|
|
13
15
|
const config_1 = require("./config");
|
|
14
16
|
const install_1 = require("./install");
|
|
15
17
|
const inspect_1 = require("./itemDef/inspect");
|
|
@@ -290,6 +292,108 @@ function assessPlatformDelivery(dir, origin) {
|
|
|
290
292
|
});
|
|
291
293
|
return { errors: verdict.errors, delivery: verdict.delivery, descriptorPresent: true, viteExternalizes, markersPresent };
|
|
292
294
|
}
|
|
295
|
+
const RUNTIME_THREE_VERSION = /export const THREE_VERSION = ['"]([^'"]+)['"]/;
|
|
296
|
+
function readTextOrNull(path) {
|
|
297
|
+
if (!(0, node_fs_1.existsSync)(path))
|
|
298
|
+
return null;
|
|
299
|
+
try {
|
|
300
|
+
return (0, node_fs_1.readFileSync)(path, 'utf8');
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function compareVersions(a, b) {
|
|
307
|
+
const x = a.split('.').map(Number);
|
|
308
|
+
const y = b.split('.').map(Number);
|
|
309
|
+
for (let i = 0; i < 3; i += 1) {
|
|
310
|
+
if ((x[i] ?? 0) !== (y[i] ?? 0))
|
|
311
|
+
return (x[i] ?? 0) < (y[i] ?? 0) ? -1 : 1;
|
|
312
|
+
}
|
|
313
|
+
return 0;
|
|
314
|
+
}
|
|
315
|
+
// npm-range containment, narrowed to what a world's package.json actually carries: `^x.y.z`, `~x.y.z`
|
|
316
|
+
// or an exact version. Anything else (a dist-tag, a union, a file/URL spec) is unjudgeable and counts
|
|
317
|
+
// as covering — a false skew report is worse than a missed one.
|
|
318
|
+
function threeRangeCovers(range, version) {
|
|
319
|
+
const parsed = /^([~^]?)(\d+)\.(\d+)(?:\.(\d+))?$/.exec(range.trim());
|
|
320
|
+
if (!parsed)
|
|
321
|
+
return true;
|
|
322
|
+
const [, op, major, minor, patch] = parsed;
|
|
323
|
+
const base = `${major}.${minor}.${patch ?? '0'}`;
|
|
324
|
+
const v = version.split('.').map(Number);
|
|
325
|
+
if (op === '')
|
|
326
|
+
return patch === undefined ? v[0] === Number(major) && v[1] === Number(minor) : compareVersions(version, base) === 0;
|
|
327
|
+
if (compareVersions(version, base) < 0)
|
|
328
|
+
return false;
|
|
329
|
+
if (op === '~' || Number(major) === 0)
|
|
330
|
+
return v[0] === Number(major) && v[1] === Number(minor);
|
|
331
|
+
return v[0] === Number(major);
|
|
332
|
+
}
|
|
333
|
+
// null when `dir` isn't a world or declares no systems — same scoping as assessPlatformDelivery: a
|
|
334
|
+
// world that pins no system never gets a three wired, so there is nothing to be current with.
|
|
335
|
+
function assessThreeCurrency(dir) {
|
|
336
|
+
const manifestPath = install_1.WORLD_MANIFEST_LOCATIONS.map((rel) => (0, node_path_1.join)(dir, rel)).find((p) => (0, node_fs_1.existsSync)(p));
|
|
337
|
+
if (!manifestPath)
|
|
338
|
+
return null;
|
|
339
|
+
let systems;
|
|
340
|
+
try {
|
|
341
|
+
systems = JSON.parse((0, node_fs_1.readFileSync)(manifestPath, 'utf8')).systems ?? {};
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
if (Object.keys(systems).length === 0)
|
|
347
|
+
return null;
|
|
348
|
+
const runtimeModule = readTextOrNull((0, node_path_1.join)(dir, 'src', install_1.RUNTIME_MODULE));
|
|
349
|
+
const html = readTextOrNull((0, node_path_1.join)(dir, 'index.html'));
|
|
350
|
+
const worldVersion = (runtimeModule ? RUNTIME_THREE_VERSION.exec(runtimeModule)?.[1] ?? null : null) ??
|
|
351
|
+
(html ? (0, bundle_1.hostedThreeVersion)(html) : null);
|
|
352
|
+
const lockText = readTextOrNull((0, node_path_1.join)(dir, install_1.LOCKFILE));
|
|
353
|
+
let envelopeVersion = null;
|
|
354
|
+
if (lockText) {
|
|
355
|
+
try {
|
|
356
|
+
envelopeVersion = JSON.parse(lockText).systems.find((s) => s.three)?.three ?? null;
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
envelopeVersion = null;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
const packageText = readTextOrNull((0, node_path_1.join)(dir, 'package.json'));
|
|
363
|
+
let devDep = null;
|
|
364
|
+
if (packageText) {
|
|
365
|
+
try {
|
|
366
|
+
const pkg = JSON.parse(packageText);
|
|
367
|
+
devDep = pkg.devDependencies?.three ?? pkg.dependencies?.three ?? null;
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
devDep = null;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
const rows = [];
|
|
374
|
+
const baked = worldVersion ?? envelopeVersion;
|
|
375
|
+
if (baked === null) {
|
|
376
|
+
rows.push({ finding: 'unknown', note: 'systems are pinned but no three version is wired yet — run: helix install' });
|
|
377
|
+
}
|
|
378
|
+
else if ((0, bundle_1.behindPlatformThree)(baked)) {
|
|
379
|
+
rows.push({
|
|
380
|
+
finding: 'behind-platform',
|
|
381
|
+
note: `this world targets three ${baked}; the platform runtime is on ${bundle_1.PLATFORM_THREE_VERSION} — to move it: re-pin humanoid-character to ^0.3 in helix.json, run \`helix install --update\`, rebuild, republish`,
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
// The envelope wins when both are known: it is what the next install bakes, so the devDep must
|
|
385
|
+
// follow it rather than the version already on disk.
|
|
386
|
+
const hosted = envelopeVersion ?? worldVersion;
|
|
387
|
+
if (hosted !== null && devDep !== null && !threeRangeCovers(devDep, hosted)) {
|
|
388
|
+
rows.push({
|
|
389
|
+
finding: 'devdep-skew',
|
|
390
|
+
note: `package.json pins three ${devDep} but the platform runtime is ${hosted} — the jsm addons bundle from the LOCAL copy while three's core loads from the CDN, and \`helix dev\` runs the local one (dev ≠ published); set three and @types/three to ^${hosted}, reinstall, rebuild`,
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
if (rows.length === 0)
|
|
394
|
+
rows.push({ finding: 'current', note: '' });
|
|
395
|
+
return { worldVersion, envelopeVersion, devDep, rows };
|
|
396
|
+
}
|
|
293
397
|
// null when `dir` isn't a world (no helix.json in either manifest location) — callers omit the
|
|
294
398
|
// section silently. `manifest.systems` absent is treated as `{}`; advisory checks still run.
|
|
295
399
|
async function assessWorldCurrency(dir, client) {
|
package/dist/currency.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3432,6 +3432,18 @@ function formatInteractableRow(row) {
|
|
|
3432
3432
|
return ` ⚠ ${label}: ${row.note} — the installed copy keeps working`;
|
|
3433
3433
|
}
|
|
3434
3434
|
}
|
|
3435
|
+
function formatThreeCurrencyRow(status, row) {
|
|
3436
|
+
switch (row.finding) {
|
|
3437
|
+
case 'current':
|
|
3438
|
+
return ` ✔ three ${status.worldVersion ?? status.envelopeVersion}: the wired runtime, the locked envelope and the local devDep (${status.devDep ?? 'none'}) agree`;
|
|
3439
|
+
case 'behind-platform':
|
|
3440
|
+
return ` ⚠ ${row.note}`;
|
|
3441
|
+
case 'devdep-skew':
|
|
3442
|
+
return ` ⚠ ${row.note}`;
|
|
3443
|
+
case 'unknown':
|
|
3444
|
+
return ` ? ${row.note}`;
|
|
3445
|
+
}
|
|
3446
|
+
}
|
|
3435
3447
|
function formatWorldSystemRow(row) {
|
|
3436
3448
|
const withNote = (line) => (row.note ? `${line} — ${row.note}` : line);
|
|
3437
3449
|
switch (row.finding) {
|
|
@@ -3645,6 +3657,13 @@ program
|
|
|
3645
3657
|
console.log(' ⚠ index.html lacks the <!-- helix:three:start/end --> markers — helix install cannot write the import map');
|
|
3646
3658
|
}
|
|
3647
3659
|
}
|
|
3660
|
+
const three = (0, lib_1.assessThreeCurrency)((0, node_path_1.resolve)(opts.project));
|
|
3661
|
+
if (three) {
|
|
3662
|
+
console.log('\nThree runtime (the version the published world loads from the CDN):');
|
|
3663
|
+
for (const row of three.rows) {
|
|
3664
|
+
console.log(formatThreeCurrencyRow(three, row));
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3648
3667
|
// Item findings are a separate consent lane from system pins: updating systems does not imply
|
|
3649
3668
|
// updating items, so these sections are always framed as optional.
|
|
3650
3669
|
const weaponPins = await (0, lib_1.assessWeaponPins)((0, node_path_1.resolve)(opts.project));
|