hyperframes 0.7.83 → 0.7.84
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.js +40 -12
- package/dist/hyperframes-player.global.js +1 -1
- package/dist/studio/assets/{hyperframes-player-DSRuJMfh.js → hyperframes-player-s9w3Y9Nj.js} +1 -1
- package/dist/studio/assets/{index-YZR6OfQ5.js → index-BWOPM8bq.js} +1 -1
- package/dist/studio/assets/{index-DRtvHA1J.js → index-C3J3fmFc.js} +3 -3
- package/dist/studio/assets/{index-BrWVfpCQ.js → index-COqACN_S.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -50,7 +50,7 @@ var VERSION;
|
|
|
50
50
|
var init_version = __esm({
|
|
51
51
|
"src/version.ts"() {
|
|
52
52
|
"use strict";
|
|
53
|
-
VERSION = true ? "0.7.
|
|
53
|
+
VERSION = true ? "0.7.84" : "0.0.0-dev";
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -66200,6 +66200,12 @@ function appendBrowserDiagnostic(session, text2) {
|
|
|
66200
66200
|
}
|
|
66201
66201
|
async function collectSessionInitTelemetry(page, initStart) {
|
|
66202
66202
|
const initDurationMs = Date.now() - initStart;
|
|
66203
|
+
let elementCount;
|
|
66204
|
+
try {
|
|
66205
|
+
elementCount = await page.evaluate(() => document.getElementsByTagName("*").length);
|
|
66206
|
+
} catch {
|
|
66207
|
+
elementCount = void 0;
|
|
66208
|
+
}
|
|
66203
66209
|
let tweenCount = 0;
|
|
66204
66210
|
try {
|
|
66205
66211
|
tweenCount = await page.evaluate(() => {
|
|
@@ -66222,14 +66228,16 @@ async function collectSessionInitTelemetry(page, initStart) {
|
|
|
66222
66228
|
} catch {
|
|
66223
66229
|
tweenCount = 0;
|
|
66224
66230
|
}
|
|
66225
|
-
return { initDurationMs, tweenCount };
|
|
66231
|
+
return { initDurationMs, tweenCount, elementCount };
|
|
66226
66232
|
}
|
|
66227
66233
|
async function recordSessionInitTelemetry(session, initStart) {
|
|
66228
66234
|
const telemetry = await collectSessionInitTelemetry(session.page, initStart);
|
|
66229
66235
|
session.initTelemetry = telemetry;
|
|
66230
66236
|
appendBrowserDiagnostic(
|
|
66231
66237
|
session,
|
|
66232
|
-
`[FrameCapture:INIT] complete initDurationMs=${telemetry.initDurationMs} tweenCount=${telemetry.tweenCount}`
|
|
66238
|
+
`[FrameCapture:INIT] complete initDurationMs=${telemetry.initDurationMs} tweenCount=${telemetry.tweenCount}` + // Omitted rather than zeroed when unmeasured, so the parser reports
|
|
66239
|
+
// absent instead of inventing an empty DOM.
|
|
66240
|
+
(telemetry.elementCount === void 0 ? "" : ` elementCount=${telemetry.elementCount}`)
|
|
66233
66241
|
);
|
|
66234
66242
|
}
|
|
66235
66243
|
function sanitizeDiagnosticUrl(input2) {
|
|
@@ -68046,6 +68054,7 @@ function getCapturePerfSummary(session) {
|
|
|
68046
68054
|
subTimelineWaitOutcome: session.subTimelineWaitOutcome,
|
|
68047
68055
|
initDurationMs: session.initTelemetry?.initDurationMs,
|
|
68048
68056
|
initTweenCount: session.initTelemetry?.tweenCount,
|
|
68057
|
+
initElementCount: session.initTelemetry?.elementCount,
|
|
68049
68058
|
warnings: cloneCaptureWarnings(session.warnings),
|
|
68050
68059
|
staticDedupReused: session.staticDedupCount ?? 0,
|
|
68051
68060
|
staticDedupEnabled: session.staticDedupEnabled ?? false,
|
|
@@ -89106,7 +89115,8 @@ function renderObservabilityEventProperties(props) {
|
|
|
89106
89115
|
observability_extract_cache_hits: props.observabilityExtractCacheHits,
|
|
89107
89116
|
observability_extract_cache_misses: props.observabilityExtractCacheMisses,
|
|
89108
89117
|
observability_init_duration_ms: props.observabilityInitDurationMs,
|
|
89109
|
-
observability_init_tween_count: props.observabilityInitTweenCount
|
|
89118
|
+
observability_init_tween_count: props.observabilityInitTweenCount,
|
|
89119
|
+
observability_init_element_count: props.observabilityInitElementCount
|
|
89110
89120
|
};
|
|
89111
89121
|
}
|
|
89112
89122
|
function redactTelemetryMessage(value) {
|
|
@@ -96132,7 +96142,8 @@ function renderObservabilityTelemetryPayload(observability) {
|
|
|
96132
96142
|
observabilityExtractCacheHits: extraction?.cacheHits,
|
|
96133
96143
|
observabilityExtractCacheMisses: extraction?.cacheMisses,
|
|
96134
96144
|
observabilityInitDurationMs: init?.initDurationMs,
|
|
96135
|
-
observabilityInitTweenCount: init?.tweenCount
|
|
96145
|
+
observabilityInitTweenCount: init?.tweenCount,
|
|
96146
|
+
observabilityInitElementCount: init?.elementCount
|
|
96136
96147
|
};
|
|
96137
96148
|
}
|
|
96138
96149
|
function renderJobObservabilityTelemetryPayload(job) {
|
|
@@ -110999,13 +111010,17 @@ function maxReading(current2, next) {
|
|
|
110999
111010
|
function summarizeInitObservability(lines, fallback) {
|
|
111000
111011
|
let initDurationMs = fallback?.initDurationMs;
|
|
111001
111012
|
let tweenCount = fallback?.tweenCount;
|
|
111013
|
+
let elementCount = fallback?.elementCount;
|
|
111002
111014
|
for (const line2 of lines) {
|
|
111003
111015
|
if (!line2.includes("[FrameCapture:INIT]")) continue;
|
|
111004
111016
|
initDurationMs = maxReading(initDurationMs, readUnsignedIntAfter(line2, "initDurationMs="));
|
|
111005
111017
|
tweenCount = maxReading(tweenCount, readUnsignedIntAfter(line2, "tweenCount="));
|
|
111018
|
+
elementCount = maxReading(elementCount, readUnsignedIntAfter(line2, "elementCount="));
|
|
111019
|
+
}
|
|
111020
|
+
if (initDurationMs === void 0 && tweenCount === void 0 && elementCount === void 0) {
|
|
111021
|
+
return void 0;
|
|
111006
111022
|
}
|
|
111007
|
-
|
|
111008
|
-
return { initDurationMs, tweenCount };
|
|
111023
|
+
return { initDurationMs, tweenCount, elementCount };
|
|
111009
111024
|
}
|
|
111010
111025
|
function summarizeBrowserDiagnostics(lines) {
|
|
111011
111026
|
let errors = 0;
|
|
@@ -121783,10 +121798,15 @@ function envInt(name, fallback) {
|
|
|
121783
121798
|
const raw = process.env[name];
|
|
121784
121799
|
if (raw === void 0 || raw.trim() === "") return fallback;
|
|
121785
121800
|
const parsed = Number(raw);
|
|
121786
|
-
return Number.
|
|
121801
|
+
return Number.isInteger(parsed) ? parsed : fallback;
|
|
121787
121802
|
}
|
|
121788
121803
|
function countElementTags(html) {
|
|
121789
|
-
|
|
121804
|
+
let markup = html;
|
|
121805
|
+
for (let previous = ""; markup !== previous; ) {
|
|
121806
|
+
previous = markup;
|
|
121807
|
+
markup = markup.replace(/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi, "");
|
|
121808
|
+
}
|
|
121809
|
+
const matches2 = markup.match(
|
|
121790
121810
|
/<\/[a-zA-Z]|<(?:img|br|hr|input|source|track|area|base|col|embed|link|meta|param|wbr)\b|<[a-zA-Z][-a-zA-Z0-9]*\b[^>]*\/>/gi
|
|
121791
121811
|
);
|
|
121792
121812
|
return matches2 === null ? 0 : matches2.length;
|
|
@@ -121795,7 +121815,9 @@ async function resolveCompositionElementCount(probeSession, html) {
|
|
|
121795
121815
|
if (probeSession?.isInitialized) {
|
|
121796
121816
|
try {
|
|
121797
121817
|
const liveCount = await probeSession.page.evaluate(
|
|
121798
|
-
|
|
121818
|
+
// Live HTMLCollection length — avoids materializing a static NodeList
|
|
121819
|
+
// on the large-DOM comps this gate exists to catch (review nit).
|
|
121820
|
+
() => document.getElementsByTagName("*").length
|
|
121799
121821
|
);
|
|
121800
121822
|
if (typeof liveCount === "number" && Number.isFinite(liveCount)) {
|
|
121801
121823
|
return { count: liveCount, source: "live" };
|
|
@@ -121808,6 +121830,7 @@ async function resolveCompositionElementCount(probeSession, html) {
|
|
|
121808
121830
|
function mergeWorkerInitObservability(perfs) {
|
|
121809
121831
|
let initDurationMs;
|
|
121810
121832
|
let tweenCount;
|
|
121833
|
+
let elementCount;
|
|
121811
121834
|
for (const perf of perfs) {
|
|
121812
121835
|
if (perf.initDurationMs !== void 0) {
|
|
121813
121836
|
initDurationMs = initDurationMs === void 0 ? perf.initDurationMs : Math.max(initDurationMs, perf.initDurationMs);
|
|
@@ -121815,9 +121838,14 @@ function mergeWorkerInitObservability(perfs) {
|
|
|
121815
121838
|
if (perf.initTweenCount !== void 0) {
|
|
121816
121839
|
tweenCount = tweenCount === void 0 ? perf.initTweenCount : Math.max(tweenCount, perf.initTweenCount);
|
|
121817
121840
|
}
|
|
121841
|
+
if (perf.initElementCount !== void 0) {
|
|
121842
|
+
elementCount = elementCount === void 0 ? perf.initElementCount : Math.max(elementCount, perf.initElementCount);
|
|
121843
|
+
}
|
|
121844
|
+
}
|
|
121845
|
+
if (initDurationMs === void 0 && tweenCount === void 0 && elementCount === void 0) {
|
|
121846
|
+
return void 0;
|
|
121818
121847
|
}
|
|
121819
|
-
|
|
121820
|
-
return { initDurationMs, tweenCount };
|
|
121848
|
+
return { initDurationMs, tweenCount, elementCount };
|
|
121821
121849
|
}
|
|
121822
121850
|
function resolveDeShortBand(args) {
|
|
121823
121851
|
const decisive = args.bandEnabled && args.invertAtBandFloor && !args.invertAtBaseFloor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var HyperframesPlayer=(()=>{var J=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Xe=(i,e)=>{for(var t in e)J(i,t,{get:e[t],enumerable:!0})},Ze=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qe(e))!Ye.call(i,n)&&n!==t&&J(i,n,{get:()=>e[n],enumerable:!(r=Ge(e,n))||r.enumerable});return i};var Qe=i=>Ze(J({},"__esModule",{value:!0}),i);var Lt={};Xe(Lt,{HyperframesPlayer:()=>Q,SPEED_PRESETS:()=>te,formatSpeed:()=>N,formatTime:()=>$});function ye(i){return i.hasRuntime||i.runtimeInjected?!1:!!(i.hasNestedCompositions||i.hasTimelines&&i.attempts>=5)}function I(i){return typeof i=="object"&&i!==null}function Ee(i){return I(i)&&typeof i.getDuration=="function"}function Se(i){return I(i)&&typeof i.duration=="function"&&typeof i.time=="function"&&typeof i.seek=="function"&&typeof i.play=="function"&&typeof i.pause=="function"}var Je="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.7.
|
|
1
|
+
"use strict";var HyperframesPlayer=(()=>{var J=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var qe=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Xe=(i,e)=>{for(var t in e)J(i,t,{get:e[t],enumerable:!0})},Ze=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of qe(e))!Ye.call(i,n)&&n!==t&&J(i,n,{get:()=>e[n],enumerable:!(r=Ge(e,n))||r.enumerable});return i};var Qe=i=>Ze(J({},"__esModule",{value:!0}),i);var Lt={};Xe(Lt,{HyperframesPlayer:()=>Q,SPEED_PRESETS:()=>te,formatSpeed:()=>N,formatTime:()=>$});function ye(i){return i.hasRuntime||i.runtimeInjected?!1:!!(i.hasNestedCompositions||i.hasTimelines&&i.attempts>=5)}function I(i){return typeof i=="object"&&i!==null}function Ee(i){return I(i)&&typeof i.getDuration=="function"}function Se(i){return I(i)&&typeof i.duration=="function"&&typeof i.time=="function"&&typeof i.seek=="function"&&typeof i.play=="function"&&typeof i.pause=="function"}var Je="https://cdn.jsdelivr.net/npm/@hyperframes/core@0.7.84/dist/hyperframe.runtime.iife.js";function D(i){if(i===null)return null;let e=Number.parseInt(i,10);return Number.isFinite(e)&&e>0?e:null}function Ke(i){let e=i?.querySelector("[data-composition-id][data-width][data-height]")??i?.querySelector("[data-width][data-height]");if(!e)return null;let t=D(e.getAttribute("data-width")),r=D(e.getAttribute("data-height"));return t!==null&&r!==null?{width:t,height:r}:null}var j=class{constructor(e,t){this._iframe=e;this._callbacks=t}_iframe;_callbacks;_interval=null;_runtimeInjected=!1;get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let e=0;this._interval=setInterval(()=>{e++;try{let t=this._iframe.contentWindow;if(!t)return;let r=!!(t.__hf||t.__player),n=!!(t.__timelines&&Object.keys(t.__timelines).length>0),o=!!this._iframe.contentDocument?.querySelector("[data-composition-src]");if(ye({hasRuntime:r,hasTimelines:n,hasNestedCompositions:o,runtimeInjected:this._runtimeInjected,attempts:e})){this._injectRuntime();return}if(this._runtimeInjected&&!r)return;let s=this._resolvePlaybackDurationAdapter(t);if(s&&s.getDuration()>0){this.stop();let l=Ke(this._iframe.contentDocument);this._callbacks.onReady({duration:s.getDuration(),adapter:s,compositionSize:l});return}}catch{}e>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{let e=this._iframe.contentWindow;return e?this._resolveDirectTimelineAdapterFromWindow(e):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(e){return this._resolveDirectTimelineAdapterFromWindow(e)}hasRuntimeBridge(e){return Reflect.get(e,"__hf")!==void 0||I(Reflect.get(e,"__player"))}_injectRuntime(){this._runtimeInjected=!0;try{let e=this._iframe.contentDocument;if(!e)return;let t=e.createElement("script");t.src=Je,(e.head||e.documentElement).appendChild(t),this._callbacks.onRuntimeInjected?.()}catch{}}_resolveDirectTimelineAdapterFromWindow(e){if(this.hasRuntimeBridge(e))return null;let t=Reflect.get(e,"__timelines");if(!I(t))return null;let r=Object.keys(t);if(r.length===0)return null;let n=this._iframe.contentDocument?.querySelector("[data-composition-id]")?.getAttribute("data-composition-id"),o=n&&n in t?n:r[r.length-1],s=t[o];return Se(s)?s:null}_resolvePlaybackDurationAdapter(e){let t=Reflect.get(e,"__player");if(Ee(t))return{kind:"runtime",getDuration:()=>t.getDuration()};let r=this._resolveDirectTimelineAdapterFromWindow(e);return r?{kind:"direct-timeline",timeline:r,getDuration:()=>r.duration()}:null}};var Te=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
package/dist/studio/assets/{hyperframes-player-DSRuJMfh.js → hyperframes-player-s9w3Y9Nj.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ce=Object.defineProperty;var pe=(r,t,e)=>t in r?ce(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var c=(r,t,e)=>pe(r,typeof t!="symbol"?t+"":t,e);import{r as ne,i as me,a as fe}from"./index-
|
|
1
|
+
var ce=Object.defineProperty;var pe=(r,t,e)=>t in r?ce(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var c=(r,t,e)=>pe(r,typeof t!="symbol"?t+"":t,e);import{r as ne,i as me,a as fe}from"./index-C3J3fmFc.js";function _e(r){return r.hasRuntime||r.runtimeInjected?!1:!!(r.hasNestedCompositions||r.hasTimelines&&r.attempts>=5)}function F(r){return typeof r=="object"&&r!==null}function ge(r){return F(r)&&typeof r.getDuration=="function"}function ye(r){return F(r)&&typeof r.duration=="function"&&typeof r.time=="function"&&typeof r.seek=="function"&&typeof r.play=="function"&&typeof r.pause=="function"}function ve(r){if(!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(r))throw new Error(`Invalid HyperFrames runtime version: ${r}`);return`https://cdn.jsdelivr.net/npm/@hyperframes/core@${r}/dist/hyperframe.runtime.iife.js`}const be=typeof __HYPERFRAMES_RUNTIME_CDN_URL__=="string"?__HYPERFRAMES_RUNTIME_CDN_URL__:ve("0.0.0-dev");function H(r){if(r===null)return null;const t=Number.parseInt(r,10);return Number.isFinite(t)&&t>0?t:null}function we(r){const t=(r==null?void 0:r.querySelector("[data-composition-id][data-width][data-height]"))??(r==null?void 0:r.querySelector("[data-width][data-height]"));if(!t)return null;const e=H(t.getAttribute("data-width")),i=H(t.getAttribute("data-height"));return e!==null&&i!==null?{width:e,height:i}:null}class Ae{constructor(t,e){c(this,"_interval",null);c(this,"_runtimeInjected",!1);this._iframe=t,this._callbacks=e}get runtimeInjected(){return this._runtimeInjected}start(){this.stop(),this._runtimeInjected=!1;let t=0;this._interval=setInterval(()=>{var e;t++;try{const i=this._iframe.contentWindow;if(!i)return;const s=!!(i.__hf||i.__player),o=!!(i.__timelines&&Object.keys(i.__timelines).length>0),d=!!((e=this._iframe.contentDocument)!=null&&e.querySelector("[data-composition-src]"));if(_e({hasRuntime:s,hasTimelines:o,hasNestedCompositions:d,runtimeInjected:this._runtimeInjected,attempts:t})){this._injectRuntime();return}if(this._runtimeInjected&&!s)return;const a=this._resolvePlaybackDurationAdapter(i);if(a&&a.getDuration()>0){this.stop();const h=we(this._iframe.contentDocument);this._callbacks.onReady({duration:a.getDuration(),adapter:a,compositionSize:h});return}}catch{}t>=40&&(this.stop(),this._callbacks.onError("Composition timeline not found after 8s"))},200)}stop(){this._interval!==null&&(clearInterval(this._interval),this._interval=null)}resolveDirectTimelineAdapter(){try{const t=this._iframe.contentWindow;return t?this._resolveDirectTimelineAdapterFromWindow(t):null}catch{return null}}resolveDirectTimelineAdapterFromWindow(t){return this._resolveDirectTimelineAdapterFromWindow(t)}hasRuntimeBridge(t){return Reflect.get(t,"__hf")!==void 0||F(Reflect.get(t,"__player"))}_injectRuntime(){var t,e;this._runtimeInjected=!0;try{const i=this._iframe.contentDocument;if(!i)return;const s=i.createElement("script");s.src=be,(i.head||i.documentElement).appendChild(s),(e=(t=this._callbacks).onRuntimeInjected)==null||e.call(t)}catch{}}_resolveDirectTimelineAdapterFromWindow(t){var a,h;if(this.hasRuntimeBridge(t))return null;const e=Reflect.get(t,"__timelines");if(!F(e))return null;const i=Object.keys(e);if(i.length===0)return null;const s=(h=(a=this._iframe.contentDocument)==null?void 0:a.querySelector("[data-composition-id]"))==null?void 0:h.getAttribute("data-composition-id"),o=s&&s in e?s:i[i.length-1],d=e[o];return ye(d)?d:null}_resolvePlaybackDurationAdapter(t){const e=Reflect.get(t,"__player");if(ge(e))return{kind:"runtime",getDuration:()=>e.getDuration()};const i=this._resolveDirectTimelineAdapterFromWindow(t);return i?{kind:"direct-timeline",timeline:i,getDuration:()=>i.duration()}:null}}const Ee=`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|