livemark 0.10.5 → 0.11.1

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 (448) hide show
  1. package/build/actions/changelog/build.d.ts +22 -0
  2. package/build/actions/changelog/build.js +198 -0
  3. package/build/actions/config/load.d.ts +12 -0
  4. package/build/actions/config/load.js +41 -0
  5. package/build/actions/config/load.unit.js +39 -0
  6. package/build/actions/target/build.d.ts +29 -0
  7. package/build/actions/target/build.js +87 -0
  8. package/build/commands/build.js +15 -0
  9. package/{target → build}/commands/escape.d.ts +1 -1
  10. package/build/commands/escape.js +62 -0
  11. package/build/commands/preview.js +19 -0
  12. package/build/commands/start.js +20 -0
  13. package/build/components/Breadcrumbs.js +14 -0
  14. package/build/components/Layout.js +66 -0
  15. package/build/components/SidebarArticles.js +46 -0
  16. package/build/components/SidebarLinks.js +27 -0
  17. package/build/components/SidebarSections.js +37 -0
  18. package/build/components/SiteTitle.js +13 -0
  19. package/build/content/article.js +55 -0
  20. package/build/content/tag.js +31 -0
  21. package/build/content-collections.js +218 -0
  22. package/{target → build}/models/config.d.ts +17 -1
  23. package/build/models/config.js +38 -0
  24. package/build/plugins/vite-livemark.d.ts +12 -0
  25. package/build/plugins/vite-livemark.js +165 -0
  26. package/build/routes/__root.js +68 -0
  27. package/build/settings.d.ts +9 -0
  28. package/build/settings.js +25 -0
  29. package/build/vite.config.js +30 -0
  30. package/package.json +9 -7
  31. package/source/actions/changelog/build.ts +26 -9
  32. package/source/actions/config/load.ts +21 -6
  33. package/source/actions/config/load.unit.ts +19 -2
  34. package/source/actions/target/build.ts +89 -0
  35. package/source/commands/build.ts +1 -0
  36. package/source/commands/escape.ts +18 -11
  37. package/source/commands/preview.ts +1 -0
  38. package/source/commands/start.ts +1 -0
  39. package/source/components/Breadcrumbs.tsx +2 -1
  40. package/source/components/Layout.tsx +3 -2
  41. package/source/components/SidebarArticles.tsx +2 -1
  42. package/source/components/SidebarLinks.tsx +2 -1
  43. package/source/components/SidebarSections.tsx +2 -1
  44. package/source/components/SiteTitle.tsx +5 -10
  45. package/source/content/article.ts +2 -1
  46. package/source/content/tag.ts +2 -1
  47. package/source/content-collections.ts +1 -1
  48. package/source/env.d.ts +2 -2
  49. package/source/models/config.ts +22 -1
  50. package/source/plugins/vite-livemark.ts +168 -94
  51. package/source/routeTree.gen.ts +86 -0
  52. package/source/routes/__root.tsx +7 -9
  53. package/source/settings.ts +13 -2
  54. package/source/vite.config.ts +4 -78
  55. package/target/actions/changelog/build.d.ts +0 -15
  56. package/target/actions/changelog/build.js +0 -187
  57. package/target/actions/config/load.d.ts +0 -5
  58. package/target/actions/config/load.js +0 -25
  59. package/target/actions/config/load.unit.js +0 -25
  60. package/target/commands/build.js +0 -14
  61. package/target/commands/escape.js +0 -56
  62. package/target/commands/preview.js +0 -18
  63. package/target/commands/start.js +0 -19
  64. package/target/components/Breadcrumbs.js +0 -13
  65. package/target/components/Layout.js +0 -65
  66. package/target/components/SidebarArticles.js +0 -45
  67. package/target/components/SidebarLinks.js +0 -26
  68. package/target/components/SidebarSections.js +0 -36
  69. package/target/components/SiteTitle.js +0 -12
  70. package/target/content/article.js +0 -54
  71. package/target/content/tag.js +0 -30
  72. package/target/content-collections.js +0 -218
  73. package/target/models/config.js +0 -34
  74. package/target/plugins/vite-livemark.d.ts +0 -18
  75. package/target/plugins/vite-livemark.js +0 -111
  76. package/target/routes/__root.js +0 -69
  77. package/target/settings.d.ts +0 -5
  78. package/target/settings.js +0 -15
  79. package/target/vite.config.js +0 -89
  80. package/{target → build}/actions/changelog/build.unit.d.ts +0 -0
  81. package/{target → build}/actions/changelog/build.unit.js +0 -0
  82. package/{target → build}/actions/config/define.d.ts +0 -0
  83. package/{target → build}/actions/config/define.js +0 -0
  84. package/{target → build}/actions/config/define.unit.d.ts +0 -0
  85. package/{target → build}/actions/config/define.unit.js +0 -0
  86. package/{target → build}/actions/config/load.unit.d.ts +0 -0
  87. package/{target → build}/client.d.ts +0 -0
  88. package/{target → build}/client.js +0 -0
  89. package/{target → build}/commands/build.d.ts +0 -0
  90. package/{target → build}/commands/preview.d.ts +0 -0
  91. package/{target → build}/commands/start.d.ts +0 -0
  92. package/{target → build}/components/Abbr.d.ts +0 -0
  93. package/{target → build}/components/Abbr.js +0 -0
  94. package/{target → build}/components/AnsiCode.d.ts +0 -0
  95. package/{target → build}/components/AnsiCode.js +0 -0
  96. package/{target → build}/components/Article.d.ts +0 -0
  97. package/{target → build}/components/Article.js +0 -0
  98. package/{target → build}/components/BackToTop.d.ts +0 -0
  99. package/{target → build}/components/BackToTop.js +0 -0
  100. package/{target → build}/components/Banner.d.ts +0 -0
  101. package/{target → build}/components/Banner.js +0 -0
  102. package/{target → build}/components/BlogIndex.d.ts +0 -0
  103. package/{target → build}/components/BlogIndex.js +0 -0
  104. package/{target → build}/components/Breadcrumbs.d.ts +0 -0
  105. package/{target → build}/components/Callout.d.ts +0 -0
  106. package/{target → build}/components/Callout.js +0 -0
  107. package/{target → build}/components/Card.d.ts +0 -0
  108. package/{target → build}/components/Card.js +0 -0
  109. package/{target → build}/components/Cards.d.ts +0 -0
  110. package/{target → build}/components/Cards.js +0 -0
  111. package/{target → build}/components/ChangelogIndex.d.ts +0 -0
  112. package/{target → build}/components/ChangelogIndex.js +0 -0
  113. package/{target → build}/components/CodeBlock.d.ts +0 -0
  114. package/{target → build}/components/CodeBlock.js +0 -0
  115. package/{target → build}/components/CodeTabs.d.ts +0 -0
  116. package/{target → build}/components/CodeTabs.js +0 -0
  117. package/{target → build}/components/Column.d.ts +0 -0
  118. package/{target → build}/components/Column.js +0 -0
  119. package/{target → build}/components/Columns.d.ts +0 -0
  120. package/{target → build}/components/Columns.js +0 -0
  121. package/{target → build}/components/Content.d.ts +0 -0
  122. package/{target → build}/components/Content.js +0 -0
  123. package/{target → build}/components/ContentTab.d.ts +0 -0
  124. package/{target → build}/components/ContentTab.js +0 -0
  125. package/{target → build}/components/ContentTabs.d.ts +0 -0
  126. package/{target → build}/components/ContentTabs.js +0 -0
  127. package/{target → build}/components/DefaultCatchBoundary.d.ts +0 -0
  128. package/{target → build}/components/DefaultCatchBoundary.js +0 -0
  129. package/{target → build}/components/DefinitionList.d.ts +0 -0
  130. package/{target → build}/components/DefinitionList.js +0 -0
  131. package/{target → build}/components/Details.d.ts +0 -0
  132. package/{target → build}/components/Details.js +0 -0
  133. package/{target → build}/components/FileTree.d.ts +0 -0
  134. package/{target → build}/components/FileTree.js +0 -0
  135. package/{target → build}/components/Footer.d.ts +0 -0
  136. package/{target → build}/components/Footer.js +0 -0
  137. package/{target → build}/components/FootnoteRef.d.ts +0 -0
  138. package/{target → build}/components/FootnoteRef.js +0 -0
  139. package/{target → build}/components/Heading.d.ts +0 -0
  140. package/{target → build}/components/Heading.js +0 -0
  141. package/{target → build}/components/InlineBadge.d.ts +0 -0
  142. package/{target → build}/components/InlineBadge.js +0 -0
  143. package/{target → build}/components/InlineIcon.d.ts +0 -0
  144. package/{target → build}/components/InlineIcon.js +0 -0
  145. package/{target → build}/components/InlineToc.d.ts +0 -0
  146. package/{target → build}/components/InlineToc.js +0 -0
  147. package/{target → build}/components/Layout.d.ts +0 -0
  148. package/{target → build}/components/LinkButton.d.ts +0 -0
  149. package/{target → build}/components/LinkButton.js +0 -0
  150. package/{target → build}/components/Mermaid.d.ts +0 -0
  151. package/{target → build}/components/Mermaid.js +0 -0
  152. package/{target → build}/components/MermaidRenderer.d.ts +0 -0
  153. package/{target → build}/components/MermaidRenderer.js +0 -0
  154. package/{target → build}/components/NotFound.d.ts +0 -0
  155. package/{target → build}/components/NotFound.js +0 -0
  156. package/{target → build}/components/PackageTabs.d.ts +0 -0
  157. package/{target → build}/components/PackageTabs.js +0 -0
  158. package/{target → build}/components/PageToolbar.d.ts +0 -0
  159. package/{target → build}/components/PageToolbar.js +0 -0
  160. package/{target → build}/components/PrevNext.d.ts +0 -0
  161. package/{target → build}/components/PrevNext.js +0 -0
  162. package/{target → build}/components/Search.d.ts +0 -0
  163. package/{target → build}/components/Search.js +0 -0
  164. package/{target → build}/components/SearchDialog.d.ts +0 -0
  165. package/{target → build}/components/SearchDialog.js +0 -0
  166. package/{target → build}/components/Section.d.ts +0 -0
  167. package/{target → build}/components/Section.js +0 -0
  168. package/{target → build}/components/SectionHeader.d.ts +0 -0
  169. package/{target → build}/components/SectionHeader.js +0 -0
  170. package/{target → build}/components/Sidebar.d.ts +0 -0
  171. package/{target → build}/components/Sidebar.js +0 -0
  172. package/{target → build}/components/SidebarArticles.d.ts +0 -0
  173. package/{target → build}/components/SidebarLinks.d.ts +0 -0
  174. package/{target → build}/components/SidebarPosts.d.ts +0 -0
  175. package/{target → build}/components/SidebarPosts.js +0 -0
  176. package/{target → build}/components/SidebarReleases.d.ts +0 -0
  177. package/{target → build}/components/SidebarReleases.js +0 -0
  178. package/{target → build}/components/SidebarSections.d.ts +0 -0
  179. package/{target → build}/components/SiteTitle.d.ts +0 -0
  180. package/{target → build}/components/SortableTable.d.ts +0 -0
  181. package/{target → build}/components/SortableTable.js +0 -0
  182. package/{target → build}/components/SoundCloud.d.ts +0 -0
  183. package/{target → build}/components/SoundCloud.js +0 -0
  184. package/{target → build}/components/TagIndex.d.ts +0 -0
  185. package/{target → build}/components/TagIndex.js +0 -0
  186. package/{target → build}/components/Theme.d.ts +0 -0
  187. package/{target → build}/components/Theme.js +0 -0
  188. package/{target → build}/components/Toc.d.ts +0 -0
  189. package/{target → build}/components/Toc.js +0 -0
  190. package/{target → build}/components/YouTube.d.ts +0 -0
  191. package/{target → build}/components/YouTube.js +0 -0
  192. package/{target → build}/components/ZoomImage.d.ts +0 -0
  193. package/{target → build}/components/ZoomImage.js +0 -0
  194. package/{target → build}/content/article.d.ts +5 -5
  195. /package/{target → build}/content/tag.d.ts +0 -0
  196. /package/{target → build}/content-collections.d.ts +0 -0
  197. /package/{target → build}/elements/accordion.d.ts +0 -0
  198. /package/{target → build}/elements/accordion.js +0 -0
  199. /package/{target → build}/elements/alert-dialog.d.ts +0 -0
  200. /package/{target → build}/elements/alert-dialog.js +0 -0
  201. /package/{target → build}/elements/alert.d.ts +0 -0
  202. /package/{target → build}/elements/alert.js +0 -0
  203. /package/{target → build}/elements/aspect-ratio.d.ts +0 -0
  204. /package/{target → build}/elements/aspect-ratio.js +0 -0
  205. /package/{target → build}/elements/avatar.d.ts +0 -0
  206. /package/{target → build}/elements/avatar.js +0 -0
  207. /package/{target → build}/elements/badge.d.ts +0 -0
  208. /package/{target → build}/elements/badge.js +0 -0
  209. /package/{target → build}/elements/breadcrumb.d.ts +0 -0
  210. /package/{target → build}/elements/breadcrumb.js +0 -0
  211. /package/{target → build}/elements/button-group.d.ts +0 -0
  212. /package/{target → build}/elements/button-group.js +0 -0
  213. /package/{target → build}/elements/button.d.ts +0 -0
  214. /package/{target → build}/elements/button.js +0 -0
  215. /package/{target → build}/elements/calendar.d.ts +0 -0
  216. /package/{target → build}/elements/calendar.js +0 -0
  217. /package/{target → build}/elements/card.d.ts +0 -0
  218. /package/{target → build}/elements/card.js +0 -0
  219. /package/{target → build}/elements/carousel.d.ts +0 -0
  220. /package/{target → build}/elements/carousel.js +0 -0
  221. /package/{target → build}/elements/chart.d.ts +0 -0
  222. /package/{target → build}/elements/chart.js +0 -0
  223. /package/{target → build}/elements/checkbox.d.ts +0 -0
  224. /package/{target → build}/elements/checkbox.js +0 -0
  225. /package/{target → build}/elements/collapsible.d.ts +0 -0
  226. /package/{target → build}/elements/collapsible.js +0 -0
  227. /package/{target → build}/elements/command.d.ts +0 -0
  228. /package/{target → build}/elements/command.js +0 -0
  229. /package/{target → build}/elements/context-menu.d.ts +0 -0
  230. /package/{target → build}/elements/context-menu.js +0 -0
  231. /package/{target → build}/elements/dialog.d.ts +0 -0
  232. /package/{target → build}/elements/dialog.js +0 -0
  233. /package/{target → build}/elements/direction.d.ts +0 -0
  234. /package/{target → build}/elements/direction.js +0 -0
  235. /package/{target → build}/elements/drawer.d.ts +0 -0
  236. /package/{target → build}/elements/drawer.js +0 -0
  237. /package/{target → build}/elements/dropdown-menu.d.ts +0 -0
  238. /package/{target → build}/elements/dropdown-menu.js +0 -0
  239. /package/{target → build}/elements/empty.d.ts +0 -0
  240. /package/{target → build}/elements/empty.js +0 -0
  241. /package/{target → build}/elements/field.d.ts +0 -0
  242. /package/{target → build}/elements/field.js +0 -0
  243. /package/{target → build}/elements/hover-card.d.ts +0 -0
  244. /package/{target → build}/elements/hover-card.js +0 -0
  245. /package/{target → build}/elements/input-group.d.ts +0 -0
  246. /package/{target → build}/elements/input-group.js +0 -0
  247. /package/{target → build}/elements/input-otp.d.ts +0 -0
  248. /package/{target → build}/elements/input-otp.js +0 -0
  249. /package/{target → build}/elements/input.d.ts +0 -0
  250. /package/{target → build}/elements/input.js +0 -0
  251. /package/{target → build}/elements/item.d.ts +0 -0
  252. /package/{target → build}/elements/item.js +0 -0
  253. /package/{target → build}/elements/kbd.d.ts +0 -0
  254. /package/{target → build}/elements/kbd.js +0 -0
  255. /package/{target → build}/elements/label.d.ts +0 -0
  256. /package/{target → build}/elements/label.js +0 -0
  257. /package/{target → build}/elements/menubar.d.ts +0 -0
  258. /package/{target → build}/elements/menubar.js +0 -0
  259. /package/{target → build}/elements/native-select.d.ts +0 -0
  260. /package/{target → build}/elements/native-select.js +0 -0
  261. /package/{target → build}/elements/navigation-menu.d.ts +0 -0
  262. /package/{target → build}/elements/navigation-menu.js +0 -0
  263. /package/{target → build}/elements/pagination.d.ts +0 -0
  264. /package/{target → build}/elements/pagination.js +0 -0
  265. /package/{target → build}/elements/popover.d.ts +0 -0
  266. /package/{target → build}/elements/popover.js +0 -0
  267. /package/{target → build}/elements/progress.d.ts +0 -0
  268. /package/{target → build}/elements/progress.js +0 -0
  269. /package/{target → build}/elements/radio-group.d.ts +0 -0
  270. /package/{target → build}/elements/radio-group.js +0 -0
  271. /package/{target → build}/elements/resizable.d.ts +0 -0
  272. /package/{target → build}/elements/resizable.js +0 -0
  273. /package/{target → build}/elements/scroll-area.d.ts +0 -0
  274. /package/{target → build}/elements/scroll-area.js +0 -0
  275. /package/{target → build}/elements/select.d.ts +0 -0
  276. /package/{target → build}/elements/select.js +0 -0
  277. /package/{target → build}/elements/separator.d.ts +0 -0
  278. /package/{target → build}/elements/separator.js +0 -0
  279. /package/{target → build}/elements/sheet.d.ts +0 -0
  280. /package/{target → build}/elements/sheet.js +0 -0
  281. /package/{target → build}/elements/sidebar.d.ts +0 -0
  282. /package/{target → build}/elements/sidebar.js +0 -0
  283. /package/{target → build}/elements/skeleton.d.ts +0 -0
  284. /package/{target → build}/elements/skeleton.js +0 -0
  285. /package/{target → build}/elements/slider.d.ts +0 -0
  286. /package/{target → build}/elements/slider.js +0 -0
  287. /package/{target → build}/elements/sonner.d.ts +0 -0
  288. /package/{target → build}/elements/sonner.js +0 -0
  289. /package/{target → build}/elements/spinner.d.ts +0 -0
  290. /package/{target → build}/elements/spinner.js +0 -0
  291. /package/{target → build}/elements/switch.d.ts +0 -0
  292. /package/{target → build}/elements/switch.js +0 -0
  293. /package/{target → build}/elements/table.d.ts +0 -0
  294. /package/{target → build}/elements/table.js +0 -0
  295. /package/{target → build}/elements/tabs.d.ts +0 -0
  296. /package/{target → build}/elements/tabs.js +0 -0
  297. /package/{target → build}/elements/textarea.d.ts +0 -0
  298. /package/{target → build}/elements/textarea.js +0 -0
  299. /package/{target → build}/elements/toggle-group.d.ts +0 -0
  300. /package/{target → build}/elements/toggle-group.js +0 -0
  301. /package/{target → build}/elements/toggle.d.ts +0 -0
  302. /package/{target → build}/elements/toggle.js +0 -0
  303. /package/{target → build}/elements/tooltip.d.ts +0 -0
  304. /package/{target → build}/elements/tooltip.js +0 -0
  305. /package/{target → build}/entrypoints/main.d.ts +0 -0
  306. /package/{target → build}/entrypoints/main.js +0 -0
  307. /package/{target → build}/helpers/article-icon.d.ts +0 -0
  308. /package/{target → build}/helpers/article-icon.js +0 -0
  309. /package/{target → build}/helpers/article.d.ts +0 -0
  310. /package/{target → build}/helpers/article.js +0 -0
  311. /package/{target → build}/helpers/changelog-source.d.ts +0 -0
  312. /package/{target → build}/helpers/changelog-source.js +0 -0
  313. /package/{target → build}/helpers/changelog-source.unit.d.ts +0 -0
  314. /package/{target → build}/helpers/changelog-source.unit.js +0 -0
  315. /package/{target → build}/helpers/dynamic-icon-resolver.d.ts +0 -0
  316. /package/{target → build}/helpers/dynamic-icon-resolver.js +0 -0
  317. /package/{target → build}/helpers/dynamic-icon.d.ts +0 -0
  318. /package/{target → build}/helpers/dynamic-icon.js +0 -0
  319. /package/{target → build}/helpers/favicon.d.ts +0 -0
  320. /package/{target → build}/helpers/favicon.js +0 -0
  321. /package/{target → build}/helpers/model.d.ts +0 -0
  322. /package/{target → build}/helpers/model.js +0 -0
  323. /package/{target → build}/helpers/program.d.ts +0 -0
  324. /package/{target → build}/helpers/program.js +0 -0
  325. /package/{target → build}/helpers/resolve-asset-path.d.ts +0 -0
  326. /package/{target → build}/helpers/resolve-asset-path.js +0 -0
  327. /package/{target → build}/helpers/resolve-includes.d.ts +0 -0
  328. /package/{target → build}/helpers/resolve-includes.js +0 -0
  329. /package/{target → build}/helpers/resolve-includes.unit.d.ts +0 -0
  330. /package/{target → build}/helpers/resolve-includes.unit.js +0 -0
  331. /package/{target → build}/helpers/search-text.d.ts +0 -0
  332. /package/{target → build}/helpers/search-text.js +0 -0
  333. /package/{target → build}/helpers/section.d.ts +0 -0
  334. /package/{target → build}/helpers/section.js +0 -0
  335. /package/{target → build}/helpers/section.unit.d.ts +0 -0
  336. /package/{target → build}/helpers/section.unit.js +0 -0
  337. /package/{target → build}/helpers/theme.d.ts +0 -0
  338. /package/{target → build}/helpers/theme.js +0 -0
  339. /package/{target → build}/helpers/toc-context.d.ts +0 -0
  340. /package/{target → build}/helpers/toc-context.js +0 -0
  341. /package/{target → build}/helpers/toc.d.ts +0 -0
  342. /package/{target → build}/helpers/toc.js +0 -0
  343. /package/{target → build}/helpers/toc.unit.d.ts +0 -0
  344. /package/{target → build}/helpers/toc.unit.js +0 -0
  345. /package/{target → build}/hooks/in-view.d.ts +0 -0
  346. /package/{target → build}/hooks/in-view.js +0 -0
  347. /package/{target → build}/hooks/media.d.ts +0 -0
  348. /package/{target → build}/hooks/media.js +0 -0
  349. /package/{target → build}/index.d.ts +0 -0
  350. /package/{target → build}/index.js +0 -0
  351. /package/{target → build}/models/article.d.ts +0 -0
  352. /package/{target → build}/models/article.js +0 -0
  353. /package/{target → build}/models/link.d.ts +0 -0
  354. /package/{target → build}/models/link.js +0 -0
  355. /package/{target → build}/models/patch.d.ts +0 -0
  356. /package/{target → build}/models/patch.js +0 -0
  357. /package/{target → build}/models/section.d.ts +0 -0
  358. /package/{target → build}/models/section.js +0 -0
  359. /package/{target → build}/models/theme.d.ts +0 -0
  360. /package/{target → build}/models/theme.js +0 -0
  361. /package/{target → build}/models/toc.d.ts +0 -0
  362. /package/{target → build}/models/toc.js +0 -0
  363. /package/{target → build}/plugins/rehype-inline-code.d.ts +0 -0
  364. /package/{target → build}/plugins/rehype-inline-code.js +0 -0
  365. /package/{target → build}/plugins/rehype-task-list-a11y.d.ts +0 -0
  366. /package/{target → build}/plugins/rehype-task-list-a11y.js +0 -0
  367. /package/{target → build}/plugins/remark-abbr.d.ts +0 -0
  368. /package/{target → build}/plugins/remark-abbr.js +0 -0
  369. /package/{target → build}/plugins/remark-abbr.unit.d.ts +0 -0
  370. /package/{target → build}/plugins/remark-abbr.unit.js +0 -0
  371. /package/{target → build}/plugins/remark-ansi.d.ts +0 -0
  372. /package/{target → build}/plugins/remark-ansi.js +0 -0
  373. /package/{target → build}/plugins/remark-ansi.unit.d.ts +0 -0
  374. /package/{target → build}/plugins/remark-ansi.unit.js +0 -0
  375. /package/{target → build}/plugins/remark-badge.d.ts +0 -0
  376. /package/{target → build}/plugins/remark-badge.js +0 -0
  377. /package/{target → build}/plugins/remark-badge.unit.d.ts +0 -0
  378. /package/{target → build}/plugins/remark-badge.unit.js +0 -0
  379. /package/{target → build}/plugins/remark-button.d.ts +0 -0
  380. /package/{target → build}/plugins/remark-button.js +0 -0
  381. /package/{target → build}/plugins/remark-button.unit.d.ts +0 -0
  382. /package/{target → build}/plugins/remark-button.unit.js +0 -0
  383. /package/{target → build}/plugins/remark-callout.d.ts +0 -0
  384. /package/{target → build}/plugins/remark-callout.js +0 -0
  385. /package/{target → build}/plugins/remark-card.d.ts +0 -0
  386. /package/{target → build}/plugins/remark-card.js +0 -0
  387. /package/{target → build}/plugins/remark-code-tabs.d.ts +0 -0
  388. /package/{target → build}/plugins/remark-code-tabs.js +0 -0
  389. /package/{target → build}/plugins/remark-columns.d.ts +0 -0
  390. /package/{target → build}/plugins/remark-columns.js +0 -0
  391. /package/{target → build}/plugins/remark-custom-heading-id.d.ts +0 -0
  392. /package/{target → build}/plugins/remark-custom-heading-id.js +0 -0
  393. /package/{target → build}/plugins/remark-custom-heading-id.unit.d.ts +0 -0
  394. /package/{target → build}/plugins/remark-custom-heading-id.unit.js +0 -0
  395. /package/{target → build}/plugins/remark-deflist.d.ts +0 -0
  396. /package/{target → build}/plugins/remark-deflist.js +0 -0
  397. /package/{target → build}/plugins/remark-details.d.ts +0 -0
  398. /package/{target → build}/plugins/remark-details.js +0 -0
  399. /package/{target → build}/plugins/remark-filetree.d.ts +0 -0
  400. /package/{target → build}/plugins/remark-filetree.js +0 -0
  401. /package/{target → build}/plugins/remark-filetree.unit.d.ts +0 -0
  402. /package/{target → build}/plugins/remark-filetree.unit.js +0 -0
  403. /package/{target → build}/plugins/remark-github-callout.d.ts +0 -0
  404. /package/{target → build}/plugins/remark-github-callout.js +0 -0
  405. /package/{target → build}/plugins/remark-icon.d.ts +0 -0
  406. /package/{target → build}/plugins/remark-icon.js +0 -0
  407. /package/{target → build}/plugins/remark-image.d.ts +0 -0
  408. /package/{target → build}/plugins/remark-image.js +0 -0
  409. /package/{target → build}/plugins/remark-media.d.ts +0 -0
  410. /package/{target → build}/plugins/remark-media.js +0 -0
  411. /package/{target → build}/plugins/remark-media.unit.d.ts +0 -0
  412. /package/{target → build}/plugins/remark-media.unit.js +0 -0
  413. /package/{target → build}/plugins/remark-mermaid.d.ts +0 -0
  414. /package/{target → build}/plugins/remark-mermaid.js +0 -0
  415. /package/{target → build}/plugins/remark-npm.d.ts +0 -0
  416. /package/{target → build}/plugins/remark-npm.js +0 -0
  417. /package/{target → build}/plugins/remark-passthrough-directive.d.ts +0 -0
  418. /package/{target → build}/plugins/remark-passthrough-directive.js +0 -0
  419. /package/{target → build}/plugins/remark-steps.d.ts +0 -0
  420. /package/{target → build}/plugins/remark-steps.js +0 -0
  421. /package/{target → build}/plugins/remark-steps.unit.d.ts +0 -0
  422. /package/{target → build}/plugins/remark-steps.unit.js +0 -0
  423. /package/{target → build}/plugins/remark-tab.d.ts +0 -0
  424. /package/{target → build}/plugins/remark-tab.js +0 -0
  425. /package/{target → build}/plugins/remark-tab.unit.d.ts +0 -0
  426. /package/{target → build}/plugins/remark-tab.unit.js +0 -0
  427. /package/{target → build}/plugins/remark-toc.d.ts +0 -0
  428. /package/{target → build}/plugins/remark-toc.js +0 -0
  429. /package/{target → build}/plugins/remark-toc.unit.d.ts +0 -0
  430. /package/{target → build}/plugins/remark-toc.unit.js +0 -0
  431. /package/{target → build}/plugins/shiki-icon.d.ts +0 -0
  432. /package/{target → build}/plugins/shiki-icon.js +0 -0
  433. /package/{target → build}/plugins/shiki-line-highlight.d.ts +0 -0
  434. /package/{target → build}/plugins/shiki-line-highlight.js +0 -0
  435. /package/{target → build}/program.d.ts +0 -0
  436. /package/{target → build}/program.js +0 -0
  437. /package/{target → build}/routeTree.gen.d.ts +0 -0
  438. /package/{target → build}/routeTree.gen.js +0 -0
  439. /package/{target → build}/router.d.ts +0 -0
  440. /package/{target → build}/router.js +0 -0
  441. /package/{target → build}/routes/$.d.ts +0 -0
  442. /package/{target → build}/routes/$.js +0 -0
  443. /package/{target → build}/routes/__root.d.ts +0 -0
  444. /package/{target → build}/server.d.ts +0 -0
  445. /package/{target → build}/server.js +0 -0
  446. /package/{target → build}/utils/style.d.ts +0 -0
  447. /package/{target → build}/utils/style.js +0 -0
  448. /package/{target → build}/vite.config.d.ts +0 -0
