@kensio/colophon 2.4.0 → 2.6.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.
Files changed (687) hide show
  1. package/README.md +139 -13
  2. package/dist/astro/index.d.ts +49 -0
  3. package/dist/astro/index.d.ts.map +1 -0
  4. package/dist/astro/index.js +42 -0
  5. package/dist/astro/index.js.map +1 -0
  6. package/dist/background/gradient.d.ts +12 -0
  7. package/dist/background/gradient.d.ts.map +1 -0
  8. package/dist/background/gradient.js +21 -0
  9. package/dist/background/gradient.js.map +1 -0
  10. package/dist/background/image.d.ts +14 -0
  11. package/dist/background/image.d.ts.map +1 -0
  12. package/dist/background/image.js +36 -0
  13. package/dist/background/image.js.map +1 -0
  14. package/dist/{background.d.ts → background/index.d.ts} +5 -5
  15. package/dist/background/index.d.ts.map +1 -0
  16. package/dist/background/index.js +27 -0
  17. package/dist/background/index.js.map +1 -0
  18. package/dist/background/mesh.d.ts +12 -0
  19. package/dist/background/mesh.d.ts.map +1 -0
  20. package/dist/background/mesh.js +43 -0
  21. package/dist/background/mesh.js.map +1 -0
  22. package/dist/cli/args/command.d.ts +13 -0
  23. package/dist/cli/args/command.d.ts.map +1 -0
  24. package/dist/cli/args/command.js +22 -0
  25. package/dist/cli/args/command.js.map +1 -0
  26. package/dist/cli/args/index.d.ts +28 -0
  27. package/dist/cli/args/index.d.ts.map +1 -0
  28. package/dist/cli/args/index.js +75 -0
  29. package/dist/cli/args/index.js.map +1 -0
  30. package/dist/cli/args/switches.d.ts +18 -0
  31. package/dist/cli/args/switches.d.ts.map +1 -0
  32. package/dist/cli/args/switches.js +42 -0
  33. package/dist/cli/args/switches.js.map +1 -0
  34. package/dist/cli/args/usage.d.ts +3 -0
  35. package/dist/cli/args/usage.d.ts.map +1 -0
  36. package/dist/cli/args/usage.js +34 -0
  37. package/dist/cli/args/usage.js.map +1 -0
  38. package/dist/cli/args/values.d.ts +11 -0
  39. package/dist/cli/args/values.d.ts.map +1 -0
  40. package/dist/cli/args/values.js +29 -0
  41. package/dist/cli/args/values.js.map +1 -0
  42. package/dist/cli/build.d.ts +10 -0
  43. package/dist/cli/build.d.ts.map +1 -0
  44. package/dist/cli/build.js +41 -0
  45. package/dist/cli/build.js.map +1 -0
  46. package/dist/cli/eject/adapters.d.ts +20 -0
  47. package/dist/cli/eject/adapters.d.ts.map +1 -0
  48. package/dist/cli/eject/adapters.js +29 -0
  49. package/dist/cli/eject/adapters.js.map +1 -0
  50. package/dist/cli/eject/astro.d.ts +13 -0
  51. package/dist/cli/eject/astro.d.ts.map +1 -0
  52. package/dist/cli/eject/astro.js +35 -0
  53. package/dist/cli/eject/astro.js.map +1 -0
  54. package/dist/cli/eject/hugo.d.ts +19 -0
  55. package/dist/cli/eject/hugo.d.ts.map +1 -0
  56. package/dist/cli/eject/hugo.js +127 -0
  57. package/dist/cli/eject/hugo.js.map +1 -0
  58. package/dist/cli/eject/index.d.ts +15 -0
  59. package/dist/cli/eject/index.d.ts.map +1 -0
  60. package/dist/cli/eject/index.js +46 -0
  61. package/dist/cli/eject/index.js.map +1 -0
  62. package/dist/cli/index.js +25 -20
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cli/init/fs.d.ts +5 -0
  65. package/dist/cli/init/fs.d.ts.map +1 -0
  66. package/dist/cli/init/fs.js +19 -0
  67. package/dist/cli/init/fs.js.map +1 -0
  68. package/dist/cli/init/guess.d.ts +9 -0
  69. package/dist/cli/init/guess.d.ts.map +1 -0
  70. package/dist/cli/init/guess.js +27 -0
  71. package/dist/cli/init/guess.js.map +1 -0
  72. package/dist/cli/init/index.d.ts +11 -0
  73. package/dist/cli/init/index.d.ts.map +1 -0
  74. package/dist/cli/init/index.js +36 -0
  75. package/dist/cli/init/index.js.map +1 -0
  76. package/dist/cli/init/module.d.ts +12 -0
  77. package/dist/cli/init/module.d.ts.map +1 -0
  78. package/dist/cli/init/module.js +45 -0
  79. package/dist/cli/init/module.js.map +1 -0
  80. package/dist/cli/init/scaffold.d.ts +10 -0
  81. package/dist/cli/init/scaffold.d.ts.map +1 -0
  82. package/dist/cli/init/scaffold.js +52 -0
  83. package/dist/cli/init/scaffold.js.map +1 -0
  84. package/dist/cli/message.d.ts +7 -0
  85. package/dist/cli/message.d.ts.map +1 -0
  86. package/dist/cli/message.js +9 -0
  87. package/dist/cli/message.js.map +1 -0
  88. package/dist/cli/preview/index.d.ts +13 -0
  89. package/dist/cli/preview/index.d.ts.map +1 -0
  90. package/dist/cli/preview/index.js +27 -0
  91. package/dist/cli/preview/index.js.map +1 -0
  92. package/dist/cli/preview/open.d.ts +10 -0
  93. package/dist/cli/preview/open.d.ts.map +1 -0
  94. package/dist/cli/preview/open.js +32 -0
  95. package/dist/cli/preview/open.js.map +1 -0
  96. package/dist/cli/preview/render.d.ts +23 -0
  97. package/dist/cli/preview/render.d.ts.map +1 -0
  98. package/dist/cli/preview/render.js +40 -0
  99. package/dist/cli/preview/render.js.map +1 -0
  100. package/dist/cli/preview/root.d.ts +17 -0
  101. package/dist/cli/preview/root.d.ts.map +1 -0
  102. package/dist/cli/preview/root.js +22 -0
  103. package/dist/cli/preview/root.js.map +1 -0
  104. package/dist/cli/preview/size.d.ts +7 -0
  105. package/dist/cli/preview/size.d.ts.map +1 -0
  106. package/dist/cli/preview/size.js +13 -0
  107. package/dist/cli/preview/size.js.map +1 -0
  108. package/dist/cli/report.d.ts +6 -0
  109. package/dist/cli/report.d.ts.map +1 -0
  110. package/dist/cli/report.js +23 -0
  111. package/dist/cli/report.js.map +1 -0
  112. package/dist/cli/watch/filter.d.ts +14 -0
  113. package/dist/cli/watch/filter.d.ts.map +1 -0
  114. package/dist/cli/watch/filter.js +16 -0
  115. package/dist/cli/watch/filter.js.map +1 -0
  116. package/dist/cli/watch/index.d.ts +27 -0
  117. package/dist/cli/watch/index.d.ts.map +1 -0
  118. package/dist/cli/watch/index.js +38 -0
  119. package/dist/cli/watch/index.js.map +1 -0
  120. package/dist/cli/watch/queue.d.ts +24 -0
  121. package/dist/cli/watch/queue.d.ts.map +1 -0
  122. package/dist/cli/watch/queue.js +57 -0
  123. package/dist/cli/watch/queue.js.map +1 -0
  124. package/dist/config/defaults.d.ts +39 -1
  125. package/dist/config/defaults.d.ts.map +1 -1
  126. package/dist/config/defaults.js +38 -0
  127. package/dist/config/defaults.js.map +1 -1
  128. package/dist/config/index.d.ts +2 -2
  129. package/dist/config/index.d.ts.map +1 -1
  130. package/dist/config/index.js +27 -6
  131. package/dist/config/index.js.map +1 -1
  132. package/dist/config/output.d.ts +26 -0
  133. package/dist/config/output.d.ts.map +1 -0
  134. package/dist/config/output.js +45 -0
  135. package/dist/config/output.js.map +1 -0
  136. package/dist/config/resolve.d.ts +10 -0
  137. package/dist/config/resolve.d.ts.map +1 -1
  138. package/dist/config/resolve.js +20 -1
  139. package/dist/config/resolve.js.map +1 -1
  140. package/dist/config/size.d.ts +6 -0
  141. package/dist/config/size.d.ts.map +1 -1
  142. package/dist/config/size.js +20 -8
  143. package/dist/config/size.js.map +1 -1
  144. package/dist/content/index.d.ts +1 -0
  145. package/dist/content/index.d.ts.map +1 -1
  146. package/dist/content/index.js +1 -0
  147. package/dist/content/index.js.map +1 -1
  148. package/dist/content/read.d.ts +15 -0
  149. package/dist/content/read.d.ts.map +1 -0
  150. package/dist/content/read.js +36 -0
  151. package/dist/content/read.js.map +1 -0
  152. package/dist/content/walk.d.ts.map +1 -1
  153. package/dist/content/walk.js +4 -30
  154. package/dist/content/walk.js.map +1 -1
  155. package/dist/core/index.d.ts +37 -0
  156. package/dist/core/index.d.ts.map +1 -0
  157. package/dist/core/index.js +13 -0
  158. package/dist/core/index.js.map +1 -0
  159. package/dist/encode/fit.d.ts +16 -0
  160. package/dist/encode/fit.d.ts.map +1 -0
  161. package/dist/encode/fit.js +23 -0
  162. package/dist/encode/fit.js.map +1 -0
  163. package/dist/encode/format.d.ts +12 -0
  164. package/dist/encode/format.d.ts.map +1 -0
  165. package/dist/encode/format.js +40 -0
  166. package/dist/encode/format.js.map +1 -0
  167. package/dist/encode/index.d.ts +14 -0
  168. package/dist/encode/index.d.ts.map +1 -0
  169. package/dist/encode/index.js +52 -0
  170. package/dist/encode/index.js.map +1 -0
  171. package/dist/encode/sharp.d.ts +19 -0
  172. package/dist/encode/sharp.d.ts.map +1 -0
  173. package/dist/encode/sharp.js +57 -0
  174. package/dist/encode/sharp.js.map +1 -0
  175. package/dist/encode/warn.d.ts +10 -0
  176. package/dist/encode/warn.d.ts.map +1 -0
  177. package/dist/encode/warn.js +31 -0
  178. package/dist/encode/warn.js.map +1 -0
  179. package/dist/fonts/resolve.d.ts.map +1 -1
  180. package/dist/fonts/resolve.js +2 -8
  181. package/dist/fonts/resolve.js.map +1 -1
  182. package/dist/generate/index.d.ts +4 -0
  183. package/dist/generate/index.d.ts.map +1 -1
  184. package/dist/generate/index.js +10 -4
  185. package/dist/generate/index.js.map +1 -1
  186. package/dist/generate/options.d.ts +11 -1
  187. package/dist/generate/options.d.ts.map +1 -1
  188. package/dist/generate/options.js.map +1 -1
  189. package/dist/generate/output-path.d.ts +6 -2
  190. package/dist/generate/output-path.d.ts.map +1 -1
  191. package/dist/generate/output-path.js +7 -2
  192. package/dist/generate/output-path.js.map +1 -1
  193. package/dist/generate/plan.d.ts.map +1 -1
  194. package/dist/generate/plan.js +3 -3
  195. package/dist/generate/plan.js.map +1 -1
  196. package/dist/generate/render-image.d.ts +6 -0
  197. package/dist/generate/render-image.d.ts.map +1 -1
  198. package/dist/generate/render-image.js +14 -4
  199. package/dist/generate/render-image.js.map +1 -1
  200. package/dist/image/index.d.ts +3 -1
  201. package/dist/image/index.d.ts.map +1 -1
  202. package/dist/image/index.js +4 -3
  203. package/dist/image/index.js.map +1 -1
  204. package/dist/image/jpeg.d.ts +5 -4
  205. package/dist/image/jpeg.d.ts.map +1 -1
  206. package/dist/image/jpeg.js +13 -36
  207. package/dist/image/jpeg.js.map +1 -1
  208. package/dist/image/load.d.ts.map +1 -1
  209. package/dist/image/load.js +4 -15
  210. package/dist/image/load.js.map +1 -1
  211. package/dist/image/resolve.d.ts.map +1 -1
  212. package/dist/image/resolve.js +2 -8
  213. package/dist/image/resolve.js.map +1 -1
  214. package/dist/image/uri.d.ts.map +1 -1
  215. package/dist/image/uri.js +2 -3
  216. package/dist/image/uri.js.map +1 -1
  217. package/dist/index.d.ts +10 -5
  218. package/dist/index.d.ts.map +1 -1
  219. package/dist/index.js +12 -4
  220. package/dist/index.js.map +1 -1
  221. package/dist/jpeg/index.d.ts +10 -0
  222. package/dist/jpeg/index.d.ts.map +1 -0
  223. package/dist/jpeg/index.js +2 -0
  224. package/dist/jpeg/index.js.map +1 -0
  225. package/dist/jpeg/segments.d.ts +32 -0
  226. package/dist/jpeg/segments.d.ts.map +1 -0
  227. package/dist/jpeg/segments.js +66 -0
  228. package/dist/jpeg/segments.js.map +1 -0
  229. package/dist/layout/draw.d.ts +20 -0
  230. package/dist/layout/draw.d.ts.map +1 -0
  231. package/dist/layout/draw.js +32 -0
  232. package/dist/layout/draw.js.map +1 -0
  233. package/dist/layout/extent.d.ts +19 -0
  234. package/dist/layout/extent.d.ts.map +1 -0
  235. package/dist/layout/extent.js +24 -0
  236. package/dist/layout/extent.js.map +1 -0
  237. package/dist/layout/index.d.ts +7 -4
  238. package/dist/layout/index.d.ts.map +1 -1
  239. package/dist/layout/index.js +5 -3
  240. package/dist/layout/index.js.map +1 -1
  241. package/dist/layout/lines.d.ts +0 -17
  242. package/dist/layout/lines.d.ts.map +1 -1
  243. package/dist/layout/lines.js +2 -35
  244. package/dist/layout/lines.js.map +1 -1
  245. package/dist/measure/faces.d.ts.map +1 -1
  246. package/dist/measure/faces.js +8 -2
  247. package/dist/measure/faces.js.map +1 -1
  248. package/dist/meta/index.d.ts +1 -0
  249. package/dist/meta/index.d.ts.map +1 -1
  250. package/dist/meta/index.js +1 -0
  251. package/dist/meta/index.js.map +1 -1
  252. package/dist/meta/path.d.ts +24 -0
  253. package/dist/meta/path.d.ts.map +1 -0
  254. package/dist/meta/path.js +41 -0
  255. package/dist/meta/path.js.map +1 -0
  256. package/dist/meta/tags.d.ts.map +1 -1
  257. package/dist/meta/tags.js +6 -1
  258. package/dist/meta/tags.js.map +1 -1
  259. package/dist/placement/index.d.ts +7 -2
  260. package/dist/placement/index.d.ts.map +1 -1
  261. package/dist/placement/index.js +9 -3
  262. package/dist/placement/index.js.map +1 -1
  263. package/dist/placement/relative.d.ts +8 -3
  264. package/dist/placement/relative.d.ts.map +1 -1
  265. package/dist/placement/relative.js +12 -5
  266. package/dist/placement/relative.js.map +1 -1
  267. package/dist/platform/base64.d.ts +13 -0
  268. package/dist/platform/base64.d.ts.map +1 -0
  269. package/dist/platform/base64.js +35 -0
  270. package/dist/platform/base64.js.map +1 -0
  271. package/dist/platform/rasteriser.browser.d.ts +16 -0
  272. package/dist/platform/rasteriser.browser.d.ts.map +1 -0
  273. package/dist/platform/rasteriser.browser.js +20 -0
  274. package/dist/platform/rasteriser.browser.js.map +1 -0
  275. package/dist/platform/rasteriser.node.d.ts +2 -0
  276. package/dist/platform/rasteriser.node.d.ts.map +1 -0
  277. package/dist/platform/rasteriser.node.js +2 -0
  278. package/dist/platform/rasteriser.node.js.map +1 -0
  279. package/dist/platform/read-file.browser.d.ts +17 -0
  280. package/dist/platform/read-file.browser.d.ts.map +1 -0
  281. package/dist/platform/read-file.browser.js +23 -0
  282. package/dist/platform/read-file.browser.js.map +1 -0
  283. package/dist/platform/read-file.node.d.ts +19 -0
  284. package/dist/platform/read-file.node.d.ts.map +1 -0
  285. package/dist/platform/read-file.node.js +31 -0
  286. package/dist/platform/read-file.node.js.map +1 -0
  287. package/dist/png/chunk.d.ts +23 -0
  288. package/dist/png/chunk.d.ts.map +1 -0
  289. package/dist/png/chunk.js +48 -0
  290. package/dist/png/chunk.js.map +1 -0
  291. package/dist/png/index.d.ts +13 -0
  292. package/dist/png/index.d.ts.map +1 -0
  293. package/dist/png/index.js +3 -0
  294. package/dist/png/index.js.map +1 -0
  295. package/dist/png/recompress.d.ts +23 -0
  296. package/dist/png/recompress.d.ts.map +1 -0
  297. package/dist/png/recompress.js +81 -0
  298. package/dist/png/recompress.js.map +1 -0
  299. package/dist/props.d.ts +11 -0
  300. package/dist/props.d.ts.map +1 -1
  301. package/dist/props.js +16 -0
  302. package/dist/props.js.map +1 -1
  303. package/dist/render/image.d.ts +20 -0
  304. package/dist/render/image.d.ts.map +1 -0
  305. package/dist/render/image.js +29 -0
  306. package/dist/render/image.js.map +1 -0
  307. package/dist/render/index.d.ts +2 -1
  308. package/dist/render/index.d.ts.map +1 -1
  309. package/dist/render/index.js +5 -4
  310. package/dist/render/index.js.map +1 -1
  311. package/dist/render/png.d.ts +14 -4
  312. package/dist/render/png.d.ts.map +1 -1
  313. package/dist/render/png.js +22 -23
  314. package/dist/render/png.js.map +1 -1
  315. package/dist/render/rasterise.d.ts +15 -0
  316. package/dist/render/rasterise.d.ts.map +1 -0
  317. package/dist/render/rasterise.js +34 -0
  318. package/dist/render/rasterise.js.map +1 -0
  319. package/dist/render/svg.d.ts.map +1 -1
  320. package/dist/render/svg.js +10 -2
  321. package/dist/render/svg.js.map +1 -1
  322. package/dist/sign/base64url.d.ts +16 -0
  323. package/dist/sign/base64url.d.ts.map +1 -0
  324. package/dist/sign/base64url.js +24 -0
  325. package/dist/sign/base64url.js.map +1 -0
  326. package/dist/sign/index.d.ts +49 -0
  327. package/dist/sign/index.d.ts.map +1 -0
  328. package/dist/sign/index.js +133 -0
  329. package/dist/sign/index.js.map +1 -0
  330. package/dist/stamp/carrier/index.d.ts +7 -0
  331. package/dist/stamp/carrier/index.d.ts.map +1 -0
  332. package/dist/stamp/carrier/index.js +27 -0
  333. package/dist/stamp/carrier/index.js.map +1 -0
  334. package/dist/stamp/carrier/isobmff.d.ts +7 -0
  335. package/dist/stamp/carrier/isobmff.d.ts.map +1 -0
  336. package/dist/stamp/carrier/isobmff.js +55 -0
  337. package/dist/stamp/carrier/isobmff.js.map +1 -0
  338. package/dist/stamp/carrier/jpeg.d.ts +4 -0
  339. package/dist/stamp/carrier/jpeg.d.ts.map +1 -0
  340. package/dist/stamp/carrier/jpeg.js +76 -0
  341. package/dist/stamp/carrier/jpeg.js.map +1 -0
  342. package/dist/stamp/carrier/png.d.ts +7 -0
  343. package/dist/stamp/carrier/png.d.ts.map +1 -0
  344. package/dist/stamp/carrier/png.js +50 -0
  345. package/dist/stamp/carrier/png.js.map +1 -0
  346. package/dist/stamp/carrier/riff.d.ts +4 -0
  347. package/dist/stamp/carrier/riff.d.ts.map +1 -0
  348. package/dist/stamp/carrier/riff.js +54 -0
  349. package/dist/stamp/carrier/riff.js.map +1 -0
  350. package/dist/stamp/carrier/types.d.ts +25 -0
  351. package/dist/stamp/carrier/types.d.ts.map +1 -0
  352. package/dist/stamp/carrier/types.js +2 -0
  353. package/dist/stamp/carrier/types.js.map +1 -0
  354. package/dist/stamp/chunk.d.ts +0 -2
  355. package/dist/stamp/chunk.d.ts.map +1 -1
  356. package/dist/stamp/chunk.js +10 -18
  357. package/dist/stamp/chunk.js.map +1 -1
  358. package/dist/stamp/config-digest.d.ts +18 -0
  359. package/dist/stamp/config-digest.d.ts.map +1 -1
  360. package/dist/stamp/config-digest.js +25 -0
  361. package/dist/stamp/config-digest.js.map +1 -1
  362. package/dist/stamp/index.d.ts +2 -2
  363. package/dist/stamp/index.d.ts.map +1 -1
  364. package/dist/stamp/index.js +2 -2
  365. package/dist/stamp/index.js.map +1 -1
  366. package/dist/stamp/payload.d.ts +28 -0
  367. package/dist/stamp/payload.d.ts.map +1 -0
  368. package/dist/stamp/payload.js +42 -0
  369. package/dist/stamp/payload.js.map +1 -0
  370. package/dist/stamp/read.d.ts +5 -4
  371. package/dist/stamp/read.d.ts.map +1 -1
  372. package/dist/stamp/read.js +26 -43
  373. package/dist/stamp/read.js.map +1 -1
  374. package/dist/stamp/window.d.ts +11 -0
  375. package/dist/stamp/window.d.ts.map +1 -0
  376. package/dist/stamp/window.js +11 -0
  377. package/dist/stamp/window.js.map +1 -0
  378. package/dist/stamp/write.d.ts +21 -0
  379. package/dist/stamp/write.d.ts.map +1 -0
  380. package/dist/stamp/write.js +31 -0
  381. package/dist/stamp/write.js.map +1 -0
  382. package/dist/templates/article/bottom.d.ts +15 -0
  383. package/dist/templates/article/bottom.d.ts.map +1 -0
  384. package/dist/templates/article/bottom.js +61 -0
  385. package/dist/templates/article/bottom.js.map +1 -0
  386. package/dist/templates/article/index.d.ts +12 -0
  387. package/dist/templates/article/index.d.ts.map +1 -0
  388. package/dist/templates/article/index.js +42 -0
  389. package/dist/templates/article/index.js.map +1 -0
  390. package/dist/templates/article/lines.d.ts +27 -0
  391. package/dist/templates/article/lines.d.ts.map +1 -0
  392. package/dist/templates/article/lines.js +53 -0
  393. package/dist/templates/article/lines.js.map +1 -0
  394. package/dist/templates/article/tags.d.ts +25 -0
  395. package/dist/templates/article/tags.d.ts.map +1 -0
  396. package/dist/templates/article/tags.js +63 -0
  397. package/dist/templates/article/tags.js.map +1 -0
  398. package/dist/templates/attribution.d.ts +2 -6
  399. package/dist/templates/attribution.d.ts.map +1 -1
  400. package/dist/templates/attribution.js +8 -22
  401. package/dist/templates/attribution.js.map +1 -1
  402. package/dist/templates/banner/badge-props.d.ts +16 -0
  403. package/dist/templates/banner/badge-props.d.ts.map +1 -0
  404. package/dist/templates/banner/badge-props.js +58 -0
  405. package/dist/templates/banner/badge-props.js.map +1 -0
  406. package/dist/templates/banner/index.d.ts.map +1 -1
  407. package/dist/templates/banner/index.js +6 -4
  408. package/dist/templates/banner/index.js.map +1 -1
  409. package/dist/templates/banner/version.d.ts.map +1 -1
  410. package/dist/templates/banner/version.js +4 -4
  411. package/dist/templates/banner/version.js.map +1 -1
  412. package/dist/templates/bottom.d.ts +23 -0
  413. package/dist/templates/bottom.d.ts.map +1 -0
  414. package/dist/templates/bottom.js +37 -0
  415. package/dist/templates/bottom.js.map +1 -0
  416. package/dist/templates/byline.d.ts +19 -0
  417. package/dist/templates/byline.d.ts.map +1 -0
  418. package/dist/templates/byline.js +45 -0
  419. package/dist/templates/byline.js.map +1 -0
  420. package/dist/templates/code/clip.js +1 -1
  421. package/dist/templates/code/clip.js.map +1 -1
  422. package/dist/templates/code/fit.js +1 -1
  423. package/dist/templates/code/fit.js.map +1 -1
  424. package/dist/templates/code/warn.d.ts +1 -1
  425. package/dist/templates/code/warn.d.ts.map +1 -1
  426. package/dist/templates/code/warn.js +2 -2
  427. package/dist/templates/code/warn.js.map +1 -1
  428. package/dist/templates/docs/chrome.d.ts +17 -0
  429. package/dist/templates/docs/chrome.d.ts.map +1 -0
  430. package/dist/templates/docs/chrome.js +44 -0
  431. package/dist/templates/docs/chrome.js.map +1 -0
  432. package/dist/templates/docs/crumbs.d.ts +14 -0
  433. package/dist/templates/docs/crumbs.d.ts.map +1 -0
  434. package/dist/templates/docs/crumbs.js +32 -0
  435. package/dist/templates/docs/crumbs.js.map +1 -0
  436. package/dist/templates/docs/index.d.ts +13 -0
  437. package/dist/templates/docs/index.d.ts.map +1 -0
  438. package/dist/templates/docs/index.js +47 -0
  439. package/dist/templates/docs/index.js.map +1 -0
  440. package/dist/templates/docs/lines.d.ts +14 -0
  441. package/dist/templates/docs/lines.d.ts.map +1 -0
  442. package/dist/templates/docs/lines.js +29 -0
  443. package/dist/templates/docs/lines.js.map +1 -0
  444. package/dist/templates/event/index.d.ts +12 -0
  445. package/dist/templates/event/index.d.ts.map +1 -0
  446. package/dist/templates/event/index.js +59 -0
  447. package/dist/templates/event/index.js.map +1 -0
  448. package/dist/templates/event/lines.d.ts +14 -0
  449. package/dist/templates/event/lines.d.ts.map +1 -0
  450. package/dist/templates/event/lines.js +29 -0
  451. package/dist/templates/event/lines.js.map +1 -0
  452. package/dist/templates/event/plate.d.ts +16 -0
  453. package/dist/templates/event/plate.d.ts.map +1 -0
  454. package/dist/templates/event/plate.js +36 -0
  455. package/dist/templates/event/plate.js.map +1 -0
  456. package/dist/templates/frame.d.ts +68 -0
  457. package/dist/templates/frame.d.ts.map +1 -0
  458. package/dist/templates/frame.js +63 -0
  459. package/dist/templates/frame.js.map +1 -0
  460. package/dist/templates/index.d.ts +9 -0
  461. package/dist/templates/index.d.ts.map +1 -1
  462. package/dist/templates/index.js +27 -0
  463. package/dist/templates/index.js.map +1 -1
  464. package/dist/templates/photo/index.d.ts +17 -0
  465. package/dist/templates/photo/index.d.ts.map +1 -0
  466. package/dist/templates/photo/index.js +51 -0
  467. package/dist/templates/photo/index.js.map +1 -0
  468. package/dist/templates/photo/lines.d.ts +21 -0
  469. package/dist/templates/photo/lines.d.ts.map +1 -0
  470. package/dist/templates/photo/lines.js +36 -0
  471. package/dist/templates/photo/lines.js.map +1 -0
  472. package/dist/templates/pill.d.ts +33 -0
  473. package/dist/templates/pill.d.ts.map +1 -0
  474. package/dist/templates/pill.js +50 -0
  475. package/dist/templates/pill.js.map +1 -0
  476. package/dist/templates/portrait.d.ts +40 -0
  477. package/dist/templates/portrait.d.ts.map +1 -0
  478. package/dist/templates/portrait.js +56 -0
  479. package/dist/templates/portrait.js.map +1 -0
  480. package/dist/templates/quote/index.d.ts +11 -0
  481. package/dist/templates/quote/index.d.ts.map +1 -0
  482. package/dist/templates/quote/index.js +60 -0
  483. package/dist/templates/quote/index.js.map +1 -0
  484. package/dist/templates/quote/lines.d.ts +24 -0
  485. package/dist/templates/quote/lines.d.ts.map +1 -0
  486. package/dist/templates/quote/lines.js +35 -0
  487. package/dist/templates/quote/lines.js.map +1 -0
  488. package/dist/templates/quote/mark.d.ts +13 -0
  489. package/dist/templates/quote/mark.d.ts.map +1 -0
  490. package/dist/templates/quote/mark.js +39 -0
  491. package/dist/templates/quote/mark.js.map +1 -0
  492. package/dist/templates/quote/speaker.d.ts +18 -0
  493. package/dist/templates/quote/speaker.d.ts.map +1 -0
  494. package/dist/templates/quote/speaker.js +41 -0
  495. package/dist/templates/quote/speaker.js.map +1 -0
  496. package/dist/templates/release/block.d.ts +8 -0
  497. package/dist/templates/release/block.d.ts.map +1 -0
  498. package/dist/templates/release/block.js +16 -0
  499. package/dist/templates/release/block.js.map +1 -0
  500. package/dist/templates/release/changes.d.ts +23 -0
  501. package/dist/templates/release/changes.d.ts.map +1 -0
  502. package/dist/templates/release/changes.js +45 -0
  503. package/dist/templates/release/changes.js.map +1 -0
  504. package/dist/templates/release/index.d.ts +11 -0
  505. package/dist/templates/release/index.d.ts.map +1 -0
  506. package/dist/templates/release/index.js +55 -0
  507. package/dist/templates/release/index.js.map +1 -0
  508. package/dist/templates/release/lines.d.ts +21 -0
  509. package/dist/templates/release/lines.d.ts.map +1 -0
  510. package/dist/templates/release/lines.js +36 -0
  511. package/dist/templates/release/lines.js.map +1 -0
  512. package/dist/templates/stat/index.d.ts +11 -0
  513. package/dist/templates/stat/index.d.ts.map +1 -0
  514. package/dist/templates/stat/index.js +43 -0
  515. package/dist/templates/stat/index.js.map +1 -0
  516. package/dist/templates/stat/lines.d.ts +23 -0
  517. package/dist/templates/stat/lines.d.ts.map +1 -0
  518. package/dist/templates/stat/lines.js +47 -0
  519. package/dist/templates/stat/lines.js.map +1 -0
  520. package/dist/templates/terminal/index.d.ts +16 -0
  521. package/dist/templates/terminal/index.d.ts.map +1 -0
  522. package/dist/templates/terminal/index.js +62 -0
  523. package/dist/templates/terminal/index.js.map +1 -0
  524. package/dist/templates/terminal/session.d.ts +17 -0
  525. package/dist/templates/terminal/session.d.ts.map +1 -0
  526. package/dist/templates/terminal/session.js +86 -0
  527. package/dist/templates/terminal/session.js.map +1 -0
  528. package/dist/templates/terminal/window.d.ts +14 -0
  529. package/dist/templates/terminal/window.d.ts.map +1 -0
  530. package/dist/templates/terminal/window.js +84 -0
  531. package/dist/templates/terminal/window.js.map +1 -0
  532. package/dist/templates/version.d.ts +16 -0
  533. package/dist/templates/version.d.ts.map +1 -0
  534. package/dist/templates/version.js +23 -0
  535. package/dist/templates/version.js.map +1 -0
  536. package/dist/templates/wordmark/index.d.ts +13 -0
  537. package/dist/templates/wordmark/index.d.ts.map +1 -0
  538. package/dist/templates/wordmark/index.js +53 -0
  539. package/dist/templates/wordmark/index.js.map +1 -0
  540. package/dist/templates/wordmark/lines.d.ts +22 -0
  541. package/dist/templates/wordmark/lines.d.ts.map +1 -0
  542. package/dist/templates/wordmark/lines.js +61 -0
  543. package/dist/templates/wordmark/lines.js.map +1 -0
  544. package/dist/templates/wordmark/mark.d.ts +16 -0
  545. package/dist/templates/wordmark/mark.d.ts.map +1 -0
  546. package/dist/templates/wordmark/mark.js +30 -0
  547. package/dist/templates/wordmark/mark.js.map +1 -0
  548. package/dist/text/clamp.d.ts +12 -0
  549. package/dist/text/clamp.d.ts.map +1 -0
  550. package/dist/text/clamp.js +41 -0
  551. package/dist/text/clamp.js.map +1 -0
  552. package/dist/text/ellipsis.d.ts +3 -0
  553. package/dist/text/ellipsis.d.ts.map +1 -0
  554. package/dist/text/ellipsis.js +3 -0
  555. package/dist/text/ellipsis.js.map +1 -0
  556. package/dist/text/index.d.ts +2 -0
  557. package/dist/text/index.d.ts.map +1 -1
  558. package/dist/text/index.js +2 -0
  559. package/dist/text/index.js.map +1 -1
  560. package/dist/texture/grain.d.ts +17 -0
  561. package/dist/texture/grain.d.ts.map +1 -0
  562. package/dist/texture/grain.js +29 -0
  563. package/dist/texture/grain.js.map +1 -0
  564. package/dist/texture/index.d.ts +11 -0
  565. package/dist/texture/index.d.ts.map +1 -0
  566. package/dist/texture/index.js +20 -0
  567. package/dist/texture/index.js.map +1 -0
  568. package/dist/texture/pattern.d.ts +17 -0
  569. package/dist/texture/pattern.d.ts.map +1 -0
  570. package/dist/texture/pattern.js +45 -0
  571. package/dist/texture/pattern.js.map +1 -0
  572. package/dist/texture/resolve.d.ts +16 -0
  573. package/dist/texture/resolve.d.ts.map +1 -0
  574. package/dist/texture/resolve.js +20 -0
  575. package/dist/texture/resolve.js.map +1 -0
  576. package/dist/theme/index.d.ts +27 -0
  577. package/dist/theme/index.d.ts.map +1 -0
  578. package/dist/theme/index.js +41 -0
  579. package/dist/theme/index.js.map +1 -0
  580. package/dist/theme/presets.d.ts +38 -0
  581. package/dist/theme/presets.d.ts.map +1 -0
  582. package/dist/theme/presets.js +150 -0
  583. package/dist/theme/presets.js.map +1 -0
  584. package/dist/types.d.ts +281 -10
  585. package/dist/types.d.ts.map +1 -1
  586. package/dist/validate/background.d.ts +12 -0
  587. package/dist/validate/background.d.ts.map +1 -0
  588. package/dist/validate/background.js +53 -0
  589. package/dist/validate/background.js.map +1 -0
  590. package/dist/validate/collect.d.ts +9 -0
  591. package/dist/validate/collect.d.ts.map +1 -0
  592. package/dist/validate/collect.js +35 -0
  593. package/dist/validate/collect.js.map +1 -0
  594. package/dist/validate/index.d.ts.map +1 -1
  595. package/dist/validate/index.js +2 -20
  596. package/dist/validate/index.js.map +1 -1
  597. package/dist/validate/keys.d.ts +22 -0
  598. package/dist/validate/keys.d.ts.map +1 -1
  599. package/dist/validate/keys.js +69 -0
  600. package/dist/validate/keys.js.map +1 -1
  601. package/dist/validate/overrides.d.ts.map +1 -1
  602. package/dist/validate/overrides.js +5 -1
  603. package/dist/validate/overrides.js.map +1 -1
  604. package/dist/validate/texture.d.ts +11 -0
  605. package/dist/validate/texture.d.ts.map +1 -0
  606. package/dist/validate/texture.js +34 -0
  607. package/dist/validate/texture.js.map +1 -0
  608. package/dist/validate/values.d.ts +16 -10
  609. package/dist/validate/values.d.ts.map +1 -1
  610. package/dist/validate/values.js +31 -44
  611. package/dist/validate/values.js.map +1 -1
  612. package/package.json +16 -2
  613. package/dist/background.d.ts.map +0 -1
  614. package/dist/background.js +0 -65
  615. package/dist/background.js.map +0 -1
  616. package/dist/cli/args.d.ts +0 -14
  617. package/dist/cli/args.d.ts.map +0 -1
  618. package/dist/cli/args.js +0 -67
  619. package/dist/cli/args.js.map +0 -1
  620. package/dist/cli.d.ts +0 -3
  621. package/dist/cli.d.ts.map +0 -1
  622. package/dist/cli.js +0 -102
  623. package/dist/cli.js.map +0 -1
  624. package/dist/config.d.ts +0 -95
  625. package/dist/config.d.ts.map +0 -1
  626. package/dist/config.js +0 -208
  627. package/dist/config.js.map +0 -1
  628. package/dist/fonts.d.ts +0 -18
  629. package/dist/fonts.d.ts.map +0 -1
  630. package/dist/fonts.js +0 -102
  631. package/dist/fonts.js.map +0 -1
  632. package/dist/generate.d.ts +0 -63
  633. package/dist/generate.d.ts.map +0 -1
  634. package/dist/generate.js +0 -109
  635. package/dist/generate.js.map +0 -1
  636. package/dist/highlight.d.ts +0 -75
  637. package/dist/highlight.d.ts.map +0 -1
  638. package/dist/highlight.js +0 -137
  639. package/dist/highlight.js.map +0 -1
  640. package/dist/render.d.ts +0 -24
  641. package/dist/render.d.ts.map +0 -1
  642. package/dist/render.js +0 -77
  643. package/dist/render.js.map +0 -1
  644. package/dist/stamp.d.ts +0 -29
  645. package/dist/stamp.d.ts.map +0 -1
  646. package/dist/stamp.js +0 -198
  647. package/dist/stamp.js.map +0 -1
  648. package/dist/templates/banner.d.ts +0 -9
  649. package/dist/templates/banner.d.ts.map +0 -1
  650. package/dist/templates/banner.js +0 -115
  651. package/dist/templates/banner.js.map +0 -1
  652. package/dist/templates/card.d.ts +0 -7
  653. package/dist/templates/card.d.ts.map +0 -1
  654. package/dist/templates/card.js +0 -72
  655. package/dist/templates/card.js.map +0 -1
  656. package/dist/templates/code.d.ts +0 -12
  657. package/dist/templates/code.d.ts.map +0 -1
  658. package/dist/templates/code.js +0 -275
  659. package/dist/templates/code.js.map +0 -1
  660. package/dist/templates/measure.d.ts +0 -11
  661. package/dist/templates/measure.d.ts.map +0 -1
  662. package/dist/templates/measure.js +0 -11
  663. package/dist/templates/measure.js.map +0 -1
  664. package/dist/templates/props.d.ts +0 -7
  665. package/dist/templates/props.d.ts.map +0 -1
  666. package/dist/templates/props.js +0 -17
  667. package/dist/templates/props.js.map +0 -1
  668. package/dist/templates/text.d.ts +0 -37
  669. package/dist/templates/text.d.ts.map +0 -1
  670. package/dist/templates/text.js +0 -26
  671. package/dist/templates/text.js.map +0 -1
  672. package/dist/text/stack.d.ts +0 -24
  673. package/dist/text/stack.d.ts.map +0 -1
  674. package/dist/text/stack.js +0 -18
  675. package/dist/text/stack.js.map +0 -1
  676. package/dist/text.d.ts +0 -56
  677. package/dist/text.d.ts.map +0 -1
  678. package/dist/text.js +0 -78
  679. package/dist/text.js.map +0 -1
  680. package/dist/validate/sizes.d.ts +0 -9
  681. package/dist/validate/sizes.d.ts.map +0 -1
  682. package/dist/validate/sizes.js +0 -27
  683. package/dist/validate/sizes.js.map +0 -1
  684. package/dist/validate.d.ts +0 -15
  685. package/dist/validate.d.ts.map +0 -1
  686. package/dist/validate.js +0 -300
  687. package/dist/validate.js.map +0 -1
