@hyperframes/core 0.7.14 → 0.7.16

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 (240) hide show
  1. package/dist/compiler/staticGuard.js +1 -1
  2. package/dist/compiler/staticGuard.js.map +1 -1
  3. package/dist/core.types.d.ts +2 -369
  4. package/dist/core.types.d.ts.map +1 -1
  5. package/dist/core.types.js +1 -84
  6. package/dist/core.types.js.map +1 -1
  7. package/dist/generated/runtime-inline.js.map +1 -1
  8. package/dist/generators/hyperframes.d.ts +1 -1
  9. package/dist/generators/hyperframes.d.ts.map +1 -1
  10. package/dist/generators/hyperframes.js +1 -1
  11. package/dist/generators/hyperframes.js.map +1 -1
  12. package/dist/hyperframe.runtime.iife.js +20 -20
  13. package/dist/index.d.ts +5 -7
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +7 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/lint/index.d.ts +2 -2
  18. package/dist/lint/index.d.ts.map +1 -1
  19. package/dist/lint/index.js +2 -1
  20. package/dist/lint/index.js.map +1 -1
  21. package/dist/parsers/gsapConstants.d.ts +2 -12
  22. package/dist/parsers/gsapConstants.d.ts.map +1 -1
  23. package/dist/parsers/gsapConstants.js +2 -110
  24. package/dist/parsers/gsapConstants.js.map +1 -1
  25. package/dist/parsers/gsapParserAcorn.d.ts +2 -48
  26. package/dist/parsers/gsapParserAcorn.d.ts.map +1 -1
  27. package/dist/parsers/gsapParserAcorn.js +2 -1057
  28. package/dist/parsers/gsapParserAcorn.js.map +1 -1
  29. package/dist/parsers/gsapParserExports.d.ts +2 -20
  30. package/dist/parsers/gsapParserExports.d.ts.map +1 -1
  31. package/dist/parsers/gsapParserExports.js +2 -8
  32. package/dist/parsers/gsapParserExports.js.map +1 -1
  33. package/dist/parsers/gsapWriterAcorn.d.ts +2 -90
  34. package/dist/parsers/gsapWriterAcorn.d.ts.map +1 -1
  35. package/dist/parsers/gsapWriterAcorn.js +2 -2016
  36. package/dist/parsers/gsapWriterAcorn.js.map +1 -1
  37. package/dist/parsers/hfIds.d.ts +2 -16
  38. package/dist/parsers/hfIds.d.ts.map +1 -1
  39. package/dist/parsers/hfIds.js +2 -127
  40. package/dist/parsers/hfIds.js.map +1 -1
  41. package/dist/parsers/springEase.d.ts +2 -28
  42. package/dist/parsers/springEase.d.ts.map +1 -1
  43. package/dist/parsers/springEase.js +2 -69
  44. package/dist/parsers/springEase.js.map +1 -1
  45. package/dist/slideshow/index.d.ts +1 -0
  46. package/dist/slideshow/index.d.ts.map +1 -1
  47. package/dist/slideshow/index.js +1 -0
  48. package/dist/slideshow/index.js.map +1 -1
  49. package/dist/studio-api/helpers/draftMarkers.d.ts +2 -10
  50. package/dist/studio-api/helpers/draftMarkers.d.ts.map +1 -1
  51. package/dist/studio-api/helpers/draftMarkers.js +2 -10
  52. package/dist/studio-api/helpers/draftMarkers.js.map +1 -1
  53. package/dist/studio-api/helpers/finiteMutation.d.ts +2 -10
  54. package/dist/studio-api/helpers/finiteMutation.d.ts.map +1 -1
  55. package/dist/studio-api/helpers/finiteMutation.js +2 -20
  56. package/dist/studio-api/helpers/finiteMutation.js.map +1 -1
  57. package/dist/studio-api/helpers/manualEditsRenderScript.d.ts +2 -12
  58. package/dist/studio-api/helpers/manualEditsRenderScript.d.ts.map +1 -1
  59. package/dist/studio-api/helpers/manualEditsRenderScript.js +2 -632
  60. package/dist/studio-api/helpers/manualEditsRenderScript.js.map +1 -1
  61. package/dist/studio-api/helpers/screenshotClip.d.ts +2 -7
  62. package/dist/studio-api/helpers/screenshotClip.d.ts.map +1 -1
  63. package/dist/studio-api/helpers/screenshotClip.js +2 -21
  64. package/dist/studio-api/helpers/screenshotClip.js.map +1 -1
  65. package/dist/studio-api/helpers/studioMotionRenderScript.d.ts +2 -8
  66. package/dist/studio-api/helpers/studioMotionRenderScript.d.ts.map +1 -1
  67. package/dist/studio-api/helpers/studioMotionRenderScript.js +2 -207
  68. package/dist/studio-api/helpers/studioMotionRenderScript.js.map +1 -1
  69. package/dist/studio-api/index.d.ts +2 -9
  70. package/dist/studio-api/index.d.ts.map +1 -1
  71. package/dist/studio-api/index.js +2 -8
  72. package/dist/studio-api/index.js.map +1 -1
  73. package/package.json +16 -18
  74. package/dist/generated/runtime-inline.js +0 -11
  75. package/dist/hyperframe.manifest.json +0 -22
  76. package/dist/hyperframe.runtime.mjs +0 -325
  77. package/dist/lint/context.d.ts +0 -17
  78. package/dist/lint/context.d.ts.map +0 -1
  79. package/dist/lint/context.js +0 -37
  80. package/dist/lint/context.js.map +0 -1
  81. package/dist/lint/hyperframeLinter.d.ts +0 -14
  82. package/dist/lint/hyperframeLinter.d.ts.map +0 -1
  83. package/dist/lint/hyperframeLinter.js +0 -132
  84. package/dist/lint/hyperframeLinter.js.map +0 -1
  85. package/dist/lint/rules/adapters.d.ts +0 -3
  86. package/dist/lint/rules/adapters.d.ts.map +0 -1
  87. package/dist/lint/rules/adapters.js +0 -40
  88. package/dist/lint/rules/adapters.js.map +0 -1
  89. package/dist/lint/rules/captions.d.ts +0 -3
  90. package/dist/lint/rules/captions.d.ts.map +0 -1
  91. package/dist/lint/rules/captions.js +0 -242
  92. package/dist/lint/rules/captions.js.map +0 -1
  93. package/dist/lint/rules/composition.d.ts +0 -5
  94. package/dist/lint/rules/composition.d.ts.map +0 -1
  95. package/dist/lint/rules/composition.js +0 -694
  96. package/dist/lint/rules/composition.js.map +0 -1
  97. package/dist/lint/rules/core.d.ts +0 -3
  98. package/dist/lint/rules/core.d.ts.map +0 -1
  99. package/dist/lint/rules/core.js +0 -432
  100. package/dist/lint/rules/core.js.map +0 -1
  101. package/dist/lint/rules/fonts.d.ts +0 -3
  102. package/dist/lint/rules/fonts.d.ts.map +0 -1
  103. package/dist/lint/rules/fonts.js +0 -205
  104. package/dist/lint/rules/fonts.js.map +0 -1
  105. package/dist/lint/rules/gsap.d.ts +0 -4
  106. package/dist/lint/rules/gsap.d.ts.map +0 -1
  107. package/dist/lint/rules/gsap.js +0 -1039
  108. package/dist/lint/rules/gsap.js.map +0 -1
  109. package/dist/lint/rules/media.d.ts +0 -3
  110. package/dist/lint/rules/media.d.ts.map +0 -1
  111. package/dist/lint/rules/media.js +0 -491
  112. package/dist/lint/rules/media.js.map +0 -1
  113. package/dist/lint/rules/slideshow.d.ts +0 -4
  114. package/dist/lint/rules/slideshow.d.ts.map +0 -1
  115. package/dist/lint/rules/slideshow.js +0 -74
  116. package/dist/lint/rules/slideshow.js.map +0 -1
  117. package/dist/lint/rules/textures.d.ts +0 -3
  118. package/dist/lint/rules/textures.d.ts.map +0 -1
  119. package/dist/lint/rules/textures.js +0 -192
  120. package/dist/lint/rules/textures.js.map +0 -1
  121. package/dist/lint/types.d.ts +0 -36
  122. package/dist/lint/types.d.ts.map +0 -1
  123. package/dist/lint/types.js +0 -2
  124. package/dist/lint/types.js.map +0 -1
  125. package/dist/lint/utils.d.ts +0 -55
  126. package/dist/lint/utils.d.ts.map +0 -1
  127. package/dist/lint/utils.js +0 -264
  128. package/dist/lint/utils.js.map +0 -1
  129. package/dist/parsers/gsapInline.d.ts +0 -47
  130. package/dist/parsers/gsapInline.d.ts.map +0 -1
  131. package/dist/parsers/gsapInline.js +0 -513
  132. package/dist/parsers/gsapInline.js.map +0 -1
  133. package/dist/parsers/gsapParser.d.ts +0 -158
  134. package/dist/parsers/gsapParser.d.ts.map +0 -1
  135. package/dist/parsers/gsapParser.js +0 -2634
  136. package/dist/parsers/gsapParser.js.map +0 -1
  137. package/dist/parsers/gsapParser.test-helpers.d.ts +0 -49
  138. package/dist/parsers/gsapParser.test-helpers.d.ts.map +0 -1
  139. package/dist/parsers/gsapParser.test-helpers.js +0 -97
  140. package/dist/parsers/gsapParser.test-helpers.js.map +0 -1
  141. package/dist/parsers/gsapSerialize.d.ts +0 -191
  142. package/dist/parsers/gsapSerialize.d.ts.map +0 -1
  143. package/dist/parsers/gsapSerialize.js +0 -410
  144. package/dist/parsers/gsapSerialize.js.map +0 -1
  145. package/dist/parsers/gsapUnroll.d.ts +0 -7
  146. package/dist/parsers/gsapUnroll.d.ts.map +0 -1
  147. package/dist/parsers/gsapUnroll.js +0 -137
  148. package/dist/parsers/gsapUnroll.js.map +0 -1
  149. package/dist/parsers/htmlParser.d.ts +0 -27
  150. package/dist/parsers/htmlParser.d.ts.map +0 -1
  151. package/dist/parsers/htmlParser.js +0 -731
  152. package/dist/parsers/htmlParser.js.map +0 -1
  153. package/dist/studio-api/createStudioApi.d.ts +0 -10
  154. package/dist/studio-api/createStudioApi.d.ts.map +0 -1
  155. package/dist/studio-api/createStudioApi.js +0 -32
  156. package/dist/studio-api/createStudioApi.js.map +0 -1
  157. package/dist/studio-api/helpers/backupJournal.d.ts +0 -9
  158. package/dist/studio-api/helpers/backupJournal.d.ts.map +0 -1
  159. package/dist/studio-api/helpers/backupJournal.js +0 -81
  160. package/dist/studio-api/helpers/backupJournal.js.map +0 -1
  161. package/dist/studio-api/helpers/hfIdPersist.d.ts +0 -11
  162. package/dist/studio-api/helpers/hfIdPersist.d.ts.map +0 -1
  163. package/dist/studio-api/helpers/hfIdPersist.js +0 -39
  164. package/dist/studio-api/helpers/hfIdPersist.js.map +0 -1
  165. package/dist/studio-api/helpers/mediaValidation.d.ts +0 -20
  166. package/dist/studio-api/helpers/mediaValidation.d.ts.map +0 -1
  167. package/dist/studio-api/helpers/mediaValidation.js +0 -56
  168. package/dist/studio-api/helpers/mediaValidation.js.map +0 -1
  169. package/dist/studio-api/helpers/mime.d.ts +0 -4
  170. package/dist/studio-api/helpers/mime.d.ts.map +0 -1
  171. package/dist/studio-api/helpers/mime.js +0 -39
  172. package/dist/studio-api/helpers/mime.js.map +0 -1
  173. package/dist/studio-api/helpers/previewAdapter.d.ts +0 -43
  174. package/dist/studio-api/helpers/previewAdapter.d.ts.map +0 -1
  175. package/dist/studio-api/helpers/previewAdapter.js +0 -118
  176. package/dist/studio-api/helpers/previewAdapter.js.map +0 -1
  177. package/dist/studio-api/helpers/projectSignature.d.ts +0 -5
  178. package/dist/studio-api/helpers/projectSignature.d.ts.map +0 -1
  179. package/dist/studio-api/helpers/projectSignature.js +0 -154
  180. package/dist/studio-api/helpers/projectSignature.js.map +0 -1
  181. package/dist/studio-api/helpers/safePath.d.ts +0 -12
  182. package/dist/studio-api/helpers/safePath.d.ts.map +0 -1
  183. package/dist/studio-api/helpers/safePath.js +0 -38
  184. package/dist/studio-api/helpers/safePath.js.map +0 -1
  185. package/dist/studio-api/helpers/sourceMutation.d.ts +0 -28
  186. package/dist/studio-api/helpers/sourceMutation.d.ts.map +0 -1
  187. package/dist/studio-api/helpers/sourceMutation.js +0 -339
  188. package/dist/studio-api/helpers/sourceMutation.js.map +0 -1
  189. package/dist/studio-api/helpers/subComposition.d.ts +0 -20
  190. package/dist/studio-api/helpers/subComposition.d.ts.map +0 -1
  191. package/dist/studio-api/helpers/subComposition.js +0 -289
  192. package/dist/studio-api/helpers/subComposition.js.map +0 -1
  193. package/dist/studio-api/helpers/waveform.d.ts +0 -4
  194. package/dist/studio-api/helpers/waveform.d.ts.map +0 -1
  195. package/dist/studio-api/helpers/waveform.js +0 -80
  196. package/dist/studio-api/helpers/waveform.js.map +0 -1
  197. package/dist/studio-api/routes/files.d.ts +0 -4
  198. package/dist/studio-api/routes/files.d.ts.map +0 -1
  199. package/dist/studio-api/routes/files.js +0 -1200
  200. package/dist/studio-api/routes/files.js.map +0 -1
  201. package/dist/studio-api/routes/fonts.d.ts +0 -3
  202. package/dist/studio-api/routes/fonts.d.ts.map +0 -1
  203. package/dist/studio-api/routes/fonts.js +0 -157
  204. package/dist/studio-api/routes/fonts.js.map +0 -1
  205. package/dist/studio-api/routes/lint.d.ts +0 -4
  206. package/dist/studio-api/routes/lint.d.ts.map +0 -1
  207. package/dist/studio-api/routes/lint.js +0 -29
  208. package/dist/studio-api/routes/lint.js.map +0 -1
  209. package/dist/studio-api/routes/preview.d.ts +0 -4
  210. package/dist/studio-api/routes/preview.d.ts.map +0 -1
  211. package/dist/studio-api/routes/preview.js +0 -331
  212. package/dist/studio-api/routes/preview.js.map +0 -1
  213. package/dist/studio-api/routes/projects.d.ts +0 -4
  214. package/dist/studio-api/routes/projects.d.ts.map +0 -1
  215. package/dist/studio-api/routes/projects.js +0 -45
  216. package/dist/studio-api/routes/projects.js.map +0 -1
  217. package/dist/studio-api/routes/registry.d.ts +0 -4
  218. package/dist/studio-api/routes/registry.d.ts.map +0 -1
  219. package/dist/studio-api/routes/registry.js +0 -31
  220. package/dist/studio-api/routes/registry.js.map +0 -1
  221. package/dist/studio-api/routes/render.d.ts +0 -4
  222. package/dist/studio-api/routes/render.d.ts.map +0 -1
  223. package/dist/studio-api/routes/render.js +0 -269
  224. package/dist/studio-api/routes/render.js.map +0 -1
  225. package/dist/studio-api/routes/storyboard.d.ts +0 -4
  226. package/dist/studio-api/routes/storyboard.d.ts.map +0 -1
  227. package/dist/studio-api/routes/storyboard.js +0 -65
  228. package/dist/studio-api/routes/storyboard.js.map +0 -1
  229. package/dist/studio-api/routes/thumbnail.d.ts +0 -4
  230. package/dist/studio-api/routes/thumbnail.d.ts.map +0 -1
  231. package/dist/studio-api/routes/thumbnail.js +0 -107
  232. package/dist/studio-api/routes/thumbnail.js.map +0 -1
  233. package/dist/studio-api/routes/waveform.d.ts +0 -4
  234. package/dist/studio-api/routes/waveform.d.ts.map +0 -1
  235. package/dist/studio-api/routes/waveform.js +0 -41
  236. package/dist/studio-api/routes/waveform.js.map +0 -1
  237. package/dist/studio-api/types.d.ts +0 -120
  238. package/dist/studio-api/types.d.ts.map +0 -1
  239. package/dist/studio-api/types.js +0 -2
  240. package/dist/studio-api/types.js.map +0 -1