@@ -1,111 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { join } from "node:path";
3
- /** Match bare specifiers (`react`, `@scope/pkg`, `react/jsx-runtime`) but
4
- * not relative (`./foo`), absolute (`/foo`), URL, or virtual (`\0...`)
5
- * paths. */
6
- const BARE_SPECIFIER_RE = /^(@[^/]+\/)?[a-z0-9_][^?#]*$/i;
7
- /** Livemark dev/build integration:
8
- * - Anchors every bare-specifier resolution at livemark's own location so
9
- * the entire build pipeline runs inside livemark's package boundary,
10
- * regardless of which file (consumer override, transitive package,
11
- * livemark source) issues the import. Removes pnpm-isolation hazards
12
- * without forcing peerDependencies on the consumer.
13
- * - Redirects imports that land in `<defaultsRoot>/<subdir>/` to the matching
14
- * user file under `<overridesRoot>/<subdir>/` when it exists.
15
- * - Watches `livemark.config.ts` and `.livemark/**` so edits, additions and
16
- * deletions trigger the right reload without manual restart. */
17
- export function livemark(opts) {
18
- const EXT_RE = /\.(tsx|ts|jsx|js|css)(\?|$)/;
19
- const livemarkAnchor = join(opts.defaultsRoot, "index.ts");
20
- return {
21
- name: "livemark",
22
- enforce: "pre",
23
- async resolveId(id, importer, options) {
24
- // Encapsulation bridge: if the importer can resolve `id` itself
25
- // (its own subtree has the right version), use that — preserves
26
- // version isolation between transitive packages (e.g. recharts and
27
- // mermaid both pulling different d3 majors). Only when the importer
28
- // *can't* resolve do we fall back to livemark's own location, which
29
- // covers React, the @tanstack/react-* cluster, and anything else
30
- // that lives only inside livemark's tree but gets requested from a
31
- // file that doesn't declare it (consumer overrides, foreign
32
- // packages compiled by TanStack's transforms, etc.).
33
- if (BARE_SPECIFIER_RE.test(id)) {
34
- const fromImporter = importer
35
- ? await this.resolve(id, importer, {
36
- ...options,
37
- skipSelf: true,
38
- })
39
- : null;
40
- if (fromImporter)
41
- return fromImporter;
42
- const fromLivemark = await this.resolve(id, livemarkAnchor, {
43
- ...options,
44
- skipSelf: true,
45
- });
46
- if (fromLivemark)
47
- return fromLivemark;
48
- }
49
- if (!importer || !EXT_RE.test(id))
50
- return null;
51
- const resolved = await this.resolve(id, importer, {
52
- ...options,
53
- skipSelf: true,
54
- });
55
- if (!resolved)
56
- return null;
57
- const queryIdx = resolved.id.indexOf("?");
58
- const path = queryIdx === -1 ? resolved.id : resolved.id.slice(0, queryIdx);
59
- const query = queryIdx === -1 ? "" : resolved.id.slice(queryIdx);
60
- for (const subdir of opts.subdirs) {
61
- const defaultsSubdir = `${join(opts.defaultsRoot, subdir)}/`;
62
- if (!path.startsWith(defaultsSubdir))
63
- continue;
64
- const rel = path.slice(defaultsSubdir.length);
65
- const userPath = join(opts.overridesRoot, subdir, rel);
66
- if (existsSync(userPath))
67
- return userPath + query;
68
- return null;
69
- }
70
- return null;
71
- },
72
- configureServer(server) {
73
- server.watcher.add(opts.configPath);
74
- server.watcher.add(join(opts.overridesRoot, "**/*"));
75
- const overrideRoots = opts.subdirs.map(subdir => `${join(opts.overridesRoot, subdir)}/`);
76
- const routesRoot = `${join(opts.overridesRoot, "routes")}/`;
77
- const onChange = (file) => {
78
- if (file === opts.configPath) {
79
- server.restart();
80
- return;
81
- }
82
- if (file.startsWith(routesRoot)) {
83
- server.restart();
84
- return;
85
- }
86
- for (let i = 0; i < opts.subdirs.length; i++) {
87
- const root = overrideRoots[i];
88
- if (!root || !file.startsWith(root))
89
- continue;
90
- const rel = file.slice(root.length);
91
- const subdir = opts.subdirs[i];
92
- if (!subdir)
93
- continue;
94
- const defaultPath = join(opts.defaultsRoot, subdir, rel);
95
- const mod = server.moduleGraph.getModuleById(defaultPath);
96
- if (mod)
97
- server.moduleGraph.invalidateModule(mod);
98
- server.ws.send({ type: "full-reload" });
99
- return;
100
- }
101
- };
102
- server.watcher.on("add", onChange);
103
- server.watcher.on("unlink", onChange);
104
- server.watcher.on("change", file => {
105
- if (file === opts.configPath)
106
- server.restart();
107
- });
108
- },
109
- };
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS1saXZlbWFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wbHVnaW5zL3ZpdGUtbGl2ZW1hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBVWhDOzthQUVhO0FBQ2IsTUFBTSxpQkFBaUIsR0FBRywrQkFBK0IsQ0FBQTtBQUV6RDs7Ozs7Ozs7O2tFQVNrRTtBQUNsRSxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQXFCO0lBQzVDLE1BQU0sTUFBTSxHQUFHLDZCQUE2QixDQUFBO0lBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQzFELE9BQU87UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPO1lBQ25DLGdFQUFnRTtZQUNoRSxnRUFBZ0U7WUFDaEUsbUVBQW1FO1lBQ25FLG9FQUFvRTtZQUNwRSxvRUFBb0U7WUFDcEUsaUVBQWlFO1lBQ2pFLG1FQUFtRTtZQUNuRSw0REFBNEQ7WUFDNUQscURBQXFEO1lBQ3JELElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sWUFBWSxHQUFHLFFBQVE7b0JBQzNCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRTt3QkFDL0IsR0FBRyxPQUFPO3dCQUNWLFFBQVEsRUFBRSxJQUFJO3FCQUNmLENBQUM7b0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQTtnQkFDUixJQUFJLFlBQVk7b0JBQUUsT0FBTyxZQUFZLENBQUE7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsY0FBYyxFQUFFO29CQUMxRCxHQUFHLE9BQU87b0JBQ1YsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFBO2dCQUNGLElBQUksWUFBWTtvQkFBRSxPQUFPLFlBQVksQ0FBQTtZQUN2QyxDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFBO1lBQzlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFO2dCQUNoRCxHQUFHLE9BQU87Z0JBQ1YsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPLElBQUksQ0FBQTtZQUMxQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN6QyxNQUFNLElBQUksR0FDUixRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUNoRSxNQUFNLEtBQUssR0FBRyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDaEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQTtnQkFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO29CQUFFLFNBQVE7Z0JBQzlDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7Z0JBQ3RELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQztvQkFBRSxPQUFPLFFBQVEsR0FBRyxLQUFLLENBQUE7Z0JBQ2pELE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELGVBQWUsQ0FBQyxNQUFNO1lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNuQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1lBRXBELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUNwQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FDakQsQ0FBQTtZQUNELE1BQU0sVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQTtZQUUzRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNoQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQzdCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtvQkFDaEIsT0FBTTtnQkFDUixDQUFDO2dCQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNoQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7b0JBQ2hCLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDN0MsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUM3QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7d0JBQUUsU0FBUTtvQkFDN0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7b0JBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQzlCLElBQUksQ0FBQyxNQUFNO3dCQUFFLFNBQVE7b0JBQ3JCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtvQkFDeEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUE7b0JBQ3pELElBQUksR0FBRzt3QkFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUNqRCxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFBO29CQUN2QyxPQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDLENBQUE7WUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDakMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVU7b0JBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ2hELENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcInZpdGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVtYXJrT3B0aW9ucyB7XG4gIGRlZmF1bHRzUm9vdDogc3RyaW5nXG4gIG92ZXJyaWRlc1Jvb3Q6IHN0cmluZ1xuICBzdWJkaXJzOiBzdHJpbmdbXVxuICBjb25maWdQYXRoOiBzdHJpbmdcbn1cblxuLyoqIE1hdGNoIGJhcmUgc3BlY2lmaWVycyAoYHJlYWN0YCwgYEBzY29wZS9wa2dgLCBgcmVhY3QvanN4LXJ1bnRpbWVgKSBidXRcbiAqICBub3QgcmVsYXRpdmUgKGAuL2Zvb2ApLCBhYnNvbHV0ZSAoYC9mb29gKSwgVVJMLCBvciB2aXJ0dWFsIChgXFwwLi4uYClcbiAqICBwYXRocy4gKi9cbmNvbnN0IEJBUkVfU1BFQ0lGSUVSX1JFID0gL14oQFteL10rXFwvKT9bYS16MC05X11bXj8jXSokL2lcblxuLyoqIExpdmVtYXJrIGRldi9idWlsZCBpbnRlZ3JhdGlvbjpcbiAqIC0gQW5jaG9ycyBldmVyeSBiYXJlLXNwZWNpZmllciByZXNvbHV0aW9uIGF0IGxpdmVtYXJrJ3Mgb3duIGxvY2F0aW9uIHNvXG4gKiAgIHRoZSBlbnRpcmUgYnVpbGQgcGlwZWxpbmUgcnVucyBpbnNpZGUgbGl2ZW1hcmsncyBwYWNrYWdlIGJvdW5kYXJ5LFxuICogICByZWdhcmRsZXNzIG9mIHdoaWNoIGZpbGUgKGNvbnN1bWVyIG92ZXJyaWRlLCB0cmFuc2l0aXZlIHBhY2thZ2UsXG4gKiAgIGxpdmVtYXJrIHNvdXJjZSkgaXNzdWVzIHRoZSBpbXBvcnQuIFJlbW92ZXMgcG5wbS1pc29sYXRpb24gaGF6YXJkc1xuICogICB3aXRob3V0IGZvcmNpbmcgcGVlckRlcGVuZGVuY2llcyBvbiB0aGUgY29uc3VtZXIuXG4gKiAtIFJlZGlyZWN0cyBpbXBvcnRzIHRoYXQgbGFuZCBpbiBgPGRlZmF1bHRzUm9vdD4vPHN1YmRpcj4vYCB0byB0aGUgbWF0Y2hpbmdcbiAqICAgdXNlciBmaWxlIHVuZGVyIGA8b3ZlcnJpZGVzUm9vdD4vPHN1YmRpcj4vYCB3aGVuIGl0IGV4aXN0cy5cbiAqIC0gV2F0Y2hlcyBgbGl2ZW1hcmsuY29uZmlnLnRzYCBhbmQgYC5saXZlbWFyay8qKmAgc28gZWRpdHMsIGFkZGl0aW9ucyBhbmRcbiAqICAgZGVsZXRpb25zIHRyaWdnZXIgdGhlIHJpZ2h0IHJlbG9hZCB3aXRob3V0IG1hbnVhbCByZXN0YXJ0LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpdmVtYXJrKG9wdHM6IExpdmVtYXJrT3B0aW9ucyk6IFBsdWdpbiB7XG4gIGNvbnN0IEVYVF9SRSA9IC9cXC4odHN4fHRzfGpzeHxqc3xjc3MpKFxcP3wkKS9cbiAgY29uc3QgbGl2ZW1hcmtBbmNob3IgPSBqb2luKG9wdHMuZGVmYXVsdHNSb290LCBcImluZGV4LnRzXCIpXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJsaXZlbWFya1wiLFxuICAgIGVuZm9yY2U6IFwicHJlXCIsXG4gICAgYXN5bmMgcmVzb2x2ZUlkKGlkLCBpbXBvcnRlciwgb3B0aW9ucykge1xuICAgICAgLy8gRW5jYXBzdWxhdGlvbiBicmlkZ2U6IGlmIHRoZSBpbXBvcnRlciBjYW4gcmVzb2x2ZSBgaWRgIGl0c2VsZlxuICAgICAgLy8gKGl0cyBvd24gc3VidHJlZSBoYXMgdGhlIHJpZ2h0IHZlcnNpb24pLCB1c2UgdGhhdCDigJQgcHJlc2VydmVzXG4gICAgICAvLyB2ZXJzaW9uIGlzb2xhdGlvbiBiZXR3ZWVuIHRyYW5zaXRpdmUgcGFja2FnZXMgKGUuZy4gcmVjaGFydHMgYW5kXG4gICAgICAvLyBtZXJtYWlkIGJvdGggcHVsbGluZyBkaWZmZXJlbnQgZDMgbWFqb3JzKS4gT25seSB3aGVuIHRoZSBpbXBvcnRlclxuICAgICAgLy8gKmNhbid0KiByZXNvbHZlIGRvIHdlIGZhbGwgYmFjayB0byBsaXZlbWFyaydzIG93biBsb2NhdGlvbiwgd2hpY2hcbiAgICAgIC8vIGNvdmVycyBSZWFjdCwgdGhlIEB0YW5zdGFjay9yZWFjdC0qIGNsdXN0ZXIsIGFuZCBhbnl0aGluZyBlbHNlXG4gICAgICAvLyB0aGF0IGxpdmVzIG9ubHkgaW5zaWRlIGxpdmVtYXJrJ3MgdHJlZSBidXQgZ2V0cyByZXF1ZXN0ZWQgZnJvbSBhXG4gICAgICAvLyBmaWxlIHRoYXQgZG9lc24ndCBkZWNsYXJlIGl0IChjb25zdW1lciBvdmVycmlkZXMsIGZvcmVpZ25cbiAgICAgIC8vIHBhY2thZ2VzIGNvbXBpbGVkIGJ5IFRhblN0YWNrJ3MgdHJhbnNmb3JtcywgZXRjLikuXG4gICAgICBpZiAoQkFSRV9TUEVDSUZJRVJfUkUudGVzdChpZCkpIHtcbiAgICAgICAgY29uc3QgZnJvbUltcG9ydGVyID0gaW1wb3J0ZXJcbiAgICAgICAgICA/IGF3YWl0IHRoaXMucmVzb2x2ZShpZCwgaW1wb3J0ZXIsIHtcbiAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIDogbnVsbFxuICAgICAgICBpZiAoZnJvbUltcG9ydGVyKSByZXR1cm4gZnJvbUltcG9ydGVyXG4gICAgICAgIGNvbnN0IGZyb21MaXZlbWFyayA9IGF3YWl0IHRoaXMucmVzb2x2ZShpZCwgbGl2ZW1hcmtBbmNob3IsIHtcbiAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgIHNraXBTZWxmOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoZnJvbUxpdmVtYXJrKSByZXR1cm4gZnJvbUxpdmVtYXJrXG4gICAgICB9XG5cbiAgICAgIGlmICghaW1wb3J0ZXIgfHwgIUVYVF9SRS50ZXN0KGlkKSkgcmV0dXJuIG51bGxcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgdGhpcy5yZXNvbHZlKGlkLCBpbXBvcnRlciwge1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICBpZiAoIXJlc29sdmVkKSByZXR1cm4gbnVsbFxuICAgICAgY29uc3QgcXVlcnlJZHggPSByZXNvbHZlZC5pZC5pbmRleE9mKFwiP1wiKVxuICAgICAgY29uc3QgcGF0aCA9XG4gICAgICAgIHF1ZXJ5SWR4ID09PSAtMSA/IHJlc29sdmVkLmlkIDogcmVzb2x2ZWQuaWQuc2xpY2UoMCwgcXVlcnlJZHgpXG4gICAgICBjb25zdCBxdWVyeSA9IHF1ZXJ5SWR4ID09PSAtMSA/IFwiXCIgOiByZXNvbHZlZC5pZC5zbGljZShxdWVyeUlkeClcbiAgICAgIGZvciAoY29uc3Qgc3ViZGlyIG9mIG9wdHMuc3ViZGlycykge1xuICAgICAgICBjb25zdCBkZWZhdWx0c1N1YmRpciA9IGAke2pvaW4ob3B0cy5kZWZhdWx0c1Jvb3QsIHN1YmRpcil9L2BcbiAgICAgICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoZGVmYXVsdHNTdWJkaXIpKSBjb250aW51ZVxuICAgICAgICBjb25zdCByZWwgPSBwYXRoLnNsaWNlKGRlZmF1bHRzU3ViZGlyLmxlbmd0aClcbiAgICAgICAgY29uc3QgdXNlclBhdGggPSBqb2luKG9wdHMub3ZlcnJpZGVzUm9vdCwgc3ViZGlyLCByZWwpXG4gICAgICAgIGlmIChleGlzdHNTeW5jKHVzZXJQYXRoKSkgcmV0dXJuIHVzZXJQYXRoICsgcXVlcnlcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyKSB7XG4gICAgICBzZXJ2ZXIud2F0Y2hlci5hZGQob3B0cy5jb25maWdQYXRoKVxuICAgICAgc2VydmVyLndhdGNoZXIuYWRkKGpvaW4ob3B0cy5vdmVycmlkZXNSb290LCBcIioqLypcIikpXG5cbiAgICAgIGNvbnN0IG92ZXJyaWRlUm9vdHMgPSBvcHRzLnN1YmRpcnMubWFwKFxuICAgICAgICBzdWJkaXIgPT4gYCR7am9pbihvcHRzLm92ZXJyaWRlc1Jvb3QsIHN1YmRpcil9L2AsXG4gICAgICApXG4gICAgICBjb25zdCByb3V0ZXNSb290ID0gYCR7am9pbihvcHRzLm92ZXJyaWRlc1Jvb3QsIFwicm91dGVzXCIpfS9gXG5cbiAgICAgIGNvbnN0IG9uQ2hhbmdlID0gKGZpbGU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoZmlsZSA9PT0gb3B0cy5jb25maWdQYXRoKSB7XG4gICAgICAgICAgc2VydmVyLnJlc3RhcnQoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGUuc3RhcnRzV2l0aChyb3V0ZXNSb290KSkge1xuICAgICAgICAgIHNlcnZlci5yZXN0YXJ0KClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0cy5zdWJkaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3Qgcm9vdCA9IG92ZXJyaWRlUm9vdHNbaV1cbiAgICAgICAgICBpZiAoIXJvb3QgfHwgIWZpbGUuc3RhcnRzV2l0aChyb290KSkgY29udGludWVcbiAgICAgICAgICBjb25zdCByZWwgPSBmaWxlLnNsaWNlKHJvb3QubGVuZ3RoKVxuICAgICAgICAgIGNvbnN0IHN1YmRpciA9IG9wdHMuc3ViZGlyc1tpXVxuICAgICAgICAgIGlmICghc3ViZGlyKSBjb250aW51ZVxuICAgICAgICAgIGNvbnN0IGRlZmF1bHRQYXRoID0gam9pbihvcHRzLmRlZmF1bHRzUm9vdCwgc3ViZGlyLCByZWwpXG4gICAgICAgICAgY29uc3QgbW9kID0gc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoZGVmYXVsdFBhdGgpXG4gICAgICAgICAgaWYgKG1vZCkgc2VydmVyLm1vZHVsZUdyYXBoLmludmFsaWRhdGVNb2R1bGUobW9kKVxuICAgICAgICAgIHNlcnZlci53cy5zZW5kKHsgdHlwZTogXCJmdWxsLXJlbG9hZFwiIH0pXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2VydmVyLndhdGNoZXIub24oXCJhZGRcIiwgb25DaGFuZ2UpXG4gICAgICBzZXJ2ZXIud2F0Y2hlci5vbihcInVubGlua1wiLCBvbkNoYW5nZSlcbiAgICAgIHNlcnZlci53YXRjaGVyLm9uKFwiY2hhbmdlXCIsIGZpbGUgPT4ge1xuICAgICAgICBpZiAoZmlsZSA9PT0gb3B0cy5jb25maWdQYXRoKSBzZXJ2ZXIucmVzdGFydCgpXG4gICAgICB9KVxuICAgIH0sXG4gIH1cbn1cbiJdfQ==
@@ -1,69 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { TanStackDevtools } from "@tanstack/react-devtools";
3
- import { ReactQueryDevtoolsPanel } from "@tanstack/react-query-devtools";
4
- import { createRootRoute, HeadContent, Outlet, Scripts, useMatch, } from "@tanstack/react-router";
5
- import { TanStackRouterDevtoolsPanel } from "@tanstack/react-router-devtools";
6
- import { Layout } from "../components/Layout.js";
7
- import { DefaultCatchBoundary } from "../components/DefaultCatchBoundary.js";
8
- import { NotFound } from "../components/NotFound.js";
9
- import { Toaster } from "../elements/sonner.js";
10
- import { faviconType } from "../helpers/favicon.js";
11
- import defaultFavicon from "../assets/logo.svg";
12
- import generalCss from "../styles/general.css?url";
13
- export const Route = createRootRoute({
14
- head: () => {
15
- const favicon = import.meta.env.CONFIG.favicon ??
16
- import.meta.env.CONFIG.logo ??
17
- defaultFavicon;
18
- return {
19
- meta: [
20
- { charSet: "utf-8" },
21
- { title: import.meta.env.CONFIG.title },
22
- { name: "description", content: import.meta.env.CONFIG.description },
23
- { property: "og:title", content: import.meta.env.CONFIG.title },
24
- {
25
- property: "og:description",
26
- content: import.meta.env.CONFIG.description,
27
- },
28
- { property: "og:site_name", content: import.meta.env.CONFIG.title },
29
- { property: "og:type", content: "website" },
30
- {
31
- name: "viewport",
32
- content: "width=device-width, initial-scale=1",
33
- },
34
- ],
35
- links: [
36
- { rel: "icon", href: favicon, type: faviconType(favicon) },
37
- { rel: "stylesheet", href: generalCss },
38
- ],
39
- };
40
- },
41
- notFoundComponent: () => _jsx(NotFound, {}),
42
- errorComponent: props => {
43
- return (_jsx(Document, { children: _jsx(DefaultCatchBoundary, { ...props }) }));
44
- },
45
- component: () => {
46
- return (_jsx(Document, { children: _jsx(Outlet, {}) }));
47
- },
48
- });
49
- function Document(props) {
50
- const articleRoute = useMatch({ from: "/$", shouldThrow: false });
51
- const withSidebar = articleRoute?.loaderData?.sidebar;
52
- return (_jsxs("html", { lang: "en", children: [
53
- _jsx("head", { children: _jsx(HeadContent, {}) }), _jsxs("body", { children: [
54
- _jsx(Layout, { withSidebar: withSidebar, children: props.children }), _jsx(Toaster, { position: "top-center" }), _jsx(TanStackDevtools, { config: { hideUntilHover: true, position: "bottom-left" }, plugins: [
55
- {
56
- name: "TanStack Query",
57
- render: _jsx(ReactQueryDevtoolsPanel, {}),
58
- defaultOpen: true,
59
- },
60
- {
61
- name: "TanStack Router",
62
- render: _jsx(TanStackRouterDevtoolsPanel, {}),
63
- defaultOpen: false,
64
- },
65
- ] }), _jsx(Scripts, {})
66
- ] })
67
- ] }));
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX19yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL3JvdXRlcy9fX3Jvb3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN4RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsR0FDVCxNQUFNLHdCQUF3QixDQUFBO0FBQy9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBRTdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBMEIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBd0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTRCLENBQUE7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF3QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLGNBQWMsTUFBTSxvQkFBb0IsQ0FBQTtBQUMvQyxPQUFPLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVsRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDO0lBQ25DLElBQUksRUFBRSxHQUFHLEVBQUU7UUFDVCxNQUFNLE9BQU8sR0FDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQzNCLGNBQWMsQ0FBQTtRQUNoQixPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtnQkFDcEIsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3ZDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQy9EO29CQUNFLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVc7aUJBQzVDO2dCQUNELEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ25FLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO2dCQUMzQztvQkFDRSxJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLHFDQUFxQztpQkFDL0M7YUFDRjtZQUNELEtBQUssRUFBRTtnQkFDTCxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxRCxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTthQUN4QztTQUNGLENBQUE7SUFDSCxDQUFDO0lBQ0QsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBQyxRQUFRLEtBQUc7SUFDckMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sQ0FDTCxLQUFDLFFBQVEsY0FDUCxLQUFDLG9CQUFvQixPQUFLLEtBQUssR0FBSSxHQUMxQixDQUNaLENBQUE7SUFDSCxDQUFDO0lBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtRQUNkLE9BQU8sQ0FDTCxLQUFDLFFBQVEsY0FDUCxLQUFDLE1BQU0sS0FBRyxHQUNELENBQ1osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUE7QUFFRixTQUFTLFFBQVEsQ0FBQyxLQUFvQztJQUNwRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sV0FBVyxHQUFHLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFBO0lBRXJELE9BQU8sQ0FDTCxnQkFBTSxJQUFJLEVBQUMsSUFBSTtZQUNiLHlCQUNFLEtBQUMsV0FBVyxLQUFHLEdBQ1YsRUFDUDtvQkFDRSxLQUFDLE1BQU0sSUFBQyxXQUFXLEVBQUUsV0FBVyxZQUFHLEtBQUssQ0FBQyxRQUFRLEdBQVUsRUFDM0QsS0FBQyxPQUFPLElBQUMsUUFBUSxFQUFDLFlBQVksR0FBRyxFQUNqQyxLQUFDLGdCQUFnQixJQUNmLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUN6RCxPQUFPLEVBQUU7NEJBQ1A7Z0NBQ0UsSUFBSSxFQUFFLGdCQUFnQjtnQ0FDdEIsTUFBTSxFQUFFLEtBQUMsdUJBQXVCLEtBQUc7Z0NBQ25DLFdBQVcsRUFBRSxJQUFJOzZCQUNsQjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsaUJBQWlCO2dDQUN2QixNQUFNLEVBQUUsS0FBQywyQkFBMkIsS0FBRztnQ0FDdkMsV0FBVyxFQUFFLEtBQUs7NkJBQ25CO3lCQUNGLEdBQ0QsRUFDRixLQUFDLE9BQU8sS0FBRztvQkFDTjtZQUNGLENBQ1IsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYW5TdGFja0RldnRvb2xzIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1kZXZ0b29sc1wiXG5pbXBvcnQgeyBSZWFjdFF1ZXJ5RGV2dG9vbHNQYW5lbCB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3QtcXVlcnktZGV2dG9vbHNcIlxuaW1wb3J0IHtcbiAgY3JlYXRlUm9vdFJvdXRlLFxuICBIZWFkQ29udGVudCxcbiAgT3V0bGV0LFxuICBTY3JpcHRzLFxuICB1c2VNYXRjaCxcbn0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgVGFuU3RhY2tSb3V0ZXJEZXZ0b29sc1BhbmVsIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXItZGV2dG9vbHNcIlxuaW1wb3J0IHR5cGUgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTGF5b3V0LnRzeFwiXG5pbXBvcnQgeyBEZWZhdWx0Q2F0Y2hCb3VuZGFyeSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0RlZmF1bHRDYXRjaEJvdW5kYXJ5LnRzeFwiXG5pbXBvcnQgeyBOb3RGb3VuZCB9IGZyb20gXCIuLi9jb21wb25lbnRzL05vdEZvdW5kLnRzeFwiXG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3Nvbm5lci50c3hcIlxuaW1wb3J0IHsgZmF2aWNvblR5cGUgfSBmcm9tIFwiLi4vaGVscGVycy9mYXZpY29uLnRzXCJcbmltcG9ydCBkZWZhdWx0RmF2aWNvbiBmcm9tIFwiLi4vYXNzZXRzL2xvZ28uc3ZnXCJcbmltcG9ydCBnZW5lcmFsQ3NzIGZyb20gXCIuLi9zdHlsZXMvZ2VuZXJhbC5jc3M/dXJsXCJcblxuZXhwb3J0IGNvbnN0IFJvdXRlID0gY3JlYXRlUm9vdFJvdXRlKHtcbiAgaGVhZDogKCkgPT4ge1xuICAgIGNvbnN0IGZhdmljb24gPVxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkNPTkZJRy5mYXZpY29uID8/XG4gICAgICBpbXBvcnQubWV0YS5lbnYuQ09ORklHLmxvZ28gPz9cbiAgICAgIGRlZmF1bHRGYXZpY29uXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGE6IFtcbiAgICAgICAgeyBjaGFyU2V0OiBcInV0Zi04XCIgfSxcbiAgICAgICAgeyB0aXRsZTogaW1wb3J0Lm1ldGEuZW52LkNPTkZJRy50aXRsZSB9LFxuICAgICAgICB7IG5hbWU6IFwiZGVzY3JpcHRpb25cIiwgY29udGVudDogaW1wb3J0Lm1ldGEuZW52LkNPTkZJRy5kZXNjcmlwdGlvbiB9LFxuICAgICAgICB7IHByb3BlcnR5OiBcIm9nOnRpdGxlXCIsIGNvbnRlbnQ6IGltcG9ydC5tZXRhLmVudi5DT05GSUcudGl0bGUgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5OiBcIm9nOmRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgY29udGVudDogaW1wb3J0Lm1ldGEuZW52LkNPTkZJRy5kZXNjcmlwdGlvbixcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm9wZXJ0eTogXCJvZzpzaXRlX25hbWVcIiwgY29udGVudDogaW1wb3J0Lm1ldGEuZW52LkNPTkZJRy50aXRsZSB9LFxuICAgICAgICB7IHByb3BlcnR5OiBcIm9nOnR5cGVcIiwgY29udGVudDogXCJ3ZWJzaXRlXCIgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidmlld3BvcnRcIixcbiAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbGlua3M6IFtcbiAgICAgICAgeyByZWw6IFwiaWNvblwiLCBocmVmOiBmYXZpY29uLCB0eXBlOiBmYXZpY29uVHlwZShmYXZpY29uKSB9LFxuICAgICAgICB7IHJlbDogXCJzdHlsZXNoZWV0XCIsIGhyZWY6IGdlbmVyYWxDc3MgfSxcbiAgICAgIF0sXG4gICAgfVxuICB9LFxuICBub3RGb3VuZENvbXBvbmVudDogKCkgPT4gPE5vdEZvdW5kIC8+LFxuICBlcnJvckNvbXBvbmVudDogcHJvcHMgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8RG9jdW1lbnQ+XG4gICAgICAgIDxEZWZhdWx0Q2F0Y2hCb3VuZGFyeSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L0RvY3VtZW50PlxuICAgIClcbiAgfSxcbiAgY29tcG9uZW50OiAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEb2N1bWVudD5cbiAgICAgICAgPE91dGxldCAvPlxuICAgICAgPC9Eb2N1bWVudD5cbiAgICApXG4gIH0sXG59KVxuXG5mdW5jdGlvbiBEb2N1bWVudChwcm9wczogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgYXJ0aWNsZVJvdXRlID0gdXNlTWF0Y2goeyBmcm9tOiBcIi8kXCIsIHNob3VsZFRocm93OiBmYWxzZSB9KVxuICBjb25zdCB3aXRoU2lkZWJhciA9IGFydGljbGVSb3V0ZT8ubG9hZGVyRGF0YT8uc2lkZWJhclxuXG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8aGVhZD5cbiAgICAgICAgPEhlYWRDb250ZW50IC8+XG4gICAgICA8L2hlYWQ+XG4gICAgICA8Ym9keT5cbiAgICAgICAgPExheW91dCB3aXRoU2lkZWJhcj17d2l0aFNpZGViYXJ9Pntwcm9wcy5jaGlsZHJlbn08L0xheW91dD5cbiAgICAgICAgPFRvYXN0ZXIgcG9zaXRpb249XCJ0b3AtY2VudGVyXCIgLz5cbiAgICAgICAgPFRhblN0YWNrRGV2dG9vbHNcbiAgICAgICAgICBjb25maWc9e3sgaGlkZVVudGlsSG92ZXI6IHRydWUsIHBvc2l0aW9uOiBcImJvdHRvbS1sZWZ0XCIgfX1cbiAgICAgICAgICBwbHVnaW5zPXtbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwiVGFuU3RhY2sgUXVlcnlcIixcbiAgICAgICAgICAgICAgcmVuZGVyOiA8UmVhY3RRdWVyeURldnRvb2xzUGFuZWwgLz4sXG4gICAgICAgICAgICAgIGRlZmF1bHRPcGVuOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogXCJUYW5TdGFjayBSb3V0ZXJcIixcbiAgICAgICAgICAgICAgcmVuZGVyOiA8VGFuU3RhY2tSb3V0ZXJEZXZ0b29sc1BhbmVsIC8+LFxuICAgICAgICAgICAgICBkZWZhdWx0T3BlbjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF19XG4gICAgICAgIC8+XG4gICAgICAgIDxTY3JpcHRzIC8+XG4gICAgICA8L2JvZHk+XG4gICAgPC9odG1sPlxuICApXG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /** Sub-directories of `website/` that participate in the override mechanism. */
2
- export declare const OVERRIDE_SUBDIRS: readonly string[];
3
- /** Glob patterns auto-excluded from content scanning when the consumer's
4
- * project doesn't ship a `.gitignore` to declare its own exclusions. */
5
- export declare const DEFAULT_EXCLUDES: readonly string[];
@@ -1,15 +0,0 @@
1
- /** Sub-directories of `website/` that participate in the override mechanism. */
2
- export const OVERRIDE_SUBDIRS = [
3
- "components",
4
- "elements",
5
- "styles",
6
- ];
7
- /** Glob patterns auto-excluded from content scanning when the consumer's
8
- * project doesn't ship a `.gitignore` to declare its own exclusions. */
9
- export const DEFAULT_EXCLUDES = [
10
- "**/node_modules/**",
11
- "**/.git/**",
12
- "**/build/**",
13
- "**/dist/**",
14
- ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFzQjtJQUNqRCxZQUFZO0lBQ1osVUFBVTtJQUNWLFFBQVE7Q0FDVCxDQUFBO0FBRUQ7eUVBQ3lFO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFzQjtJQUNqRCxvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLGFBQWE7SUFDYixZQUFZO0NBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBTdWItZGlyZWN0b3JpZXMgb2YgYHdlYnNpdGUvYCB0aGF0IHBhcnRpY2lwYXRlIGluIHRoZSBvdmVycmlkZSBtZWNoYW5pc20uICovXG5leHBvcnQgY29uc3QgT1ZFUlJJREVfU1VCRElSUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbXG4gIFwiY29tcG9uZW50c1wiLFxuICBcImVsZW1lbnRzXCIsXG4gIFwic3R5bGVzXCIsXG5dXG5cbi8qKiBHbG9iIHBhdHRlcm5zIGF1dG8tZXhjbHVkZWQgZnJvbSBjb250ZW50IHNjYW5uaW5nIHdoZW4gdGhlIGNvbnN1bWVyJ3NcbiAqICBwcm9qZWN0IGRvZXNuJ3Qgc2hpcCBhIGAuZ2l0aWdub3JlYCB0byBkZWNsYXJlIGl0cyBvd24gZXhjbHVzaW9ucy4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0VYQ0xVREVTOiByZWFkb25seSBzdHJpbmdbXSA9IFtcbiAgXCIqKi9ub2RlX21vZHVsZXMvKipcIixcbiAgXCIqKi8uZ2l0LyoqXCIsXG4gIFwiKiovYnVpbGQvKipcIixcbiAgXCIqKi9kaXN0LyoqXCIsXG5dXG4iXX0=
@@ -1,89 +0,0 @@
1
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
- import { join, relative } from "node:path";
3
- import contentCollections from "@content-collections/vite";
4
- import tailwind from "@tailwindcss/vite";
5
- import { devtools } from "@tanstack/devtools-vite";
6
- import { tanstackStart } from "@tanstack/react-start/plugin/vite";
7
- import { physical, rootRoute, route, } from "@tanstack/virtual-file-routes";
8
- import react from "@vitejs/plugin-react";
9
- import { defineConfig } from "vite";
10
- import svgr from "vite-plugin-svgr";
11
- import { loadConfig } from "./actions/config/load.js";
12
- import { WebsiteConfig } from "./models/config.js";
13
- import { OVERRIDE_SUBDIRS } from "./settings.js";
14
- import { livemark } from "./plugins/vite-livemark.js";
15
- const config = await loadConfig();
16
- const sourceDir = import.meta.dirname;
17
- const sourceRelative = relative(config.root, sourceDir);
18
- const overridesRoot = join(config.root, ".livemark");
19
- // Seed `.livemark/.gitignore` on first run so Vite's build/cache
20
- // artifacts never get committed by accident. On the same first-run
21
- // trigger, also seed an `.npmrc` when pnpm is in use: pnpm's strict
22
- // isolation hides livemark's transitive deps (react, @tanstack/*) from
23
- // Vite's optimizer, which walks from config.root rather than livemark's
24
- // subtree. The public-hoist-pattern entries make those deps reachable
25
- // from the consumer's top-level node_modules. Skip when the consumer
26
- // already authored their own `.npmrc` — never overwrite user config.
27
- const gitignorePath = join(overridesRoot, ".gitignore");
28
- if (!existsSync(gitignorePath)) {
29
- mkdirSync(overridesRoot, { recursive: true });
30
- writeFileSync(gitignorePath, "/build\n/cache\n");
31
- const npmrcPath = join(config.root, ".npmrc");
32
- const usingPnpm = existsSync(join(config.root, "pnpm-lock.yaml"));
33
- if (usingPnpm && !existsSync(npmrcPath)) {
34
- writeFileSync(npmrcPath, "public-hoist-pattern[]=react\n" +
35
- "public-hoist-pattern[]=react-*\n" +
36
- "public-hoist-pattern[]=@tanstack/*\n");
37
- console.log("Created .npmrc with hoist patterns for pnpm. Run `pnpm install` to apply.");
38
- }
39
- }
40
- const routeChildren = [route("/$", "$.tsx")];
41
- if (existsSync(join(overridesRoot, "routes"))) {
42
- // physical(dir) resolves `dir` relative to the routes directory
43
- // (`srcDirectory/routes`). A hardcoded "../../.livemark/routes" only
44
- // works when source/ sits one level under config.root — it lands at
45
- // node_modules/.livemark/routes once livemark is installed. Compute
46
- // the path dynamically from the consumer's actual layout.
47
- const routesDir = join(sourceDir, "routes");
48
- routeChildren.push(physical(relative(routesDir, join(overridesRoot, "routes"))));
49
- }
50
- export default defineConfig({
51
- root: config.root,
52
- publicDir: join(config.root, ".livemark", "public"),
53
- build: { outDir: ".livemark/build" },
54
- define: {
55
- "import.meta.env.CONFIG": JSON.stringify(WebsiteConfig.parse(config)),
56
- },
57
- // peerDependencies guarantee one canonical react/react-dom in the pnpm
58
- // store. dedupe collapses any transitive resolutions to that copy.
59
- resolve: {
60
- dedupe: ["react", "react-dom"],
61
- },
62
- plugins: [
63
- livemark({
64
- defaultsRoot: sourceDir,
65
- overridesRoot,
66
- subdirs: [...OVERRIDE_SUBDIRS],
67
- configPath: config.configPath,
68
- }),
69
- devtools(),
70
- tailwind(),
71
- contentCollections({
72
- configPath: join(sourceRelative, "content-collections.ts"),
73
- }),
74
- tanstackStart({
75
- srcDirectory: sourceRelative,
76
- pages: [{ path: "/" }],
77
- prerender: { enabled: true, crawlLinks: true },
78
- sitemap: config.site
79
- ? { enabled: true, host: config.site }
80
- : { enabled: false },
81
- router: {
82
- virtualRouteConfig: rootRoute("__root.tsx", routeChildren),
83
- },
84
- }),
85
- react(),
86
- svgr(),
87
- ],
88
- });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJ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T0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNsQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN0QyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixrQkFBa0IsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUMzRDtTQUNGLENBQUM7UUFDRixLQUFLLEVBQUU7UUFDUCxJQUFJLEVBQUU7S0FDUDtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIG1rZGlyU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgY29udGVudENvbGxlY3Rpb25zIGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy92aXRlXCJcbmltcG9ydCB0YWlsd2luZCBmcm9tIFwiQHRhaWx3aW5kY3NzL3ZpdGVcIlxuaW1wb3J0IHsgZGV2dG9vbHMgfSBmcm9tIFwiQHRhbnN0YWNrL2RldnRvb2xzLXZpdGVcIlxuaW1wb3J0IHsgdGFuc3RhY2tTdGFydCB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtc3RhcnQvcGx1Z2luL3ZpdGVcIlxuaW1wb3J0IHtcbiAgcGh5c2ljYWwsXG4gIHJvb3RSb3V0ZSxcbiAgcm91dGUsXG4gIHR5cGUgVmlydHVhbFJvdXRlTm9kZSxcbn0gZnJvbSBcIkB0YW5zdGFjay92aXJ0dWFsLWZpbGUtcm91dGVzXCJcbmltcG9ydCByZWFjdCBmcm9tIFwiQHZpdGVqcy9wbHVnaW4tcmVhY3RcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IHN2Z3IgZnJvbSBcInZpdGUtcGx1Z2luLXN2Z3JcIlxuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gXCIuL2FjdGlvbnMvY29uZmlnL2xvYWQudHNcIlxuaW1wb3J0IHsgV2Vic2l0ZUNvbmZpZyB9IGZyb20gXCIuL21vZGVscy9jb25maWcudHNcIlxuaW1wb3J0IHsgT1ZFUlJJREVfU1VCRElSUyB9IGZyb20gXCIuL3NldHRpbmdzLnRzXCJcbmltcG9ydCB7IGxpdmVtYXJrIH0gZnJvbSBcIi4vcGx1Z2lucy92aXRlLWxpdmVtYXJrLnRzXCJcblxuY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZygpXG5jb25zdCBzb3VyY2VEaXIgPSBpbXBvcnQubWV0YS5kaXJuYW1lXG5jb25zdCBzb3VyY2VSZWxhdGl2ZSA9IHJlbGF0aXZlKGNvbmZpZy5yb290LCBzb3VyY2VEaXIpXG5jb25zdCBvdmVycmlkZXNSb290ID0gam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIilcblxuLy8gU2VlZCBgLmxpdmVtYXJrLy5naXRpZ25vcmVgIG9uIGZpcnN0IHJ1biBzbyBWaXRlJ3MgYnVpbGQvY2FjaGVcbi8vIGFydGlmYWN0cyBuZXZlciBnZXQgY29tbWl0dGVkIGJ5IGFjY2lkZW50LiBPbiB0aGUgc2FtZSBmaXJzdC1ydW5cbi8vIHRyaWdnZXIsIGFsc28gc2VlZCBhbiBgLm5wbXJjYCB3aGVuIHBucG0gaXMgaW4gdXNlOiBwbnBtJ3Mgc3RyaWN0XG4vLyBpc29sYXRpb24gaGlkZXMgbGl2ZW1hcmsncyB0cmFuc2l0aXZlIGRlcHMgKHJlYWN0LCBAdGFuc3RhY2svKikgZnJvbVxuLy8gVml0ZSdzIG9wdGltaXplciwgd2hpY2ggd2Fsa3MgZnJvbSBjb25maWcucm9vdCByYXRoZXIgdGhhbiBsaXZlbWFyaydzXG4vLyBzdWJ0cmVlLiBUaGUgcHVibGljLWhvaXN0LXBhdHRlcm4gZW50cmllcyBtYWtlIHRob3NlIGRlcHMgcmVhY2hhYmxlXG4vLyBmcm9tIHRoZSBjb25zdW1lcidzIHRvcC1sZXZlbCBub2RlX21vZHVsZXMuIFNraXAgd2hlbiB0aGUgY29uc3VtZXJcbi8vIGFscmVhZHkgYXV0aG9yZWQgdGhlaXIgb3duIGAubnBtcmNgIOKAlCBuZXZlciBvdmVyd3JpdGUgdXNlciBjb25maWcuXG5jb25zdCBnaXRpZ25vcmVQYXRoID0gam9pbihvdmVycmlkZXNSb290LCBcIi5naXRpZ25vcmVcIilcbmlmICghZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICBta2RpclN5bmMob3ZlcnJpZGVzUm9vdCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgd3JpdGVGaWxlU3luYyhnaXRpZ25vcmVQYXRoLCBcIi9idWlsZFxcbi9jYWNoZVxcblwiKVxuXG4gIGNvbnN0IG5wbXJjUGF0aCA9IGpvaW4oY29uZmlnLnJvb3QsIFwiLm5wbXJjXCIpXG4gIGNvbnN0IHVzaW5nUG5wbSA9IGV4aXN0c1N5bmMoam9pbihjb25maWcucm9vdCwgXCJwbnBtLWxvY2sueWFtbFwiKSlcbiAgaWYgKHVzaW5nUG5wbSAmJiAhZXhpc3RzU3luYyhucG1yY1BhdGgpKSB7XG4gICAgd3JpdGVGaWxlU3luYyhcbiAgICAgIG5wbXJjUGF0aCxcbiAgICAgIFwicHVibGljLWhvaXN0LXBhdHRlcm5bXT1yZWFjdFxcblwiICtcbiAgICAgICAgXCJwdWJsaWMtaG9pc3QtcGF0dGVybltdPXJlYWN0LSpcXG5cIiArXG4gICAgICAgIFwicHVibGljLWhvaXN0LXBhdHRlcm5bXT1AdGFuc3RhY2svKlxcblwiLFxuICAgIClcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIFwiQ3JlYXRlZCAubnBtcmMgd2l0aCBob2lzdCBwYXR0ZXJucyBmb3IgcG5wbS4gUnVuIGBwbnBtIGluc3RhbGxgIHRvIGFwcGx5LlwiLFxuICAgIClcbiAgfVxufVxuXG5jb25zdCByb3V0ZUNoaWxkcmVuOiBWaXJ0dWFsUm91dGVOb2RlW10gPSBbcm91dGUoXCIvJFwiLCBcIiQudHN4XCIpXVxuaWYgKGV4aXN0c1N5bmMoam9pbihvdmVycmlkZXNSb290LCBcInJvdXRlc1wiKSkpIHtcbiAgLy8gcGh5c2ljYWwoZGlyKSByZXNvbHZlcyBgZGlyYCByZWxhdGl2ZSB0byB0aGUgcm91dGVzIGRpcmVjdG9yeVxuICAvLyAoYHNyY0RpcmVjdG9yeS9yb3V0ZXNgKS4gQSBoYXJkY29kZWQgXCIuLi8uLi8ubGl2ZW1hcmsvcm91dGVzXCIgb25seVxuICAvLyB3b3JrcyB3aGVuIHNvdXJjZS8gc2l0cyBvbmUgbGV2ZWwgdW5kZXIgY29uZmlnLnJvb3Qg4oCUIGl0IGxhbmRzIGF0XG4gIC8vIG5vZGVfbW9kdWxlcy8ubGl2ZW1hcmsvcm91dGVzIG9uY2UgbGl2ZW1hcmsgaXMgaW5zdGFsbGVkLiBDb21wdXRlXG4gIC8vIHRoZSBwYXRoIGR5bmFtaWNhbGx5IGZyb20gdGhlIGNvbnN1bWVyJ3MgYWN0dWFsIGxheW91dC5cbiAgY29uc3Qgcm91dGVzRGlyID0gam9pbihzb3VyY2VEaXIsIFwicm91dGVzXCIpXG4gIHJvdXRlQ2hpbGRyZW4ucHVzaChcbiAgICBwaHlzaWNhbChyZWxhdGl2ZShyb3V0ZXNEaXIsIGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJyb3V0ZXNcIikpKSxcbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICByb290OiBjb25maWcucm9vdCxcbiAgcHVibGljRGlyOiBqb2luKGNvbmZpZy5yb290LCBcIi5saXZlbWFya1wiLCBcInB1YmxpY1wiKSxcbiAgYnVpbGQ6IHsgb3V0RGlyOiBcIi5saXZlbWFyay9idWlsZFwiIH0sXG4gIGRlZmluZToge1xuICAgIFwiaW1wb3J0Lm1ldGEuZW52LkNPTkZJR1wiOiBKU09OLnN0cmluZ2lmeShXZWJzaXRlQ29uZmlnLnBhcnNlKGNvbmZpZykpLFxuICB9LFxuICAvLyBwZWVyRGVwZW5kZW5jaWVzIGd1YXJhbnRlZSBvbmUgY2Fub25pY2FsIHJlYWN0L3JlYWN0LWRvbSBpbiB0aGUgcG5wbVxuICAvLyBzdG9yZS4gZGVkdXBlIGNvbGxhcHNlcyBhbnkgdHJhbnNpdGl2ZSByZXNvbHV0aW9ucyB0byB0aGF0IGNvcHkuXG4gIHJlc29sdmU6IHtcbiAgICBkZWR1cGU6IFtcInJlYWN0XCIsIFwicmVhY3QtZG9tXCJdLFxuICB9LFxuICBwbHVnaW5zOiBbXG4gICAgbGl2ZW1hcmsoe1xuICAgICAgZGVmYXVsdHNSb290OiBzb3VyY2VEaXIsXG4gICAgICBvdmVycmlkZXNSb290LFxuICAgICAgc3ViZGlyczogWy4uLk9WRVJSSURFX1NVQkRJUlNdLFxuICAgICAgY29uZmlnUGF0aDogY29uZmlnLmNvbmZpZ1BhdGgsXG4gICAgfSksXG4gICAgZGV2dG9vbHMoKSxcbiAgICB0YWlsd2luZCgpLFxuICAgIGNvbnRlbnRDb2xsZWN0aW9ucyh7XG4gICAgICBjb25maWdQYXRoOiBqb2luKHNvdXJjZVJlbGF0aXZlLCBcImNvbnRlbnQtY29sbGVjdGlvbnMudHNcIiksXG4gICAgfSksXG4gICAgdGFuc3RhY2tTdGFydCh7XG4gICAgICBzcmNEaXJlY3Rvcnk6IHNvdXJjZVJlbGF0aXZlLFxuICAgICAgcGFnZXM6IFt7IHBhdGg6IFwiL1wiIH1dLFxuICAgICAgcHJlcmVuZGVyOiB7IGVuYWJsZWQ6IHRydWUsIGNyYXdsTGlua3M6IHRydWUgfSxcbiAgICAgIHNpdGVtYXA6IGNvbmZpZy5zaXRlXG4gICAgICAgID8geyBlbmFibGVkOiB0cnVlLCBob3N0OiBjb25maWcuc2l0ZSB9XG4gICAgICAgIDogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgICAgcm91dGVyOiB7XG4gICAgICAgIHZpcnR1YWxSb3V0ZUNvbmZpZzogcm9vdFJvdXRlKFwiX19yb290LnRzeFwiLCByb3V0ZUNoaWxkcmVuKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVhY3QoKSxcbiAgICBzdmdyKCksXG4gIF0sXG59KVxuIl19
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes