@wix/himalaya-cli 0.892.0 → 0.893.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/cli.mjs +32 -8
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -5241,7 +5241,6 @@ function resolveTranslation(value, catalog, sourceCatalog) {
|
|
|
5241
5241
|
var BINDING_SIGILS, BINDING_SIGIL_RE, TRANSLATION_PREFIX, TRANSLATION_KEY_RE;
|
|
5242
5242
|
var init_bindings = __esm({
|
|
5243
5243
|
"../../core/ts/src/bindings.ts"() {
|
|
5244
|
-
"use strict";
|
|
5245
5244
|
BINDING_SIGILS = ["service", "flag", "item", "t"];
|
|
5246
5245
|
BINDING_SIGIL_RE = new RegExp(
|
|
5247
5246
|
`^\\$(?:${BINDING_SIGILS.filter((s) => s !== "t").join("|")})\\b|^\\$t:`
|
|
@@ -28784,6 +28783,7 @@ __export(widgets_exports, {
|
|
|
28784
28783
|
MAX_PRODUCE_CACHE_ENTRIES: () => MAX_PRODUCE_CACHE_ENTRIES,
|
|
28785
28784
|
PRODUCE_CACHE_TTL_MS: () => PRODUCE_CACHE_TTL_MS,
|
|
28786
28785
|
WIDGET_BUDGET_MS: () => WIDGET_BUDGET_MS,
|
|
28786
|
+
WidgetRealmUnavailableError: () => WidgetRealmUnavailableError,
|
|
28787
28787
|
buildViewSnapshot: () => buildViewSnapshot,
|
|
28788
28788
|
buildWidgetSnapshot: () => buildWidgetSnapshot,
|
|
28789
28789
|
describeThrown: () => describeThrown,
|
|
@@ -28811,9 +28811,7 @@ async function widgetRealm() {
|
|
|
28811
28811
|
try {
|
|
28812
28812
|
return await realmPromise;
|
|
28813
28813
|
} catch (err) {
|
|
28814
|
-
throw new
|
|
28815
|
-
"the widget producer's isolated realm (QuickJS-in-WASM) could not be loaded, so widget bundles would have been evaluated in node:vm (which is not a security boundary): " + (err instanceof Error ? err.message : String(err))
|
|
28816
|
-
);
|
|
28814
|
+
throw new WidgetRealmUnavailableError(err);
|
|
28817
28815
|
}
|
|
28818
28816
|
}
|
|
28819
28817
|
function resetWidgetRealm() {
|
|
@@ -29433,7 +29431,7 @@ function freezeOverrideSnapshot(input, opts = {}) {
|
|
|
29433
29431
|
}
|
|
29434
29432
|
return snapshot2;
|
|
29435
29433
|
}
|
|
29436
|
-
var MAX_TIMELINE_FRAMES, WIDGET_BUDGET_MS, realmPromise, PRODUCE_CACHE_TTL_MS, MAX_PRODUCE_CACHE_ENTRIES, MAX_PRODUCE_ENTRY_BYTES, MAX_PRODUCE_CACHE_BYTES, produceCache, produceCacheGeneration, CAPTURE_SLOT, READBACK_SERVICE;
|
|
29434
|
+
var MAX_TIMELINE_FRAMES, WIDGET_BUDGET_MS, realmPromise, WidgetRealmUnavailableError, PRODUCE_CACHE_TTL_MS, MAX_PRODUCE_CACHE_ENTRIES, MAX_PRODUCE_ENTRY_BYTES, MAX_PRODUCE_CACHE_BYTES, produceCache, produceCacheGeneration, CAPTURE_SLOT, READBACK_SERVICE;
|
|
29437
29435
|
var init_widgets = __esm({
|
|
29438
29436
|
"../../core/dev-server/src/widgets.ts"() {
|
|
29439
29437
|
init_validator();
|
|
@@ -29441,6 +29439,15 @@ var init_widgets = __esm({
|
|
|
29441
29439
|
MAX_TIMELINE_FRAMES = 48;
|
|
29442
29440
|
WIDGET_BUDGET_MS = 5e3;
|
|
29443
29441
|
realmPromise = null;
|
|
29442
|
+
WidgetRealmUnavailableError = class extends Error {
|
|
29443
|
+
constructor(cause) {
|
|
29444
|
+
super(
|
|
29445
|
+
"the widget producer's isolated realm (QuickJS-in-WASM) could not be loaded, so widget bundles would have been evaluated in node:vm (which is not a security boundary): " + describeThrown(cause)
|
|
29446
|
+
);
|
|
29447
|
+
this.cause = cause;
|
|
29448
|
+
this.name = "WidgetRealmUnavailableError";
|
|
29449
|
+
}
|
|
29450
|
+
};
|
|
29444
29451
|
PRODUCE_CACHE_TTL_MS = 6e4;
|
|
29445
29452
|
MAX_PRODUCE_CACHE_ENTRIES = 2048;
|
|
29446
29453
|
MAX_PRODUCE_ENTRY_BYTES = 4 * 1024 * 1024;
|
|
@@ -31871,18 +31878,32 @@ async function scanWidgets(dir) {
|
|
|
31871
31878
|
out.push({ ...e, bundle: name });
|
|
31872
31879
|
}
|
|
31873
31880
|
} catch (err) {
|
|
31881
|
+
if (err instanceof WidgetRealmUnavailableError) throw err;
|
|
31874
31882
|
console.warn(`[widgets] skipped bundle "${name}": ${describeThrown(err)}`);
|
|
31875
31883
|
}
|
|
31876
31884
|
}
|
|
31877
31885
|
return out;
|
|
31878
31886
|
}
|
|
31879
31887
|
async function handleWidgetList(res, dir) {
|
|
31880
|
-
|
|
31888
|
+
try {
|
|
31889
|
+
sendJson(res, 200, { widgets: await scanWidgets(dir) });
|
|
31890
|
+
} catch (err) {
|
|
31891
|
+
if (!(err instanceof WidgetRealmUnavailableError)) throw err;
|
|
31892
|
+
console.error(`[widgets] ${err.message}`);
|
|
31893
|
+
sendJson(res, 503, { error: "widget_realm_unavailable", message: err.message });
|
|
31894
|
+
}
|
|
31881
31895
|
}
|
|
31882
31896
|
async function buildSnapshotForId(widgetId, dir) {
|
|
31883
31897
|
const override = widgetOverrides.get(widgetId);
|
|
31884
31898
|
if (override) return { ok: true, snapshot: override };
|
|
31885
|
-
|
|
31899
|
+
let entry;
|
|
31900
|
+
try {
|
|
31901
|
+
entry = (await scanWidgets(dir)).find((w) => w.widgetId === widgetId);
|
|
31902
|
+
} catch (err) {
|
|
31903
|
+
if (!(err instanceof WidgetRealmUnavailableError)) throw err;
|
|
31904
|
+
console.error(`[widgets] ${err.message}`);
|
|
31905
|
+
return { ok: false, status: 503, error: "widget_realm_unavailable", message: err.message };
|
|
31906
|
+
}
|
|
31886
31907
|
if (!entry) return { ok: false, status: 404, error: "widget_not_found" };
|
|
31887
31908
|
const loaded = await readBundleFile(entry.bundle, dir);
|
|
31888
31909
|
if (!loaded) return { ok: false, status: 404, error: "widget_not_found" };
|
|
@@ -55581,7 +55602,10 @@ async function producedWidgetFamilies(dir) {
|
|
|
55581
55602
|
let extracted;
|
|
55582
55603
|
try {
|
|
55583
55604
|
extracted = await widgetsModule.extractWidgets(js);
|
|
55584
|
-
} catch {
|
|
55605
|
+
} catch (err) {
|
|
55606
|
+
if (err instanceof widgetsModule.WidgetRealmUnavailableError) {
|
|
55607
|
+
return { families: void 0, source: "producer-unavailable" };
|
|
55608
|
+
}
|
|
55585
55609
|
continue;
|
|
55586
55610
|
}
|
|
55587
55611
|
for (const [widgetId, def] of Object.entries(extracted.widgets)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.893.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
|
|
6
6
|
"keywords": [
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"artifactId": "himalaya-cli"
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
|
-
"falconPackageHash": "
|
|
67
|
+
"falconPackageHash": "f38e92c2fdf1c758a5d00cb4fa45c3ff0f9945647a1ef9932642c7f0"
|
|
68
68
|
}
|