@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.
Files changed (2) hide show
  1. package/dist/cli.mjs +32 -8
  2. 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 Error(
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
- sendJson(res, 200, { widgets: await scanWidgets(dir) });
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
- const entry = (await scanWidgets(dir)).find((w) => w.widgetId === widgetId);
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.892.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": "2711a3e2d76994157462ea36e3473ad10589cbb578b30f8ce051045a"
67
+ "falconPackageHash": "f38e92c2fdf1c758a5d00cb4fa45c3ff0f9945647a1ef9932642c7f0"
68
68
  }