@@ -1,205 +0,0 @@
1
- import { FONT_ALIAS_KEYS, resolveAliasDisplayName } from "../../fonts/aliases.js";
2
- import { isRegistrySourceFile, isRegistryInstalledFile } from "./composition.js";
3
- const GENERIC_FAMILIES = new Set([
4
- "serif",
5
- "sans-serif",
6
- "monospace",
7
- "cursive",
8
- "fantasy",
9
- "system-ui",
10
- "ui-serif",
11
- "ui-sans-serif",
12
- "ui-monospace",
13
- "ui-rounded",
14
- "math",
15
- "emoji",
16
- "fangsong",
17
- "inherit",
18
- "initial",
19
- "unset",
20
- "revert",
21
- ]);
22
- // A CSS comment can contain a `}` (e.g. `@font-face { /* 400 } regular */
23
- // font-family: 'X'; ... }`), which truncates the naive `@font-face\s*\{[^}]*\}`
24
- // block match at the comment's brace — so the rule never sees the real
25
- // `font-family` and reports a false-positive font_family_without_font_face.
26
- // Large/"framework" stylesheets hit this far more often than minimal ones,
27
- // which is why a simple <style> passes while a complex one fails. Strip
28
- // comments before scanning so a brace inside one cannot split a block. See #1534.
29
- function stripCssComments(css) {
30
- return css.replace(/\/\*[\s\S]*?\*\//g, " ");
31
- }
32
- function extractFontFaceFamilies(styles) {
33
- const families = new Set();
34
- const fontFaceRe = /@font-face\s*\{[^}]*\}/gi;
35
- const familyRe = /font-family\s*:\s*(['"]?)([^;'"]+)\1/i;
36
- for (const style of styles) {
37
- const content = stripCssComments(style.content);
38
- let match;
39
- while ((match = fontFaceRe.exec(content)) !== null) {
40
- const familyMatch = match[0].match(familyRe);
41
- if (familyMatch?.[2]) {
42
- families.add(familyMatch[2].trim().toLowerCase());
43
- }
44
- }
45
- }
46
- return families;
47
- }
48
- function extractUsedFontFamilies(styles) {
49
- const used = [];
50
- const seen = new Set();
51
- const propRe = /font-family\s*:\s*([^;}{]+)/gi;
52
- for (const style of styles) {
53
- const withoutFontFace = stripCssComments(style.content).replace(/@font-face\s*\{[^}]*\}/gi, "");
54
- let match;
55
- while ((match = propRe.exec(withoutFontFace)) !== null) {
56
- const stack = match[1];
57
- for (const part of stack.split(",")) {
58
- const name = part
59
- .trim()
60
- .replace(/^['"]|['"]$/g, "")
61
- .trim()
62
- .toLowerCase();
63
- if (name && !GENERIC_FAMILIES.has(name) && !seen.has(name)) {
64
- seen.add(name);
65
- used.push(name);
66
- }
67
- }
68
- }
69
- }
70
- return used;
71
- }
72
- function collectAliasedFonts(used, declared) {
73
- const aliased = [];
74
- for (const name of used) {
75
- if (declared.has(name))
76
- continue;
77
- const displayName = resolveAliasDisplayName(name);
78
- if (!displayName)
79
- continue;
80
- if (displayName.toLowerCase() === name)
81
- continue;
82
- aliased.push(`'${name}' → ${displayName}`);
83
- }
84
- return aliased;
85
- }
86
- function normalizeFontFamily(name) {
87
- const decoded = name.replace(/\+/g, " ").trim();
88
- if (!decoded)
89
- return null;
90
- try {
91
- return decodeURIComponent(decoded).trim().toLowerCase() || null;
92
- }
93
- catch {
94
- return decoded.toLowerCase();
95
- }
96
- }
97
- function extractGoogleFontFamiliesFromUrl(rawUrl) {
98
- const url = rawUrl.replace(/&amp;/gi, "&");
99
- let parsed;
100
- try {
101
- parsed = new URL(url, "https://fonts.googleapis.com");
102
- }
103
- catch {
104
- return [];
105
- }
106
- if (parsed.hostname.toLowerCase() !== "fonts.googleapis.com")
107
- return [];
108
- const families = [];
109
- for (const value of parsed.searchParams.getAll("family")) {
110
- for (const familySpec of value.split("|")) {
111
- const family = normalizeFontFamily(familySpec.split(":")[0] || "");
112
- if (family)
113
- families.push(family);
114
- }
115
- }
116
- return families;
117
- }
118
- function collectGoogleFontFamilies(source, styles) {
119
- const families = new Set();
120
- const addUrl = (url) => {
121
- for (const family of extractGoogleFontFamiliesFromUrl(url))
122
- families.add(family);
123
- };
124
- const linkHrefRe = /<link\b[^>]*\bhref\s*=\s*(?:(["'])([^"']*fonts\.googleapis\.com[^"']*)\1|([^\s>]*fonts\.googleapis\.com[^\s>]*))[^>]*>/gi;
125
- for (const match of source.matchAll(linkHrefRe)) {
126
- const href = match[2] || match[3];
127
- if (href)
128
- addUrl(href);
129
- }
130
- const importUrlRe = /@import\s+(?:url\(\s*)?(["']?)([^"')\s]*fonts\.googleapis\.com[^"')\s]*)\1\s*\)?/gi;
131
- for (const style of styles) {
132
- for (const match of style.content.matchAll(importUrlRe)) {
133
- if (match[2])
134
- addUrl(match[2]);
135
- }
136
- }
137
- return families;
138
- }
139
- export const fontRules = [
140
- // google_fonts_import
141
- ({ styles, source, rawSource, options }) => {
142
- if (isRegistrySourceFile(options.filePath) || isRegistryInstalledFile(rawSource))
143
- return [];
144
- const findings = [];
145
- const googleFontsInLink = /<link\b[^>]*fonts\.googleapis\.com[^>]*>/i.test(source);
146
- const googleFontsInImport = styles.some((s) => /@import\s+url\s*\(\s*['"]?[^)]*fonts\.googleapis\.com/i.test(s.content));
147
- if (googleFontsInLink || googleFontsInImport) {
148
- findings.push({
149
- code: "google_fonts_import",
150
- severity: "warning",
151
- message: "Composition loads fonts from fonts.googleapis.com. The producer resolves Google Fonts " +
152
- "during compile/render, but raw external font requests add latency and can fail before " +
153
- "canonicalization. Prefer mapped family names or local @font-face declarations when possible.",
154
- fixHint: "For bundled fonts, remove the Google Fonts <link> or @import and keep the font-family " +
155
- "declaration. For custom fonts, use @font-face { font-family: '...'; src: url('...woff2'); }.",
156
- });
157
- }
158
- return findings;
159
- },
160
- // system_font_will_alias — inform when a font will be silently substituted
161
- ({ styles, options }) => {
162
- const declared = extractFontFaceFamilies(styles);
163
- const used = extractUsedFontFamilies(styles);
164
- const aliased = collectAliasedFonts(used, declared);
165
- if (aliased.length === 0)
166
- return [];
167
- // In distributed / Lambda renders system-font capture is disabled, so
168
- // the alias substitution does NOT happen — elevate to a warning.
169
- const severity = options.distributed ? "warning" : "info";
170
- return [
171
- {
172
- code: "system_font_will_alias",
173
- severity,
174
- message: `Font ${aliased.length === 1 ? "family" : "families"} will be substituted at render time: ${aliased.join(", ")}. ` +
175
- (options.distributed
176
- ? "In distributed/Lambda rendering system-font capture is disabled — these fonts will fall back to OS defaults. Embed explicit @font-face declarations instead."
177
- : "The renderer maps these to bundled fonts for cross-platform consistency. " +
178
- "Use the target font name directly for consistent preview and render results."),
179
- },
180
- ];
181
- },
182
- // font_family_without_font_face
183
- ({ styles, source, rawSource, options }) => {
184
- if (isRegistrySourceFile(options.filePath) || isRegistryInstalledFile(rawSource))
185
- return [];
186
- const findings = [];
187
- const declared = extractFontFaceFamilies(styles);
188
- const used = extractUsedFontFamilies(styles);
189
- const googleFonts = collectGoogleFontFamilies(source, styles);
190
- const undeclared = used.filter((name) => !declared.has(name) && !FONT_ALIAS_KEYS.has(name) && !googleFonts.has(name));
191
- if (undeclared.length === 0)
192
- return findings;
193
- findings.push({
194
- code: "font_family_without_font_face",
195
- severity: "error",
196
- message: `Font ${undeclared.length === 1 ? "family" : "families"} used without @font-face declaration: ${undeclared.join(", ")}. ` +
197
- "These are not in the auto-resolved font list, so the renderer cannot supply them automatically. " +
198
- "Text will fall back to a generic font, producing incorrect typography in the video.",
199
- fixHint: "Add @font-face { font-family: '...'; src: url('capture/assets/fonts/...woff2'); } " +
200
- "for each font family, pointing to the captured .woff2 files.",
201
- });
202
- return findings;
203
- },
204
- ];
205
- //# sourceMappingURL=fonts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../../src/lint/rules/fonts.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { LintContext } from "../context";
2
- import type { LintRule } from "../types";
3
- export declare const gsapRules: LintRule<LintContext>[];
4
- //# sourceMappingURL=gsap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gsap.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/gsap.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,UAAU,CAAC;AAoehE,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,EA2nB5C,CAAC"}