@@ -1,9 +0,0 @@
1
- /**
2
- * Check each output size, and the overrides it carries.
3
- *
4
- * A size is the one place the same option names appear twice over, so the paths
5
- * matter more here than anywhere else: `sizes[1].code.minFontScal` has to say
6
- * which size it is talking about to be worth reading at all.
7
- */
8
- export declare function checkSizes(sizes: unknown, problems: string[]): void;
9
- //# sourceMappingURL=sizes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sizes.d.ts","sourceRoot":"","sources":["../../src/validate/sizes.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAkBnE"}
@@ -1,27 +0,0 @@
1
- import { checkKeys, isList, isRecord } from "./check.js";
2
- import { badgeKeys, codeKeys, colorKeys, sizeKeys } from "./keys.js";
3
- import { checkBackground } from "./values.js";
4
- /**
5
- * Check each output size, and the overrides it carries.
6
- *
7
- * A size is the one place the same option names appear twice over, so the paths
8
- * matter more here than anywhere else: `sizes[1].code.minFontScal` has to say
9
- * which size it is talking about to be worth reading at all.
10
- */
11
- export function checkSizes(sizes, problems) {
12
- if (!isList(sizes)) {
13
- return;
14
- }
15
- for (const [index, size] of sizes.entries()) {
16
- const path = `sizes[${String(index)}]`;
17
- checkKeys(size, path, sizeKeys, problems);
18
- if (!isRecord(size)) {
19
- continue;
20
- }
21
- checkKeys(size["colors"], `${path}.colors`, colorKeys, problems);
22
- checkKeys(size["badge"], `${path}.badge`, badgeKeys, problems);
23
- checkKeys(size["code"], `${path}.code`, codeKeys, problems);
24
- checkBackground(size["background"], `${path}.background`, problems);
25
- }
26
- }
27
- //# sourceMappingURL=sizes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sizes.js","sourceRoot":"","sources":["../../src/validate/sizes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAkB;IAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACvC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5D,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,aAAa,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { ColophonConfig } from "./types.js";
2
- /**
3
- * Reject a config carrying options Colophon does not know.
4
- *
5
- * An unrecognised key is otherwise ignored in silence: the build succeeds, the
6
- * option does nothing, and the images come out with the defaults in its place.
7
- * That is at its worst across an upgrade, where a config that still reads
8
- * correctly is describing images nobody is rendering.
9
- *
10
- * Only the closed parts of the config are checked. The names in `templates`
11
- * are the project's own, and a post's props are open by design — a template
12
- * reads whatever fields it understands.
13
- */
14
- export declare function validateConfig(config: ColophonConfig): void;
15
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EAMf,MAAM,YAAY,CAAC;AAsWpB;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAkC3D"}
package/dist/validate.js DELETED
@@ -1,300 +0,0 @@
1
- /**
2
- * The keys of one config object, as a list to check incoming keys against.
3
- *
4
- * Taking a `Record<keyof T, true>` rather than a plain array of strings is
5
- * what keeps the list honest: adding an option to `types.ts` without listing
6
- * it here fails the build, which is much better than the new option quietly
7
- * becoming an unknown one.
8
- */
9
- function knownKeys(shape) {
10
- return Object.keys(shape);
11
- }
12
- const configKeys = knownKeys({
13
- colors: true,
14
- background: true,
15
- fonts: true,
16
- systemFonts: true,
17
- fontFamily: true,
18
- footer: true,
19
- badge: true,
20
- code: true,
21
- onWarning: true,
22
- sizes: true,
23
- templates: true,
24
- content: true,
25
- });
26
- const contentKeys = knownKeys({
27
- propsKey: true,
28
- templateField: true,
29
- defaultTemplate: true,
30
- props: true,
31
- slugField: true,
32
- slugStrategy: true,
33
- extensions: true,
34
- });
35
- const colorKeys = knownKeys({
36
- brand: true,
37
- brandDark: true,
38
- brandWarm: true,
39
- foreground: true,
40
- });
41
- const badgeKeys = knownKeys({
42
- text: true,
43
- color: true,
44
- background: true,
45
- });
46
- const codeKeys = knownKeys({
47
- theme: true,
48
- fontFamily: true,
49
- charWidthRatio: true,
50
- lineHeight: true,
51
- tabSize: true,
52
- cornerScale: true,
53
- maxFontScale: true,
54
- minFontScale: true,
55
- });
56
- const sizeKeys = knownKeys({
57
- name: true,
58
- width: true,
59
- height: true,
60
- colors: true,
61
- background: true,
62
- fontFamily: true,
63
- footer: true,
64
- badge: true,
65
- code: true,
66
- });
67
- /**
68
- * Both font variants at once. Which of `path` and `data` a font may carry is
69
- * `fonts.ts`'s ruling to make, and it has a better message for it than a list
70
- * of keys could.
71
- */
72
- const fontKeys = [
73
- ...new Set([
74
- ...knownKeys({ family: true, path: true }),
75
- ...knownKeys({ family: true, data: true }),
76
- ]),
77
- ];
78
- const solidBackgroundKeys = knownKeys({
79
- type: true,
80
- color: true,
81
- });
82
- const gradientBackgroundKeys = knownKeys({
83
- type: true,
84
- stops: true,
85
- from: true,
86
- to: true,
87
- });
88
- const gradientStopKeys = knownKeys({
89
- offset: true,
90
- color: true,
91
- });
92
- const gradientPointKeys = knownKeys({ x: true, y: true });
93
- /**
94
- * The background variants, as values to check a declared `type` against. Typed
95
- * against the union for the same reason the key lists are: a variant added to
96
- * `Background` and not listed here would otherwise be reported as an unknown
97
- * type, rejecting a config that is perfectly valid.
98
- */
99
- const backgroundTypes = knownKeys({
100
- solid: true,
101
- gradient: true,
102
- });
103
- /**
104
- * The slug strategies, for the same reason as {@link backgroundTypes}:
105
- * `slugFromPath` treats anything that is not `basename` as a route, so a
106
- * mistyped `rout` would quietly re-slug a whole site rather than complain.
107
- */
108
- const slugStrategies = knownKeys({
109
- basename: true,
110
- route: true,
111
- });
112
- /**
113
- * Options that have been renamed, keyed by where the old name turns up.
114
- * Edit distance cannot connect a rename that changed the word — `dimensions`
115
- * became `sizes` — and a config carried over from an older version is exactly
116
- * where a bare "unknown option" helps least.
117
- */
118
- const renamedOptions = new Map([["dimensions", "sizes"]]);
119
- function isRecord(value) {
120
- return typeof value === "object" && value !== null && !Array.isArray(value);
121
- }
122
- function isList(value) {
123
- return Array.isArray(value);
124
- }
125
- /**
126
- * Levenshtein distance between two strings, used to work out which option a
127
- * typo was aiming at. Both strings are option names and the lists are a
128
- * handful of entries long, so the plain two-row dynamic program is ample.
129
- */
130
- function editDistance(a, b) {
131
- let previous = Array.from({ length: b.length + 1 }, (_, index) => index);
132
- for (let row = 1; row <= a.length; row += 1) {
133
- const current = [row];
134
- for (let column = 1; column <= b.length; column += 1) {
135
- const cost = a[row - 1] === b[column - 1] ? 0 : 1;
136
- // Every index here is within the row by construction; the fallbacks are
137
- // there for `noUncheckedIndexedAccess` rather than for any real case.
138
- current.push(Math.min((previous[column - 1] ?? 0) + cost, (previous[column] ?? 0) + 1, (current[column - 1] ?? 0) + 1));
139
- }
140
- previous = current;
141
- }
142
- return previous[b.length] ?? 0;
143
- }
144
- /**
145
- * The known name a mistyped one was most likely meant to be, or `undefined`
146
- * when nothing is close enough. A confident suggestion of something unrelated
147
- * is worse than none, so the tolerance stays under the length of the name:
148
- * a slip of a key or two earns a suggestion, a different word does not.
149
- */
150
- function nearestName(name, known) {
151
- const tolerance = Math.min(name.length - 1, Math.max(2, Math.ceil(name.length / 4)));
152
- let nearest;
153
- let shortest = Infinity;
154
- for (const candidate of known) {
155
- // Case-insensitive: `tabsize` for `tabSize` is the same slip as a typo.
156
- const distance = editDistance(name.toLowerCase(), candidate.toLowerCase());
157
- if (distance < shortest) {
158
- nearest = candidate;
159
- shortest = distance;
160
- }
161
- }
162
- return shortest <= tolerance ? nearest : undefined;
163
- }
164
- function describeUnknownOption(path, key, known) {
165
- const suggestion = renamedOptions.get(path) ?? nearestName(key, known);
166
- if (suggestion !== undefined) {
167
- return `Unknown option "${path}". Did you mean "${suggestion}"?`;
168
- }
169
- return `Unknown option "${path}". Valid options here: ${known.join(", ")}.`;
170
- }
171
- /**
172
- * Report every key of one config object that is not a known option. Anything
173
- * that is not an object is left alone: the shape of a value is the type
174
- * checker's business, and there are no keys to judge either way.
175
- */
176
- function checkKeys(value, path, known, problems) {
177
- if (!isRecord(value)) {
178
- return;
179
- }
180
- for (const key of Object.keys(value)) {
181
- if (!known.includes(key)) {
182
- problems.push(describeUnknownOption(path === "" ? key : `${path}.${key}`, key, known));
183
- }
184
- }
185
- }
186
- /** Check every entry of a list, naming each by its index. */
187
- function checkEach(values, path, known, problems) {
188
- if (!isList(values)) {
189
- return;
190
- }
191
- for (const [index, value] of values.entries()) {
192
- checkKeys(value, `${path}[${String(index)}]`, known, problems);
193
- }
194
- }
195
- /**
196
- * Check a background against the keys of whichever variant it declares.
197
- *
198
- * A misspelt `type` is worth reporting on its own: `backgroundSvg` treats
199
- * anything that is not `solid` as a gradient, so `gradiant` silently becomes
200
- * one and then falls over on the stops it does not have. A background with no
201
- * `type` at all is left alone — the type is what says which keys apply, and
202
- * guessing would report the keys rather than the omission.
203
- */
204
- function checkBackground(background, path, problems) {
205
- if (!isRecord(background)) {
206
- return;
207
- }
208
- const { type, stops, from, to } = background;
209
- if (type === "solid") {
210
- checkKeys(background, path, solidBackgroundKeys, problems);
211
- return;
212
- }
213
- if (type === "gradient") {
214
- checkKeys(background, path, gradientBackgroundKeys, problems);
215
- checkEach(stops, `${path}.stops`, gradientStopKeys, problems);
216
- checkKeys(from, `${path}.from`, gradientPointKeys, problems);
217
- checkKeys(to, `${path}.to`, gradientPointKeys, problems);
218
- return;
219
- }
220
- if (typeof type === "string") {
221
- const suggestion = nearestName(type, backgroundTypes);
222
- problems.push(suggestion === undefined
223
- ? `Unknown background type "${type}". Valid types: ${backgroundTypes.join(", ")}.`
224
- : `Unknown background type "${type}". Did you mean "${suggestion}"?`);
225
- }
226
- }
227
- /**
228
- * Check the slug strategy names a real one. Only a string can be a strategy;
229
- * anything else is a shape the type checker already covers, as elsewhere here.
230
- */
231
- function checkSlugStrategy(content, problems) {
232
- if (!isRecord(content)) {
233
- return;
234
- }
235
- const strategy = content["slugStrategy"];
236
- if (typeof strategy !== "string" || slugStrategies.includes(strategy)) {
237
- return;
238
- }
239
- const suggestion = nearestName(strategy, slugStrategies);
240
- problems.push(suggestion === undefined
241
- ? `Unknown slug strategy "${strategy}". Valid strategies: ${slugStrategies.join(", ")}.`
242
- : `Unknown slug strategy "${strategy}". Did you mean "${suggestion}"?`);
243
- }
244
- /**
245
- * Check each output size, and the overrides it carries.
246
- *
247
- * A size is the one place the same option names appear twice over, so the paths
248
- * matter more here than anywhere else: `sizes[1].code.minFontScal` has to say
249
- * which size it is talking about to be worth reading at all.
250
- */
251
- function checkSizes(sizes, problems) {
252
- if (!isList(sizes)) {
253
- return;
254
- }
255
- for (const [index, size] of sizes.entries()) {
256
- const path = `sizes[${String(index)}]`;
257
- checkKeys(size, path, sizeKeys, problems);
258
- if (!isRecord(size)) {
259
- continue;
260
- }
261
- checkKeys(size["colors"], `${path}.colors`, colorKeys, problems);
262
- checkKeys(size["badge"], `${path}.badge`, badgeKeys, problems);
263
- checkKeys(size["code"], `${path}.code`, codeKeys, problems);
264
- checkBackground(size["background"], `${path}.background`, problems);
265
- }
266
- }
267
- /**
268
- * Reject a config carrying options Colophon does not know.
269
- *
270
- * An unrecognised key is otherwise ignored in silence: the build succeeds, the
271
- * option does nothing, and the images come out with the defaults in its place.
272
- * That is at its worst across an upgrade, where a config that still reads
273
- * correctly is describing images nobody is rendering.
274
- *
275
- * Only the closed parts of the config are checked. The names in `templates`
276
- * are the project's own, and a post's props are open by design — a template
277
- * reads whatever fields it understands.
278
- */
279
- export function validateConfig(config) {
280
- // The types say what should be here; validation exists for when it is not.
281
- const raw = config;
282
- const problems = [];
283
- checkKeys(config, "", configKeys, problems);
284
- checkKeys(raw.colors, "colors", colorKeys, problems);
285
- checkKeys(raw.badge, "badge", badgeKeys, problems);
286
- checkKeys(raw.code, "code", codeKeys, problems);
287
- checkKeys(raw.content, "content", contentKeys, problems);
288
- checkSlugStrategy(raw.content, problems);
289
- checkSizes(raw.sizes, problems);
290
- checkEach(raw.fonts, "fonts", fontKeys, problems);
291
- checkBackground(raw.background, "background", problems);
292
- const [first, ...rest] = problems;
293
- if (first === undefined) {
294
- return;
295
- }
296
- throw new Error(rest.length === 0
297
- ? first
298
- : `Invalid config:\n${problems.map((problem) => ` - ${problem}`).join("\n")}`);
299
- }
300
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}