@wix/himalaya-cli 0.1584.0 → 0.1585.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.
@@ -186,6 +186,11 @@ export interface DerivedAppMeta {
186
186
  /** `provisioning.json` `installedVerticals` — the site's verticals, which decide which Wix
187
187
  * notification destinations a derived route table covers. Read from disk at load time. */
188
188
  installedVerticals?: string[];
189
+ /** `provisioning.json` `siteId` when it is a real metaSiteId (`himi site create
190
+ * --write-provisioning` / `himi site analyze --apply` write one; the dev placeholder
191
+ * `development-site` is not). Resolves a frog `mobileAppId` template such as Branded Lite's
192
+ * `brandedLite_{msid}`: the binary is bound by its Headless clientId and holds no msid. */
193
+ provisionedMsid?: string;
189
194
  /** Forwarded from AppConfig.control for the OTA app-config channel. */
190
195
  control?: import("@wix/himalaya/core").AppControl;
191
196
  /** Forwarded from AppConfig.appLinkHosts for the OTA app-config channel. */
@@ -287,8 +292,6 @@ export interface DerivedAppMeta {
287
292
  /** Android App-Links identity for /.well-known/assetlinks.json. */
288
293
  androidAssetLinks?: import("@wix/himalaya/core").AndroidAssetLinks;
289
294
  }
290
- /** `platforms` is the app's parsed `platforms.json` (RFC 0051 surface envelope), and
291
- * `provisioning` the facts read from its `provisioning.json`. Both are passed IN rather than
292
- * read here because this module is types-only by design — the readers live in loader.ts and
293
- * provisioning-facts.ts, which already touch the filesystem. */
295
+ /** A Wix metaSiteId is a UUID; anything else in `provisioning.json` is a placeholder. */
296
+ export declare function isMetaSiteId(v: unknown): v is string;
294
297
  export declare function deriveAppMeta(name: string, m: AppDevModule, platforms?: Record<string, boolean>, provisioning?: import("./provisioning-facts.js").ProvisioningFacts): DerivedAppMeta;
@@ -1,5 +1,5 @@
1
1
  /** Every sigil the platform understands, without the leading `$`. */
2
- export declare const BINDING_SIGILS: readonly ["service", "flag", "item", "t"];
2
+ export declare const BINDING_SIGILS: readonly ["service", "flag", "item", "t", "app"];
3
3
  export type BindingSigil = (typeof BINDING_SIGILS)[number];
4
4
  /**
5
5
  * Matches any binding expression by its leading sigil.
@@ -12,11 +12,12 @@ export type BindingSigil = (typeof BINDING_SIGILS)[number];
12
12
  * are long enough for that collision to be implausible; one letter is not, and the
13
13
  * token grammar is always `$t:<key>` anyway.
14
14
  *
15
- * RFC 0074's `$app:` is deliberately NOT in this list yet. Every renderer gates on it (web
16
- * `isBinding`, RN), and none resolves `$app:` until the runtime arms land (S3/S5/S7): adding it here
17
- * alone made web/RN blank a field's literal sibling while iOS/Android printed it. It joins with the
18
- * resolvers, all surfaces at once. Until then `isAppBinding` / `parseAppBinding` below are the
19
- * validator's grammar, and the per-app gate keeps `$app:` out of served content.
15
+ * RFC 0074's `$app:` joined with S7 (#4640), the last runtime resolver arm: iOS/Android
16
+ * learned it in S3/S5 and the web renderer resolves it now, so every surface treats it as a
17
+ * binding at once. It needs its COLON for the same reason `t` does — the grammar is always
18
+ * `$app:<svc>.<path>`, and `\b` after `app` would capture a literal `"$app store"` and blank
19
+ * it. React Native deliberately has no `$app:` resolver (RFC 0074 §12): there the binding
20
+ * fails open to the field's literal sibling, exactly like an unbooted worker.
20
21
  */
21
22
  export declare const BINDING_SIGIL_RE: RegExp;
22
23
  /** Is this value a binding rather than a literal? */
@@ -8378,8 +8378,8 @@ function isComponentAllowedForFamily(key, family) {
8378
8378
  }
8379
8379
 
8380
8380
  // ../../core/ts/src/bindings.ts
8381
- var BINDING_SIGILS = ["service", "flag", "item", "t"];
8382
- var COLON_SIGILS = /* @__PURE__ */ new Set(["t"]);
8381
+ var BINDING_SIGILS = ["service", "flag", "item", "t", "app"];
8382
+ var COLON_SIGILS = /* @__PURE__ */ new Set(["t", "app"]);
8383
8383
  var BINDING_SIGIL_RE = new RegExp(
8384
8384
  `^\\$(?:${BINDING_SIGILS.filter((s) => !COLON_SIGILS.has(s)).join("|")})\\b|^\\$(?:${[...COLON_SIGILS].join("|")}):`
8385
8385
  );
@@ -6950,8 +6950,8 @@ var WIDGET_VOCABULARY = {
6950
6950
  var WIDGET_COMPONENTS = new Set(Object.keys(WIDGET_VOCABULARY));
6951
6951
 
6952
6952
  // ../../core/ts/src/bindings.ts
6953
- var BINDING_SIGILS = ["service", "flag", "item", "t"];
6954
- var COLON_SIGILS = /* @__PURE__ */ new Set(["t"]);
6953
+ var BINDING_SIGILS = ["service", "flag", "item", "t", "app"];
6954
+ var COLON_SIGILS = /* @__PURE__ */ new Set(["t", "app"]);
6955
6955
  var BINDING_SIGIL_RE = new RegExp(
6956
6956
  `^\\$(?:${BINDING_SIGILS.filter((s) => !COLON_SIGILS.has(s)).join("|")})\\b|^\\$(?:${[...COLON_SIGILS].join("|")}):`
6957
6957
  );
@@ -9353,6 +9353,10 @@ function isFunctionsOnlyConfig(config) {
9353
9353
  function uiConfig(config) {
9354
9354
  return config ?? {};
9355
9355
  }
9356
+ var META_SITE_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
9357
+ function isMetaSiteId(v) {
9358
+ return typeof v === "string" && META_SITE_ID.test(v);
9359
+ }
9356
9360
  function deriveAppMeta(name, m, platforms = {}, provisioning = {}) {
9357
9361
  const config = m.config;
9358
9362
  return {
@@ -9367,6 +9371,7 @@ function deriveAppMeta(name, m, platforms = {}, provisioning = {}) {
9367
9371
  push: servedPush(config.push),
9368
9372
  ...config.push?.screens ? { pushScreens: config.push.screens } : {},
9369
9373
  ...provisioning.installedVerticals ? { installedVerticals: provisioning.installedVerticals } : {},
9374
+ ...isMetaSiteId(provisioning.siteId) ? { provisionedMsid: provisioning.siteId } : {},
9370
9375
  control: config.control,
9371
9376
  appLinkHosts: config.appLinkHosts,
9372
9377
  permissionCopy: config.permissionCopy,
@@ -9486,6 +9491,7 @@ export {
9486
9491
  iconButton,
9487
9492
  image,
9488
9493
  isFunctionsOnlyConfig,
9494
+ isMetaSiteId,
9489
9495
  label,
9490
9496
  labeledContent,
9491
9497
  lazyList,