@hyperframes/core 0.8.78 → 0.8.79

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 (49) hide show
  1. package/dist/compiler/htmlBundler.d.ts +2 -0
  2. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  3. package/dist/compiler/htmlBundler.js +107 -43
  4. package/dist/compiler/htmlBundler.js.map +1 -1
  5. package/dist/compiler/htmlDocument.d.ts +1 -0
  6. package/dist/compiler/htmlDocument.d.ts.map +1 -1
  7. package/dist/compiler/htmlDocument.js +5 -2
  8. package/dist/compiler/htmlDocument.js.map +1 -1
  9. package/dist/compiler/index.d.ts +1 -0
  10. package/dist/compiler/index.d.ts.map +1 -1
  11. package/dist/compiler/index.js +1 -0
  12. package/dist/compiler/index.js.map +1 -1
  13. package/dist/compiler/inlineSubCompositions.d.ts +8 -0
  14. package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
  15. package/dist/compiler/inlineSubCompositions.js +113 -8
  16. package/dist/compiler/inlineSubCompositions.js.map +1 -1
  17. package/dist/compiler/scenePartsManifest.d.ts +6 -0
  18. package/dist/compiler/scenePartsManifest.d.ts.map +1 -0
  19. package/dist/compiler/scenePartsManifest.js +31 -0
  20. package/dist/compiler/scenePartsManifest.js.map +1 -0
  21. package/dist/generated/runtime-inline.js +1 -1
  22. package/dist/generated/runtime-inline.js.map +1 -1
  23. package/dist/hyperframe.runtime.iife.js +54 -54
  24. package/dist/runtime/applyVariableBindings.d.ts +4 -1
  25. package/dist/runtime/applyVariableBindings.d.ts.map +1 -1
  26. package/dist/runtime/applyVariableBindings.js +40 -31
  27. package/dist/runtime/applyVariableBindings.js.map +1 -1
  28. package/dist/runtime/media.d.ts.map +1 -1
  29. package/dist/runtime/media.js +41 -13
  30. package/dist/runtime/media.js.map +1 -1
  31. package/dist/runtime/proxySrc.d.ts +4 -0
  32. package/dist/runtime/proxySrc.d.ts.map +1 -0
  33. package/dist/runtime/proxySrc.js +6 -0
  34. package/dist/runtime/proxySrc.js.map +1 -0
  35. package/dist/runtime/timeline.d.ts +4 -0
  36. package/dist/runtime/timeline.d.ts.map +1 -1
  37. package/dist/runtime/timeline.js +3 -2
  38. package/dist/runtime/timeline.js.map +1 -1
  39. package/dist/runtime/types.d.ts +5 -0
  40. package/dist/runtime/types.d.ts.map +1 -1
  41. package/dist/safePath.d.ts +1 -1
  42. package/dist/safePath.d.ts.map +1 -1
  43. package/dist/safePath.js +14 -3
  44. package/dist/safePath.js.map +1 -1
  45. package/dist/sceneParts.d.ts +10 -0
  46. package/dist/sceneParts.d.ts.map +1 -0
  47. package/dist/sceneParts.js +5 -0
  48. package/dist/sceneParts.js.map +1 -0
  49. package/package.json +5 -4
package/dist/safePath.js CHANGED
@@ -1,5 +1,16 @@
1
1
  import { resolve, sep, join, dirname, basename } from "node:path";
2
2
  import { lstatSync, realpathSync } from "node:fs";
3
+ function realpath(path) {
4
+ try {
5
+ return realpathSync.native(path);
6
+ }
7
+ catch (error) {
8
+ // Some Windows volumes (RAM disks) refuse the native call with EISDIR.
9
+ if (error.code === "EISDIR")
10
+ return realpathSync(path);
11
+ throw error;
12
+ }
13
+ }
3
14
  // realpath also fails for dangling/cyclic symlinks. Existing entries must not
4
15
  // become missing segments: writes could follow them outside the project.
