@wix/himalaya-cli 0.1419.0 → 0.1421.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/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/define-app.d.ts
CHANGED
|
@@ -824,7 +824,7 @@ export interface TelemetrySink {
|
|
|
824
824
|
* integration; Phase A reserves the names so apps configuring telemetry sinks
|
|
825
825
|
* before the engine lands can prepare matching schemas without later churn.
|
|
826
826
|
*/
|
|
827
|
-
export type KnownTelemetryEventType = "screen_view" | "action_dispatched" | "action_completed" | "action_failed" | "cache_layer_miss" | "toggles_applied" | "unknown_component_fallback" | "bridge_call_denied" | "bridge_dispatch" | "bridge_wix_call" | "worker_boot_started" | "worker_boot_completed" | "worker_crashed" | "worker_console" | "bundle_load_failed" | "bundle_load_revoked" | "app_launched" | "app_foreground" | "app_background" | "launch_time" | "screen_load" | "network_request" | "app_crashed" | "error_logged" | "experiment_exposed" | "flag_evaluated";
|
|
827
|
+
export type KnownTelemetryEventType = "screen_view" | "action_dispatched" | "action_completed" | "action_failed" | "cache_layer_miss" | "toggles_applied" | "unknown_component_fallback" | "bridge_call_denied" | "bridge_dispatch" | "bridge_wix_call" | "worker_boot_started" | "worker_boot_completed" | "worker_crashed" | "worker_console" | "bundle_load_failed" | "bundle_load_revoked" | "descriptor_decode_failed" | "descriptor_decode_degraded" | "app_launched" | "app_foreground" | "app_background" | "launch_time" | "screen_load" | "network_request" | "app_crashed" | "error_logged" | "experiment_exposed" | "flag_evaluated";
|
|
828
828
|
export interface TelemetryEvent {
|
|
829
829
|
/**
|
|
830
830
|
* Platform-mandated taxonomy, per invariant 23. Use [KnownTelemetryEventType]
|
package/dist/cli.mjs
CHANGED
|
@@ -9002,6 +9002,81 @@ var init_token_suggest = __esm({
|
|
|
9002
9002
|
}
|
|
9003
9003
|
});
|
|
9004
9004
|
|
|
9005
|
+
// ../worker-globals/allowlist.ts
|
|
9006
|
+
var ES2020_GLOBALS, IMPLICIT_BINDINGS, WORKER_SURFACE, WORKER_ALLOWLIST;
|
|
9007
|
+
var init_allowlist = __esm({
|
|
9008
|
+
"../worker-globals/allowlist.ts"() {
|
|
9009
|
+
ES2020_GLOBALS = [
|
|
9010
|
+
// value properties
|
|
9011
|
+
"globalThis",
|
|
9012
|
+
"undefined",
|
|
9013
|
+
"NaN",
|
|
9014
|
+
"Infinity",
|
|
9015
|
+
// function properties
|
|
9016
|
+
"parseInt",
|
|
9017
|
+
"parseFloat",
|
|
9018
|
+
"isNaN",
|
|
9019
|
+
"isFinite",
|
|
9020
|
+
"encodeURI",
|
|
9021
|
+
"encodeURIComponent",
|
|
9022
|
+
"decodeURI",
|
|
9023
|
+
"decodeURIComponent",
|
|
9024
|
+
// fundamental objects
|
|
9025
|
+
"Object",
|
|
9026
|
+
"Function",
|
|
9027
|
+
"Boolean",
|
|
9028
|
+
"Symbol",
|
|
9029
|
+
// errors
|
|
9030
|
+
"Error",
|
|
9031
|
+
"EvalError",
|
|
9032
|
+
"RangeError",
|
|
9033
|
+
"ReferenceError",
|
|
9034
|
+
"SyntaxError",
|
|
9035
|
+
"TypeError",
|
|
9036
|
+
"URIError",
|
|
9037
|
+
// numbers, dates, text
|
|
9038
|
+
"Number",
|
|
9039
|
+
"BigInt",
|
|
9040
|
+
"Math",
|
|
9041
|
+
"Date",
|
|
9042
|
+
"String",
|
|
9043
|
+
"RegExp",
|
|
9044
|
+
// indexed / keyed collections
|
|
9045
|
+
"Array",
|
|
9046
|
+
"Map",
|
|
9047
|
+
"Set",
|
|
9048
|
+
"WeakMap",
|
|
9049
|
+
"WeakSet",
|
|
9050
|
+
// binary data
|
|
9051
|
+
"ArrayBuffer",
|
|
9052
|
+
"DataView",
|
|
9053
|
+
"Int8Array",
|
|
9054
|
+
"Uint8Array",
|
|
9055
|
+
"Uint8ClampedArray",
|
|
9056
|
+
"Int16Array",
|
|
9057
|
+
"Uint16Array",
|
|
9058
|
+
"Int32Array",
|
|
9059
|
+
"Uint32Array",
|
|
9060
|
+
"Float32Array",
|
|
9061
|
+
"Float64Array",
|
|
9062
|
+
"BigInt64Array",
|
|
9063
|
+
"BigUint64Array",
|
|
9064
|
+
// structured data, control abstraction, reflection
|
|
9065
|
+
"JSON",
|
|
9066
|
+
"Promise",
|
|
9067
|
+
"Reflect",
|
|
9068
|
+
"Proxy"
|
|
9069
|
+
];
|
|
9070
|
+
IMPLICIT_BINDINGS = ["arguments"];
|
|
9071
|
+
WORKER_SURFACE = ["himalaya", "console"];
|
|
9072
|
+
WORKER_ALLOWLIST = /* @__PURE__ */ new Set([
|
|
9073
|
+
...ES2020_GLOBALS,
|
|
9074
|
+
...IMPLICIT_BINDINGS,
|
|
9075
|
+
...WORKER_SURFACE
|
|
9076
|
+
]);
|
|
9077
|
+
}
|
|
9078
|
+
});
|
|
9079
|
+
|
|
9005
9080
|
// ../../core/dev-server/src/l10n-strings.ts
|
|
9006
9081
|
function isUserVisibleCopy(s2) {
|
|
9007
9082
|
return isCopyShaped(s2) && /[A-Za-z--ۿ]/.test(s2);
|
|
@@ -10091,13 +10166,30 @@ var init_rich_content = __esm({
|
|
|
10091
10166
|
}
|
|
10092
10167
|
});
|
|
10093
10168
|
|
|
10169
|
+
// ../../core/dev-server/src/realm-parity.ts
|
|
10170
|
+
function withheldGlobalsSource(hide) {
|
|
10171
|
+
if (!hide?.length) return "";
|
|
10172
|
+
return `${JSON.stringify(hide)}.forEach(function (n) { try { delete globalThis[n]; } catch (e) { /* non-configurable: leave it */ } });`;
|
|
10173
|
+
}
|
|
10174
|
+
function realmInstallsIntl(intl, hide) {
|
|
10175
|
+
return intl === true && !(hide ?? []).includes("Intl");
|
|
10176
|
+
}
|
|
10177
|
+
var init_realm_parity = __esm({
|
|
10178
|
+
"../../core/dev-server/src/realm-parity.ts"() {
|
|
10179
|
+
}
|
|
10180
|
+
});
|
|
10181
|
+
|
|
10094
10182
|
// ../../core/dev-server/src/validate-descriptor.core.ts
|
|
10095
10183
|
var validate_descriptor_core_exports = {};
|
|
10096
10184
|
__export(validate_descriptor_core_exports, {
|
|
10097
10185
|
CORE_PACKAGES: () => CORE_PACKAGES,
|
|
10098
10186
|
CRAWL_BLOCKING_PASSES: () => CRAWL_BLOCKING_PASSES,
|
|
10099
10187
|
DESCRIPTOR_DEPTH_BUDGETS: () => DESCRIPTOR_DEPTH_BUDGETS,
|
|
10188
|
+
DEVICE_NETWORK_WITHHELD: () => DEVICE_NETWORK_WITHHELD,
|
|
10189
|
+
DEVICE_PARITY_CANDIDATES: () => DEVICE_PARITY_CANDIDATES,
|
|
10100
10190
|
DEVICE_PARITY_WITHHELD: () => DEVICE_PARITY_WITHHELD,
|
|
10191
|
+
DEVICE_STRIPPED_HOST_GLOBALS: () => DEVICE_STRIPPED_HOST_GLOBALS,
|
|
10192
|
+
DEVICE_WITHHELD: () => DEVICE_WITHHELD,
|
|
10101
10193
|
EMBEDDED_BINDING: () => EMBEDDED_BINDING,
|
|
10102
10194
|
INTEGER_MODIFIERS: () => INTEGER_MODIFIERS,
|
|
10103
10195
|
INTEGER_PROPS: () => INTEGER_PROPS,
|
|
@@ -10121,6 +10213,7 @@ __export(validate_descriptor_core_exports, {
|
|
|
10121
10213
|
componentPropFindings: () => componentPropFindings,
|
|
10122
10214
|
depthBudgetFindings: () => depthBudgetFindings,
|
|
10123
10215
|
depthBudgetIssues: () => depthBudgetIssues,
|
|
10216
|
+
deviceParityWithheldFrom: () => deviceParityWithheldFrom,
|
|
10124
10217
|
dryRunBundle: () => dryRunBundle,
|
|
10125
10218
|
enumFieldNames: () => enumFieldNames,
|
|
10126
10219
|
extractBundleContract: () => extractBundleContract,
|
|
@@ -10137,6 +10230,7 @@ __export(validate_descriptor_core_exports, {
|
|
|
10137
10230
|
pathCrossesOpaqueAuthorJson: () => pathCrossesOpaqueAuthorJson,
|
|
10138
10231
|
pathValue: () => pathValue,
|
|
10139
10232
|
pinnedIntrinsicsSource: () => pinnedIntrinsicsSource,
|
|
10233
|
+
realmInstallsIntl: () => realmInstallsIntl,
|
|
10140
10234
|
resolveActionEvaluator: () => resolveActionEvaluator,
|
|
10141
10235
|
resolveBootEvaluator: () => resolveBootEvaluator,
|
|
10142
10236
|
resolveEvaluator: () => resolveEvaluator,
|
|
@@ -10146,6 +10240,7 @@ __export(validate_descriptor_core_exports, {
|
|
|
10146
10240
|
setDefaultEvaluator: () => setDefaultEvaluator,
|
|
10147
10241
|
topBarFindings: () => topBarFindings,
|
|
10148
10242
|
validateScreenDescriptor: () => validateScreenDescriptor,
|
|
10243
|
+
withheldGlobalsSource: () => withheldGlobalsSource,
|
|
10149
10244
|
workerSubtreeAllowed: () => workerSubtreeAllowed
|
|
10150
10245
|
});
|
|
10151
10246
|
function makeInert() {
|
|
@@ -10322,6 +10417,15 @@ function nondeterministicServices(bundleJs, opts = {}) {
|
|
|
10322
10417
|
if (threw > 0) return names.sort();
|
|
10323
10418
|
return names.filter((name) => safeStringify(a2[name]) !== safeStringify(b2[name])).sort();
|
|
10324
10419
|
}
|
|
10420
|
+
function deviceParityWithheldFrom(root) {
|
|
10421
|
+
const names = new Set(DEVICE_PARITY_CANDIDATES);
|
|
10422
|
+
for (let o2 = root; o2 && o2 !== Object.prototype; o2 = Object.getPrototypeOf(o2)) {
|
|
10423
|
+
for (const name of Object.getOwnPropertyNames(o2)) names.add(name);
|
|
10424
|
+
}
|
|
10425
|
+
names.delete("constructor");
|
|
10426
|
+
names.delete("__proto__");
|
|
10427
|
+
return [...names].filter((name) => /^[A-Za-z_$][\w$]*$/.test(name) && !WORKER_ALLOWLIST.has(name)).sort();
|
|
10428
|
+
}
|
|
10325
10429
|
function setDefaultEvaluator(evaluator) {
|
|
10326
10430
|
defaultEvaluator = evaluator;
|
|
10327
10431
|
}
|
|
@@ -10476,9 +10580,12 @@ async function bootBundleWorker(bundleJs, opts) {
|
|
|
10476
10580
|
}, info() {
|
|
10477
10581
|
}, debug() {
|
|
10478
10582
|
} },
|
|
10479
|
-
// A raw fetch is still a signal, not a silent hang (mirrors runBundleSandbox).
|
|
10480
|
-
|
|
10481
|
-
|
|
10583
|
+
// A raw fetch is still a signal, not a silent hang (mirrors runBundleSandbox). Under
|
|
10584
|
+
// deviceParity it is ABSENT instead, as on every device (#4499 — DEVICE_NETWORK_WITHHELD).
|
|
10585
|
+
...opts.deviceParity ? {} : {
|
|
10586
|
+
fetch: () => {
|
|
10587
|
+
throw new Error("`fetch` is not available \u2014 workers load data via the sanctioned Wix transport (`@himalaya/wix-*` or `globalThis.himalaya.wixApi.call`), not raw `fetch`.");
|
|
10588
|
+
}
|
|
10482
10589
|
},
|
|
10483
10590
|
// Under deviceParity these are ABSENT so a bundle touching one throws here exactly as it
|
|
10484
10591
|
// would on the FLOOR. Measured, not assumed (engine-parity runners, #1367): JSC and the
|
|
@@ -12468,13 +12575,14 @@ function validateScreenDescriptor(screenId, descriptor, opts = {}) {
|
|
|
12468
12575
|
services: Object.keys(services)
|
|
12469
12576
|
};
|
|
12470
12577
|
}
|
|
12471
|
-
var CRAWL_BLOCKING_PASSES, BOOT_EVAL_TIMEOUT_MS, DRIFT_PROBES, DEVICE_PARITY_WITHHELD, defaultEvaluator, bootEvaluator, actionEvaluator, NATIVE_PROP_ENUMS, KNOWN_PROPS, IN_ARRAY_BINDING_PROPS, SERVICE_SIGIL, INTEGER_PROPS, NATIVE_REQUIRED_PROPS, bareNestedClass, NATIVE_NESTED_CLASSES, NATIVE_MODIFIERS_CLASS, NATIVE_DESCRIPTOR_CLASS, NATIVE_DESCRIPTOR_NESTED, NATIVE_NESTED_PROPS, LENIENT_TOP_BAR_BLOCKS, MODIFIER_KEYS, INTEGER_MODIFIERS, MODIFIER_KINDS, SCHEMA_SCORED_NODES, CORE_PACKAGES, LEGACY_UNSCORED_KEYS, DYNAMIC_PLACEHOLDER, LITERAL_ONLY_PROPS, SERVICE_ONLY_BINDING_PROPS, WHOLE_VALUE_BINDING, EMBEDDED_BINDING, OPTIONS_BINDING_PROPS, EDITOR_SERVICE_NAME, SHEET_PLACEMENTS, DESCRIPTOR_DEPTH_BUDGETS, UNSAFE_TO_RECURSE_DEPTH, ROW_TEMPLATE_HOST_TYPES, TOP_BAR_TRAILING_LIMIT, TOP_BAR_NON_TRAILING, BUTTON_STYLES, EMPTY_STATE_ACTION_STYLES, EMPTY_STATE_ACTION_SIZES;
|
|
12578
|
+
var CRAWL_BLOCKING_PASSES, BOOT_EVAL_TIMEOUT_MS, DRIFT_PROBES, DEVICE_NETWORK_WITHHELD, DEVICE_STRIPPED_HOST_GLOBALS, DEVICE_WITHHELD, DEVICE_PARITY_CANDIDATES, DEVICE_PARITY_WITHHELD, defaultEvaluator, bootEvaluator, actionEvaluator, NATIVE_PROP_ENUMS, KNOWN_PROPS, IN_ARRAY_BINDING_PROPS, SERVICE_SIGIL, INTEGER_PROPS, NATIVE_REQUIRED_PROPS, bareNestedClass, NATIVE_NESTED_CLASSES, NATIVE_MODIFIERS_CLASS, NATIVE_DESCRIPTOR_CLASS, NATIVE_DESCRIPTOR_NESTED, NATIVE_NESTED_PROPS, LENIENT_TOP_BAR_BLOCKS, MODIFIER_KEYS, INTEGER_MODIFIERS, MODIFIER_KINDS, SCHEMA_SCORED_NODES, CORE_PACKAGES, LEGACY_UNSCORED_KEYS, DYNAMIC_PLACEHOLDER, LITERAL_ONLY_PROPS, SERVICE_ONLY_BINDING_PROPS, WHOLE_VALUE_BINDING, EMBEDDED_BINDING, OPTIONS_BINDING_PROPS, EDITOR_SERVICE_NAME, SHEET_PLACEMENTS, DESCRIPTOR_DEPTH_BUDGETS, UNSAFE_TO_RECURSE_DEPTH, ROW_TEMPLATE_HOST_TYPES, TOP_BAR_TRAILING_LIMIT, TOP_BAR_NON_TRAILING, BUTTON_STYLES, EMPTY_STATE_ACTION_STYLES, EMPTY_STATE_ACTION_SIZES;
|
|
12472
12579
|
var init_validate_descriptor_core = __esm({
|
|
12473
12580
|
"../../core/dev-server/src/validate-descriptor.core.ts"() {
|
|
12474
12581
|
init_validator();
|
|
12475
12582
|
init_validator();
|
|
12476
12583
|
init_tokens();
|
|
12477
12584
|
init_token_suggest();
|
|
12585
|
+
init_allowlist();
|
|
12478
12586
|
init_l10n_strings();
|
|
12479
12587
|
init_a11y_contract();
|
|
12480
12588
|
init_bindings();
|
|
@@ -12483,6 +12591,7 @@ var init_validate_descriptor_core = __esm({
|
|
|
12483
12591
|
init_frame_limits();
|
|
12484
12592
|
init_rich_content();
|
|
12485
12593
|
init_worker_subtree();
|
|
12594
|
+
init_realm_parity();
|
|
12486
12595
|
CRAWL_BLOCKING_PASSES = /* @__PURE__ */ new Set([
|
|
12487
12596
|
// A screen whose bindings do not resolve has no state to crawl.
|
|
12488
12597
|
"bindings",
|
|
@@ -12503,7 +12612,25 @@ var init_validate_descriptor_core = __esm({
|
|
|
12503
12612
|
{ clock: Date.UTC(2021, 7, 28, 19, 35, 57, 789), seed: 1, mirrorRandom: true }
|
|
12504
12613
|
// a Saturday or Sunday, the 28th/29th
|
|
12505
12614
|
];
|
|
12506
|
-
|
|
12615
|
+
DEVICE_NETWORK_WITHHELD = [
|
|
12616
|
+
"fetch",
|
|
12617
|
+
"XMLHttpRequest",
|
|
12618
|
+
"WebSocket",
|
|
12619
|
+
"EventSource",
|
|
12620
|
+
"importScripts",
|
|
12621
|
+
"WebTransport",
|
|
12622
|
+
"RTCPeerConnection",
|
|
12623
|
+
"webkitRTCPeerConnection",
|
|
12624
|
+
"Worker",
|
|
12625
|
+
"SharedWorker",
|
|
12626
|
+
"Image",
|
|
12627
|
+
"Audio",
|
|
12628
|
+
"open",
|
|
12629
|
+
"Request",
|
|
12630
|
+
"Response",
|
|
12631
|
+
"Headers"
|
|
12632
|
+
];
|
|
12633
|
+
DEVICE_STRIPPED_HOST_GLOBALS = [
|
|
12507
12634
|
"setTimeout",
|
|
12508
12635
|
"clearTimeout",
|
|
12509
12636
|
"setInterval",
|
|
@@ -12514,6 +12641,33 @@ var init_validate_descriptor_core = __esm({
|
|
|
12514
12641
|
"TextDecoder",
|
|
12515
12642
|
"AbortController"
|
|
12516
12643
|
];
|
|
12644
|
+
DEVICE_WITHHELD = [...DEVICE_NETWORK_WITHHELD, ...DEVICE_STRIPPED_HOST_GLOBALS];
|
|
12645
|
+
DEVICE_PARITY_CANDIDATES = [
|
|
12646
|
+
...DEVICE_WITHHELD,
|
|
12647
|
+
// Host APIs and post-ES2020 / non-portable intrinsics an engine may carry natively (QuickJS-ng 0.15
|
|
12648
|
+
// installs `performance` and `queueMicrotask`), named so a host realm without them still withholds them.
|
|
12649
|
+
"atob",
|
|
12650
|
+
"btoa",
|
|
12651
|
+
"structuredClone",
|
|
12652
|
+
"queueMicrotask",
|
|
12653
|
+
"crypto",
|
|
12654
|
+
"performance",
|
|
12655
|
+
"navigator",
|
|
12656
|
+
"self",
|
|
12657
|
+
"window",
|
|
12658
|
+
"Intl",
|
|
12659
|
+
"WeakRef",
|
|
12660
|
+
"FinalizationRegistry",
|
|
12661
|
+
"AggregateError",
|
|
12662
|
+
"InternalError",
|
|
12663
|
+
"SharedArrayBuffer",
|
|
12664
|
+
"Atomics",
|
|
12665
|
+
"WebAssembly",
|
|
12666
|
+
"eval",
|
|
12667
|
+
"escape",
|
|
12668
|
+
"unescape"
|
|
12669
|
+
];
|
|
12670
|
+
DEVICE_PARITY_WITHHELD = deviceParityWithheldFrom(globalThis);
|
|
12517
12671
|
defaultEvaluator = null;
|
|
12518
12672
|
bootEvaluator = null;
|
|
12519
12673
|
actionEvaluator = null;
|
|
@@ -13997,7 +14151,11 @@ __export(validate_descriptor_exports, {
|
|
|
13997
14151
|
CORE_PACKAGES: () => CORE_PACKAGES,
|
|
13998
14152
|
CRAWL_BLOCKING_PASSES: () => CRAWL_BLOCKING_PASSES,
|
|
13999
14153
|
DESCRIPTOR_DEPTH_BUDGETS: () => DESCRIPTOR_DEPTH_BUDGETS,
|
|
14154
|
+
DEVICE_NETWORK_WITHHELD: () => DEVICE_NETWORK_WITHHELD,
|
|
14155
|
+
DEVICE_PARITY_CANDIDATES: () => DEVICE_PARITY_CANDIDATES,
|
|
14000
14156
|
DEVICE_PARITY_WITHHELD: () => DEVICE_PARITY_WITHHELD,
|
|
14157
|
+
DEVICE_STRIPPED_HOST_GLOBALS: () => DEVICE_STRIPPED_HOST_GLOBALS,
|
|
14158
|
+
DEVICE_WITHHELD: () => DEVICE_WITHHELD,
|
|
14001
14159
|
EMBEDDED_BINDING: () => EMBEDDED_BINDING,
|
|
14002
14160
|
INTEGER_MODIFIERS: () => INTEGER_MODIFIERS,
|
|
14003
14161
|
INTEGER_PROPS: () => INTEGER_PROPS,
|
|
@@ -14023,6 +14181,7 @@ __export(validate_descriptor_exports, {
|
|
|
14023
14181
|
componentPropFindings: () => componentPropFindings,
|
|
14024
14182
|
depthBudgetFindings: () => depthBudgetFindings,
|
|
14025
14183
|
depthBudgetIssues: () => depthBudgetIssues,
|
|
14184
|
+
deviceParityWithheldFrom: () => deviceParityWithheldFrom,
|
|
14026
14185
|
discoverNativeActions: () => discoverNativeActions,
|
|
14027
14186
|
dryRunBundle: () => dryRunBundle,
|
|
14028
14187
|
enumFieldNames: () => enumFieldNames,
|
|
@@ -14045,6 +14204,7 @@ __export(validate_descriptor_exports, {
|
|
|
14045
14204
|
pinnedIntrinsicsSource: () => pinnedIntrinsicsSource,
|
|
14046
14205
|
readBuiltBundle: () => readBuiltBundle,
|
|
14047
14206
|
readBuiltBundleMap: () => readBuiltBundleMap,
|
|
14207
|
+
realmInstallsIntl: () => realmInstallsIntl,
|
|
14048
14208
|
registeredActions: () => registeredActions,
|
|
14049
14209
|
resolveActionEvaluator: () => resolveActionEvaluator,
|
|
14050
14210
|
resolveBootEvaluator: () => resolveBootEvaluator,
|
|
@@ -14055,6 +14215,7 @@ __export(validate_descriptor_exports, {
|
|
|
14055
14215
|
setDefaultEvaluator: () => setDefaultEvaluator,
|
|
14056
14216
|
topBarFindings: () => topBarFindings,
|
|
14057
14217
|
validateScreenDescriptor: () => validateScreenDescriptor,
|
|
14218
|
+
withheldGlobalsSource: () => withheldGlobalsSource,
|
|
14058
14219
|
workerSubtreeAllowed: () => workerSubtreeAllowed
|
|
14059
14220
|
});
|
|
14060
14221
|
import { readFileSync as readFileSync15, existsSync as existsSync13, readdirSync as readdirSync11 } from "node:fs";
|
|
@@ -14151,10 +14312,13 @@ var init_validate_descriptor = __esm({
|
|
|
14151
14312
|
"../../core/dev-server/src/validate-descriptor.ts"() {
|
|
14152
14313
|
init_player_host_manifest();
|
|
14153
14314
|
init_validate_descriptor_core();
|
|
14315
|
+
init_realm_parity();
|
|
14154
14316
|
init_validate_descriptor_core();
|
|
14155
14317
|
nodeVmEvaluator = {
|
|
14156
14318
|
run(code, sandbox, opts) {
|
|
14157
14319
|
const context = createContext(sandbox);
|
|
14320
|
+
const hideSource = withheldGlobalsSource((opts.hide ?? []).filter((name) => !(name in sandbox)));
|
|
14321
|
+
if (hideSource) runInContext(hideSource, context, { filename: "himi-hide.js" });
|
|
14158
14322
|
const pins = pinnedIntrinsicsSource(opts);
|
|
14159
14323
|
if (pins) {
|
|
14160
14324
|
const pinned = runInContext(`(${pins})(Date, Math)`, context, { timeout: opts.timeoutMs, filename: "himi-pins.js" });
|
|
@@ -16200,6 +16364,9 @@ ${opts.liveTransport ? ` var handle = { getState: function () { return def
|
|
|
16200
16364
|
globalThis.fetch = function () {
|
|
16201
16365
|
throw new Error("\`fetch\` is not available in the author-time sandbox \u2014 workers load data via the sanctioned Wix transport (\`@himalaya/wix-*\` or \`globalThis.himalaya.wixApi.call\`), not raw \`fetch\`.");
|
|
16202
16366
|
};
|
|
16367
|
+
// ...unless \`hide\` withholds it (deviceParity, #4499): every device has NO \`fetch\`, so a
|
|
16368
|
+
// stub here would let a \`typeof fetch === "function"\` branch pass and fail on the device.
|
|
16369
|
+
${(opts.hide ?? []).includes("fetch") ? " delete globalThis.fetch;" : ""}
|
|
16203
16370
|
// Timers honour \`hide\`. Installing them unconditionally made \`deviceParity\` report
|
|
16204
16371
|
// \`typeof setTimeout === "function"\` where node:vm correctly reported "undefined" \u2014 a FALSE
|
|
16205
16372
|
// GREEN on exactly the floor gate this realm exists to enforce. The URL family is never
|
|
@@ -16289,6 +16456,9 @@ ${opts.clock === void 0 ? "" : opts.freezeDate ? ` globalThis.Date = (${pinnedI
|
|
|
16289
16456
|
return sweepPromise;
|
|
16290
16457
|
},
|
|
16291
16458
|
});` : ""}
|
|
16459
|
+
// LAST, so nothing the prelude installed (the \`fetch\` stub) or the engine carries natively
|
|
16460
|
+
// (QuickJS-ng 0.15's \`performance\`, \`queueMicrotask\`) survives deviceParity (#4511).
|
|
16461
|
+
${withheldGlobalsSource(opts.hide)}
|
|
16292
16462
|
return ${opts.liveTransport ? "{ readback: readback, dispatch: dispatchAction, actions: readActions }" : "readback"};
|
|
16293
16463
|
})();
|
|
16294
16464
|
`;
|
|
@@ -16369,14 +16539,7 @@ async function createQuickJsEvaluator(options = {}) {
|
|
|
16369
16539
|
}
|
|
16370
16540
|
readback = pre.value;
|
|
16371
16541
|
if ((options.webGlobals ?? options.intl) && !opts.hide?.length) installWebGlobals(ctx);
|
|
16372
|
-
if (options.intl)
|
|
16373
|
-
if (opts.hide?.length) {
|
|
16374
|
-
throw new Error(
|
|
16375
|
-
"quickjs: `intl: true` and deviceParity are contradictory realms \u2014 deviceParity models the wrist (no timers, no Intl) and `intl` models the host. Pick one: an evaluator without `intl` for the device-floor crawl, or one with it for containment."
|
|
16376
|
-
);
|
|
16377
|
-
}
|
|
16378
|
-
installIntl(ctx);
|
|
16379
|
-
}
|
|
16542
|
+
if (realmInstallsIntl(options.intl, opts.hide)) installIntl(ctx);
|
|
16380
16543
|
const res = ctx.evalCode(code, opts.filename);
|
|
16381
16544
|
if (res.error) {
|
|
16382
16545
|
const detail = ctx.dump(res.error);
|
|
@@ -16459,6 +16622,7 @@ var init_quickjs_evaluator = __esm({
|
|
|
16459
16622
|
init_quickjs_intl();
|
|
16460
16623
|
init_quickjs_state_codec();
|
|
16461
16624
|
init_quickjs_web_globals();
|
|
16625
|
+
init_realm_parity();
|
|
16462
16626
|
init_validate_descriptor_core();
|
|
16463
16627
|
RECYCLE_AFTER_BLOWUPS = 1;
|
|
16464
16628
|
DEFAULT_MEMORY_LIMIT_BYTES = 128 * 1024 * 1024;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/himalaya-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1421.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": [
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"artifactId": "himalaya-cli"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
-
"falconPackageHash": "
|
|
74
|
+
"falconPackageHash": "4d89203d9e66955e734a0bf6b57b933b45cfceb3d80c598aff230922"
|
|
75
75
|
}
|