5
16
  function isMissingPath(path) {
@@ -22,7 +33,7 @@ function isMissingPath(path) {
22
33
  * symlink that lives *inside* `base` but points outside it (e.g.
23
34
  * `base/link -> /etc`). A downstream `readFileSync`/`writeFileSync`/`statSync`
24
35
  * then follows that link to a file outside `base`. To close this we canonicalize
25
- * both sides with `realpathSync` before comparing.
36
+ * both sides with `realpathSync.native` (the on-disk letter case too) before comparing.
26
37
  *
27
38
  * The target may not exist yet (e.g. creating a new file), so we canonicalize the
28
39
  * deepest *existing* ancestor and re-attach the trailing not-yet-existing
@@ -39,7 +50,7 @@ function isMissingPath(path) {
39
50
  export function isSafePath(base, resolved) {
40
51
  let baseReal;
41
52
  try {
42
- baseReal = realpathSync(resolve(base));
53
+ baseReal = realpath(resolve(base));
43
54
  }
44
55
  catch {
45
56
  // Base must exist and be resolvable; fail closed if not.
@@ -51,7 +62,7 @@ export function isSafePath(base, resolved) {
51
62
  for (;;) {
52
63
  let ancestorReal;
53
64
  try {
54
- ancestorReal = realpathSync(probe);
65
+ ancestorReal = realpath(probe);
55
66
  }
56
67
  catch {
57
68
  if (!isMissingPath(probe))
@@ -1 +1 @@
1
- {"version":3,"file":"safePath.js","sourceRoot":"","sources":["../src/safePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElD,8EAA8E;AAC9E,yEAAyE;AACzE,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CACZ,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,KAAK;YACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CACtD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACvD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,MAAM,CAAC;IAEnB,SAAS,CAAC;QACR,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC,CAAC,kCAAkC;YACtE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,KAAK,GAAG,MAAM,CAAC;YACf,SAAS;QACX,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;YAChC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,CAAC,CAAC,YAAY,CAAC;QACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,YAAoB;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"safePath.js","sourceRoot":"","sources":["../src/safePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElD,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uEAAuE;QACvE,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CACZ,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,KAAK;YACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CACtD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,QAAgB;IACvD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,MAAM,CAAC;IAEnB,SAAS,CAAC;QACR,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC,CAAC,kCAAkC;YACtE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,KAAK,GAAG,MAAM,CAAC;YACf,SAAS;QACX,CAAC;QAED,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM;YAChC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,CAAC,CAAC,YAAY,CAAC;QACjB,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,YAAoB;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const SCENE_PART_ATTR = "data-hf-scene";
2
+ export declare const SCENE_PARTS_META = "hf-scene-parts";
3
+ /** On a scene's top-level host: why the scene cannot be swapped in place, so edits to it reload. */
4
+ export declare const SCENE_NO_SWAP_ATTR = "data-hf-scene-no-swap";
5
+ /** Hashes of one preview document: everything outside the scene parts, and each scene's parts. */
6
+ export interface SceneParts {
7
+ shared: string;
8
+ scenes: Record<string, string>;
9
+ }
10
+ //# sourceMappingURL=sceneParts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneParts.d.ts","sourceRoot":"","sources":["../src/sceneParts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,oGAAoG;AACpG,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAE1D,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC"}
@@ -0,0 +1,5 @@
1
+ export const SCENE_PART_ATTR = "data-hf-scene";
2
+ export const SCENE_PARTS_META = "hf-scene-parts";
3
+ /** On a scene's top-level host: why the scene cannot be swapped in place, so edits to it reload. */
4
+ export const SCENE_NO_SWAP_ATTR = "data-hf-scene-no-swap";
5
+ //# sourceMappingURL=sceneParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneParts.js","sourceRoot":"","sources":["../src/sceneParts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEjD,oGAAoG;AACpG,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/core",
3
- "version": "0.8.78",
3
+ "version": "0.8.79",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -306,14 +306,15 @@
306
306
  "bpm-detective": "^2.0.5",
307
307
  "linkedom": "^0.18.12",
308
308
  "postcss": "^8.5.8",
309
- "@hyperframes/lint": "0.8.78",
310
- "@hyperframes/parsers": "0.8.78",
311
- "@hyperframes/studio-server": "0.8.78"
309
+ "@hyperframes/parsers": "0.8.79",
310
+ "@hyperframes/studio-server": "0.8.79",
311
+ "@hyperframes/lint": "0.8.79"
312
312
  },
313
313
  "devDependencies": {
314
314
  "@types/jsdom": "^28.0.0",
315
315
  "@types/node": "^25.0.10",
316
316
  "@vitest/coverage-v8": "^4.1.11",
317
+ "gsap": "^3.15.0",
317
318
  "jsdom": "^29.0.0",
318
319
  "tsx": "^4.21.0",
319
320
  "typescript": "^5.0.0",