@rocket/js 0.0.0 → 0.1.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 (340) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -2
  3. package/dist-types/exports/MainMenu.d.ts +2 -0
  4. package/dist-types/exports/MainMenu.d.ts.map +1 -0
  5. package/dist-types/exports/PageData.d.ts +2 -0
  6. package/dist-types/exports/PageData.d.ts.map +1 -0
  7. package/dist-types/exports/RocketCodeBlock.d.ts +2 -0
  8. package/dist-types/exports/RocketCodeBlock.d.ts.map +1 -0
  9. package/dist-types/exports/RocketIcon.d.ts +2 -0
  10. package/dist-types/exports/RocketIcon.d.ts.map +1 -0
  11. package/dist-types/exports/RocketJsDemo.d.ts +2 -0
  12. package/dist-types/exports/RocketJsDemo.d.ts.map +1 -0
  13. package/dist-types/exports/RocketRequestDemo.d.ts +2 -0
  14. package/dist-types/exports/RocketRequestDemo.d.ts.map +1 -0
  15. package/dist-types/exports/SocialPreviewPlayground.d.ts +2 -0
  16. package/dist-types/exports/SocialPreviewPlayground.d.ts.map +1 -0
  17. package/dist-types/exports/adapters/netlify.d.ts +2 -0
  18. package/dist-types/exports/adapters/netlify.d.ts.map +1 -0
  19. package/dist-types/exports/asyncMessage.d.ts +2 -0
  20. package/dist-types/exports/asyncMessage.d.ts.map +1 -0
  21. package/dist-types/exports/component-hydration.d.ts +2 -0
  22. package/dist-types/exports/component-hydration.d.ts.map +1 -0
  23. package/dist-types/exports/components/web-awesome.d.ts +3 -0
  24. package/dist-types/exports/components/web-awesome.d.ts.map +1 -0
  25. package/dist-types/exports/components.d.ts +2 -0
  26. package/dist-types/exports/components.d.ts.map +1 -0
  27. package/dist-types/exports/config.d.ts +2 -0
  28. package/dist-types/exports/config.d.ts.map +1 -0
  29. package/dist-types/exports/debounce.d.ts +2 -0
  30. package/dist-types/exports/debounce.d.ts.map +1 -0
  31. package/dist-types/exports/define/RocketCodeBlock.d.ts +2 -0
  32. package/dist-types/exports/define/RocketCodeBlock.d.ts.map +1 -0
  33. package/dist-types/exports/define/RocketIcon.d.ts +2 -0
  34. package/dist-types/exports/define/RocketIcon.d.ts.map +1 -0
  35. package/dist-types/exports/define/RocketJsDemo.d.ts +2 -0
  36. package/dist-types/exports/define/RocketJsDemo.d.ts.map +1 -0
  37. package/dist-types/exports/define/RocketRequestDemo.d.ts +2 -0
  38. package/dist-types/exports/define/RocketRequestDemo.d.ts.map +1 -0
  39. package/dist-types/exports/define/menus.d.ts +2 -0
  40. package/dist-types/exports/define/menus.d.ts.map +1 -0
  41. package/dist-types/exports/extractCode.d.ts +2 -0
  42. package/dist-types/exports/extractCode.d.ts.map +1 -0
  43. package/dist-types/exports/globalData.d.ts +2 -0
  44. package/dist-types/exports/globalData.d.ts.map +1 -0
  45. package/dist-types/exports/hydration/hydrationLoader.d.ts +2 -0
  46. package/dist-types/exports/hydration/hydrationLoader.d.ts.map +1 -0
  47. package/dist-types/exports/icons.d.ts +2 -0
  48. package/dist-types/exports/icons.d.ts.map +1 -0
  49. package/dist-types/exports/layout-helper.d.ts +2 -0
  50. package/dist-types/exports/layout-helper.d.ts.map +1 -0
  51. package/dist-types/exports/layout.d.ts +2 -0
  52. package/dist-types/exports/layout.d.ts.map +1 -0
  53. package/dist-types/exports/layouts/atlasDoc.d.ts +2 -0
  54. package/dist-types/exports/layouts/atlasDoc.d.ts.map +1 -0
  55. package/dist-types/exports/layouts/atlasHero.d.ts +2 -0
  56. package/dist-types/exports/layouts/atlasHero.d.ts.map +1 -0
  57. package/dist-types/exports/layouts/atlasNotFound.d.ts +2 -0
  58. package/dist-types/exports/layouts/atlasNotFound.d.ts.map +1 -0
  59. package/dist-types/exports/loaded-page-module.d.ts +2 -0
  60. package/dist-types/exports/loaded-page-module.d.ts.map +1 -0
  61. package/dist-types/exports/markdownHook.d.ts +2 -0
  62. package/dist-types/exports/markdownHook.d.ts.map +1 -0
  63. package/dist-types/exports/menu.d.ts +2 -0
  64. package/dist-types/exports/menu.d.ts.map +1 -0
  65. package/dist-types/exports/menus.d.ts +6 -0
  66. package/dist-types/exports/menus.d.ts.map +1 -0
  67. package/dist-types/exports/page-runtime.d.ts +2 -0
  68. package/dist-types/exports/page-runtime.d.ts.map +1 -0
  69. package/dist-types/exports/pages.d.ts +2 -0
  70. package/dist-types/exports/pages.d.ts.map +1 -0
  71. package/dist-types/exports/resolve.d.ts +2 -0
  72. package/dist-types/exports/resolve.d.ts.map +1 -0
  73. package/dist-types/exports/ssr.d.ts +2 -0
  74. package/dist-types/exports/ssr.d.ts.map +1 -0
  75. package/dist-types/exports/standalone-demo-url.d.ts +2 -0
  76. package/dist-types/exports/standalone-demo-url.d.ts.map +1 -0
  77. package/dist-types/exports/transform.d.ts +2 -0
  78. package/dist-types/exports/transform.d.ts.map +1 -0
  79. package/dist-types/exports/types/hydration.d.ts +23 -0
  80. package/dist-types/exports/types/hydration.d.ts.map +1 -0
  81. package/dist-types/exports/types/rocket.d.ts +504 -0
  82. package/dist-types/exports/types/rocket.d.ts.map +1 -0
  83. package/dist-types/exports/types.d.ts +3 -0
  84. package/dist-types/exports/types.d.ts.map +1 -0
  85. package/dist-types/exports/wds-plugin.d.ts +2 -0
  86. package/dist-types/exports/wds-plugin.d.ts.map +1 -0
  87. package/dist-types/src/PageData.d.ts +82 -0
  88. package/dist-types/src/PageData.d.ts.map +1 -0
  89. package/dist-types/src/RocketCodeBlock.d.ts +64 -0
  90. package/dist-types/src/RocketCodeBlock.d.ts.map +1 -0
  91. package/dist-types/src/RocketIcon.d.ts +35 -0
  92. package/dist-types/src/RocketIcon.d.ts.map +1 -0
  93. package/dist-types/src/RocketJsDemo.d.ts +59 -0
  94. package/dist-types/src/RocketJsDemo.d.ts.map +1 -0
  95. package/dist-types/src/RocketJsDemo.test-browser.d.ts +3 -0
  96. package/dist-types/src/RocketJsDemo.test-browser.d.ts.map +1 -0
  97. package/dist-types/src/RocketRequestDemo.d.ts +57 -0
  98. package/dist-types/src/RocketRequestDemo.d.ts.map +1 -0
  99. package/dist-types/src/RocketRequestDemo.test-browser.d.ts +3 -0
  100. package/dist-types/src/RocketRequestDemo.test-browser.d.ts.map +1 -0
  101. package/dist-types/src/SocialPreviewPlayground.d.ts +102 -0
  102. package/dist-types/src/SocialPreviewPlayground.d.ts.map +1 -0
  103. package/dist-types/src/adapters/netlify.d.ts +54 -0
  104. package/dist-types/src/adapters/netlify.d.ts.map +1 -0
  105. package/dist-types/src/asyncMessage.d.ts +14 -0
  106. package/dist-types/src/asyncMessage.d.ts.map +1 -0
  107. package/dist-types/src/cli/RocketBuild.d.ts +78 -0
  108. package/dist-types/src/cli/RocketBuild.d.ts.map +1 -0
  109. package/dist-types/src/cli/RocketCli.d.ts +17 -0
  110. package/dist-types/src/cli/RocketCli.d.ts.map +1 -0
  111. package/dist-types/src/cli/RocketInit.d.ts +22 -0
  112. package/dist-types/src/cli/RocketInit.d.ts.map +1 -0
  113. package/dist-types/src/cli/RocketStart.d.ts +13 -0
  114. package/dist-types/src/cli/RocketStart.d.ts.map +1 -0
  115. package/dist-types/src/cli/cli.d.ts +3 -0
  116. package/dist-types/src/cli/cli.d.ts.map +1 -0
  117. package/dist-types/src/component-hydration.d.ts +26 -0
  118. package/dist-types/src/component-hydration.d.ts.map +1 -0
  119. package/dist-types/src/components/FeatureList.d.ts +15 -0
  120. package/dist-types/src/components/FeatureList.d.ts.map +1 -0
  121. package/dist-types/src/components/Footer.d.ts +17 -0
  122. package/dist-types/src/components/Footer.d.ts.map +1 -0
  123. package/dist-types/src/components/Header.d.ts +6 -0
  124. package/dist-types/src/components/Header.d.ts.map +1 -0
  125. package/dist-types/src/components/RocketDrawer.d.ts +20 -0
  126. package/dist-types/src/components/RocketDrawer.d.ts.map +1 -0
  127. package/dist-types/src/components/RocketSocialLink.d.ts +30 -0
  128. package/dist-types/src/components/RocketSocialLink.d.ts.map +1 -0
  129. package/dist-types/src/components.d.ts +5 -0
  130. package/dist-types/src/components.d.ts.map +1 -0
  131. package/dist-types/src/config.d.ts +6 -0
  132. package/dist-types/src/config.d.ts.map +1 -0
  133. package/dist-types/src/debounce.d.ts +8 -0
  134. package/dist-types/src/debounce.d.ts.map +1 -0
  135. package/dist-types/src/defaultSocialPreviewTemplate.d.ts +31 -0
  136. package/dist-types/src/defaultSocialPreviewTemplate.d.ts.map +1 -0
  137. package/dist-types/src/development-page-module-loader.d.ts +15 -0
  138. package/dist-types/src/development-page-module-loader.d.ts.map +1 -0
  139. package/dist-types/src/extractCode.d.ts +5 -0
  140. package/dist-types/src/extractCode.d.ts.map +1 -0
  141. package/dist-types/src/hydration/evaluate.d.ts +20 -0
  142. package/dist-types/src/hydration/evaluate.d.ts.map +1 -0
  143. package/dist-types/src/hydration/extractStrategies.d.ts +5 -0
  144. package/dist-types/src/hydration/extractStrategies.d.ts.map +1 -0
  145. package/dist-types/src/hydration/hydrationLoader.d.ts +64 -0
  146. package/dist-types/src/hydration/hydrationLoader.d.ts.map +1 -0
  147. package/dist-types/src/icons.d.ts +170 -0
  148. package/dist-types/src/icons.d.ts.map +1 -0
  149. package/dist-types/src/layouts/atlas/atlasDocLayout.d.ts +45 -0
  150. package/dist-types/src/layouts/atlas/atlasDocLayout.d.ts.map +1 -0
  151. package/dist-types/src/layouts/atlas/atlasHeroLayout.d.ts +7 -0
  152. package/dist-types/src/layouts/atlas/atlasHeroLayout.d.ts.map +1 -0
  153. package/dist-types/src/layouts/atlas/atlasNotFoundLayout.d.ts +5 -0
  154. package/dist-types/src/layouts/atlas/atlasNotFoundLayout.d.ts.map +1 -0
  155. package/dist-types/src/layouts/layout-helper.d.ts +16 -0
  156. package/dist-types/src/layouts/layout-helper.d.ts.map +1 -0
  157. package/dist-types/src/layouts/layout.d.ts +9 -0
  158. package/dist-types/src/layouts/layout.d.ts.map +1 -0
  159. package/dist-types/src/loaded-page-module.d.ts +51 -0
  160. package/dist-types/src/loaded-page-module.d.ts.map +1 -0
  161. package/dist-types/src/main.d.ts +2 -0
  162. package/dist-types/src/main.d.ts.map +1 -0
  163. package/dist-types/src/markdownCompiler.d.ts +22 -0
  164. package/dist-types/src/markdownCompiler.d.ts.map +1 -0
  165. package/dist-types/src/markdownHook.d.ts +6 -0
  166. package/dist-types/src/markdownHook.d.ts.map +1 -0
  167. package/dist-types/src/menu.d.ts +22 -0
  168. package/dist-types/src/menu.d.ts.map +1 -0
  169. package/dist-types/src/menus/MainMenu.d.ts +23 -0
  170. package/dist-types/src/menus/MainMenu.d.ts.map +1 -0
  171. package/dist-types/src/menus/RocketMenu.d.ts +23 -0
  172. package/dist-types/src/menus/RocketMenu.d.ts.map +1 -0
  173. package/dist-types/src/menus/RocketNextPage.d.ts +18 -0
  174. package/dist-types/src/menus/RocketNextPage.d.ts.map +1 -0
  175. package/dist-types/src/menus/RocketPreviousPage.d.ts +18 -0
  176. package/dist-types/src/menus/RocketPreviousPage.d.ts.map +1 -0
  177. package/dist-types/src/menus/RocketToc.d.ts +54 -0
  178. package/dist-types/src/menus/RocketToc.d.ts.map +1 -0
  179. package/dist-types/src/menus/pageNavigation.d.ts +41 -0
  180. package/dist-types/src/menus/pageNavigation.d.ts.map +1 -0
  181. package/dist-types/src/page-pagination.d.ts +69 -0
  182. package/dist-types/src/page-pagination.d.ts.map +1 -0
  183. package/dist-types/src/page-runtime.d.ts +110 -0
  184. package/dist-types/src/page-runtime.d.ts.map +1 -0
  185. package/dist-types/src/pages.d.ts +10 -0
  186. package/dist-types/src/pages.d.ts.map +1 -0
  187. package/dist-types/src/publicAssets.d.ts +70 -0
  188. package/dist-types/src/publicAssets.d.ts.map +1 -0
  189. package/dist-types/src/requestDemoMetadata.d.ts +19 -0
  190. package/dist-types/src/requestDemoMetadata.d.ts.map +1 -0
  191. package/dist-types/src/resolve.d.ts +7 -0
  192. package/dist-types/src/resolve.d.ts.map +1 -0
  193. package/dist-types/src/siteDiscoverability.d.ts +33 -0
  194. package/dist-types/src/siteDiscoverability.d.ts.map +1 -0
  195. package/dist-types/src/siteHeadMetadata.d.ts +20 -0
  196. package/dist-types/src/siteHeadMetadata.d.ts.map +1 -0
  197. package/dist-types/src/socialPreviewImages.d.ts +186 -0
  198. package/dist-types/src/socialPreviewImages.d.ts.map +1 -0
  199. package/dist-types/src/socialPreviewTemplatePreview.d.ts +22 -0
  200. package/dist-types/src/socialPreviewTemplatePreview.d.ts.map +1 -0
  201. package/dist-types/src/ssr.d.ts +6 -0
  202. package/dist-types/src/ssr.d.ts.map +1 -0
  203. package/dist-types/src/standalone-demo-url.d.ts +60 -0
  204. package/dist-types/src/standalone-demo-url.d.ts.map +1 -0
  205. package/dist-types/src/static-page-module-loader.d.ts +15 -0
  206. package/dist-types/src/static-page-module-loader.d.ts.map +1 -0
  207. package/dist-types/src/transform.d.ts +10 -0
  208. package/dist-types/src/transform.d.ts.map +1 -0
  209. package/dist-types/src/urlLifecycle.d.ts +23 -0
  210. package/dist-types/src/urlLifecycle.d.ts.map +1 -0
  211. package/dist-types/src/wds-plugin.d.ts +14 -0
  212. package/dist-types/src/wds-plugin.d.ts.map +1 -0
  213. package/docs/assets/home-background.svg +1 -0
  214. package/docs/assets/prism-one-light.css +368 -0
  215. package/docs/assets/rocket-logo-dark-with-text-below.svg +8 -0
  216. package/docs/assets/rocket-logo-dark-with-text.svg +7 -0
  217. package/docs/assets/rocket-logo-dark.svg +7 -0
  218. package/docs/assets/rocket-logo-light-with-text-below.svg +14 -0
  219. package/docs/assets/rocket-logo-light-with-text.svg +13 -0
  220. package/docs/assets/rocket-logo-light.svg +12 -0
  221. package/docs/assets/rocket-text-no-logo.svg +3 -0
  222. package/exports/MainMenu.js +1 -0
  223. package/exports/PageData.js +1 -0
  224. package/exports/RocketCodeBlock.js +1 -0
  225. package/exports/RocketIcon.js +1 -0
  226. package/exports/RocketJsDemo.js +1 -0
  227. package/exports/RocketRequestDemo.js +1 -0
  228. package/exports/SocialPreviewPlayground.js +1 -0
  229. package/exports/adapters/netlify.js +1 -0
  230. package/exports/asyncMessage.js +1 -0
  231. package/exports/component-hydration.js +1 -0
  232. package/exports/components/web-awesome.js +63 -0
  233. package/exports/components.js +1 -0
  234. package/exports/config.js +1 -0
  235. package/exports/debounce.js +1 -0
  236. package/exports/define/RocketCodeBlock.js +2 -0
  237. package/exports/define/RocketIcon.js +3 -0
  238. package/exports/define/RocketJsDemo.js +5 -0
  239. package/exports/define/RocketRequestDemo.js +5 -0
  240. package/exports/define/menus.js +14 -0
  241. package/exports/extractCode.js +1 -0
  242. package/exports/globalData.js +1 -0
  243. package/exports/hydration/hydrationLoader.js +1 -0
  244. package/exports/icons.js +8 -0
  245. package/exports/layout-helper.js +1 -0
  246. package/exports/layout.js +1 -0
  247. package/exports/layouts/_atlas.css +3 -0
  248. package/exports/layouts/atlasDoc.js +5 -0
  249. package/exports/layouts/atlasHero.js +1 -0
  250. package/exports/layouts/atlasNotFound.js +4 -0
  251. package/exports/loaded-page-module.js +5 -0
  252. package/exports/markdownHook.js +4 -0
  253. package/exports/menu.js +4 -0
  254. package/exports/menus.js +5 -0
  255. package/exports/page-runtime.js +5 -0
  256. package/exports/pages.js +1 -0
  257. package/exports/resolve.js +1 -0
  258. package/exports/ssr.js +1 -0
  259. package/exports/standalone-demo-url.js +10 -0
  260. package/exports/transform.js +1 -0
  261. package/exports/types/hydration.ts +26 -0
  262. package/exports/types/rocket.ts +598 -0
  263. package/exports/types.ts +71 -0
  264. package/exports/wds-plugin.js +1 -0
  265. package/package.json +192 -9
  266. package/src/PageData.js +244 -0
  267. package/src/RocketCodeBlock.js +516 -0
  268. package/src/RocketIcon.js +291 -0
  269. package/src/RocketJsDemo.js +397 -0
  270. package/src/RocketJsDemo.test-browser.js +228 -0
  271. package/src/RocketRequestDemo.js +439 -0
  272. package/src/RocketRequestDemo.test-browser.js +301 -0
  273. package/src/SocialPreviewPlayground.js +573 -0
  274. package/src/adapters/netlify.js +814 -0
  275. package/src/asyncMessage.js +21 -0
  276. package/src/cli/RocketBuild.js +545 -0
  277. package/src/cli/RocketCli.js +47 -0
  278. package/src/cli/RocketInit.js +323 -0
  279. package/src/cli/RocketStart.js +79 -0
  280. package/src/cli/cli.js +7 -0
  281. package/src/component-hydration.js +86 -0
  282. package/src/components/FeatureList.js +114 -0
  283. package/src/components/Footer.js +116 -0
  284. package/src/components/Header.js +122 -0
  285. package/src/components/RocketDrawer.js +193 -0
  286. package/src/components/RocketSocialLink.js +128 -0
  287. package/src/components/assets/discord.svg +7 -0
  288. package/src/components/assets/github.svg +4 -0
  289. package/src/components/assets/gitlab.svg +1 -0
  290. package/src/components/assets/info.txt +1 -0
  291. package/src/components/assets/license.svg +3 -0
  292. package/src/components/assets/npm.svg +5 -0
  293. package/src/components/assets/slack.svg +5 -0
  294. package/src/components/assets/telegram.svg +4 -0
  295. package/src/components/assets/twitter.svg +1 -0
  296. package/src/components.js +15 -0
  297. package/src/config.js +319 -0
  298. package/src/debounce.js +21 -0
  299. package/src/defaultSocialPreviewTemplate.js +118 -0
  300. package/src/development-page-module-loader.js +29 -0
  301. package/src/extractCode.js +41 -0
  302. package/src/hydration/evaluate.js +54 -0
  303. package/src/hydration/extractStrategies.js +91 -0
  304. package/src/hydration/hydrationLoader.js +330 -0
  305. package/src/icons.js +883 -0
  306. package/src/layouts/atlas/atlasDoc.css +877 -0
  307. package/src/layouts/atlas/atlasDocLayout.js +288 -0
  308. package/src/layouts/atlas/atlasHero.css +774 -0
  309. package/src/layouts/atlas/atlasHeroLayout.js +346 -0
  310. package/src/layouts/atlas/atlasNotFound.css +365 -0
  311. package/src/layouts/atlas/atlasNotFoundLayout.js +69 -0
  312. package/src/layouts/layout-helper.js +92 -0
  313. package/src/layouts/layout.js +62 -0
  314. package/src/loaded-page-module.js +97 -0
  315. package/src/main.js +55 -0
  316. package/src/markdownCompiler.js +303 -0
  317. package/src/markdownHook.js +148 -0
  318. package/src/menu.js +210 -0
  319. package/src/menus/MainMenu.js +58 -0
  320. package/src/menus/RocketMenu.js +191 -0
  321. package/src/menus/RocketNextPage.js +25 -0
  322. package/src/menus/RocketPreviousPage.js +29 -0
  323. package/src/menus/RocketToc.js +309 -0
  324. package/src/menus/pageNavigation.js +285 -0
  325. package/src/page-pagination.js +241 -0
  326. package/src/page-runtime.js +481 -0
  327. package/src/pages.js +537 -0
  328. package/src/publicAssets.js +336 -0
  329. package/src/requestDemoMetadata.js +97 -0
  330. package/src/resolve.js +15 -0
  331. package/src/siteDiscoverability.js +184 -0
  332. package/src/siteHeadMetadata.js +69 -0
  333. package/src/socialPreviewImages.js +482 -0
  334. package/src/socialPreviewTemplatePreview.js +352 -0
  335. package/src/ssr.js +14 -0
  336. package/src/standalone-demo-url.js +134 -0
  337. package/src/static-page-module-loader.js +29 -0
  338. package/src/transform.js +633 -0
  339. package/src/urlLifecycle.js +57 -0
  340. package/src/wds-plugin.js +302 -0
@@ -0,0 +1,71 @@
1
+ export type {
2
+ AtlasDocAsideTip,
3
+ Components,
4
+ DocData,
5
+ Feature,
6
+ FooterLink,
7
+ FooterSection,
8
+ HomeBadge,
9
+ HomeCard,
10
+ HomeNavLink,
11
+ HeaderData,
12
+ Headline,
13
+ HeadlineTree,
14
+ HeroData,
15
+ HeroMainData,
16
+ IconReferenceConfig,
17
+ IconLibrariesConfig,
18
+ IconLibraryConfig,
19
+ IconLibrarySource,
20
+ JavaScriptPageResult,
21
+ JsPage,
22
+ JsPageContext,
23
+ Layout,
24
+ Module,
25
+ NormalizedIconLibraryConfig,
26
+ Page,
27
+ PageCollectionEntry,
28
+ PageDiscoverabilityConfig,
29
+ PageConfig,
30
+ PageMetadata,
31
+ PageMetadataConfig,
32
+ PageMetadataCustom,
33
+ PageMetadataCustomValue,
34
+ PagePagination,
35
+ PagePaginationConfig,
36
+ PagePaginationDeclaration,
37
+ PageRegistry,
38
+ PageRegistryQuery,
39
+ PageRegistryQueryOptions,
40
+ PageRegistrySortDirection,
41
+ PageTree,
42
+ PackageIconLibrarySource,
43
+ PathIconLibrarySource,
44
+ QuickStartData,
45
+ ResolvedRocketConfig,
46
+ RocketAdapter,
47
+ RocketAdapterBuildContext,
48
+ RocketConfig,
49
+ RedirectConfig,
50
+ RedirectStatus,
51
+ SiteDiscoverabilityConfig,
52
+ SiteHeadMetadata,
53
+ SiteHeadMetadataConfig,
54
+ SiteHeadMetadataIconsConfig,
55
+ SiteHeadMetadataIndexing,
56
+ SiteHeadMetadataSocialPreview,
57
+ TableOfContents,
58
+ PageSiteHeadMetadataConfig,
59
+ PageSiteHeadMetadataSocialPreviewConfig,
60
+ UrlLifecycleConfig,
61
+ SocialPreviewTemplateData,
62
+ WorkflowData,
63
+ WorkflowStep,
64
+ } from './types/rocket.js';
65
+
66
+ export type {
67
+ ComponentImports,
68
+ ElementWithStrategy,
69
+ LoadingStrategy,
70
+ Strategy,
71
+ } from './types/hydration.js';
@@ -0,0 +1 @@
1
+ export { default } from '../src/wds-plugin.js';
package/package.json CHANGED
@@ -1,18 +1,201 @@
1
1
  {
2
2
  "name": "@rocket/js",
3
- "version": "0.0.0",
4
- "description": "Bootstrap placeholder for Rocket trusted publishing setup.",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "keywords": [],
10
- "author": "",
3
+ "version": "0.1.0",
4
+ "description": "HTML-first static-site metaframework for content sites and Web Component docs.",
11
5
  "license": "MIT",
12
6
  "type": "module",
7
+ "keywords": [
8
+ "static-site-generator",
9
+ "web-components",
10
+ "markdown",
11
+ "html-first",
12
+ "docs"
13
+ ],
14
+ "exports": {
15
+ "./*": {
16
+ "types": "./dist-types/exports/*",
17
+ "default": "./exports/*"
18
+ },
19
+ "./layouts/atlasDoc.css": "./src/layouts/atlas/atlasDoc.css",
20
+ "./layouts/atlasHero.css": "./src/layouts/atlas/atlasHero.css",
21
+ "./layouts/atlasNotFound.css": "./src/layouts/atlas/atlasNotFound.css",
22
+ "./docs/assets/*": "./docs/assets/*"
23
+ },
24
+ "files": [
25
+ "exports/",
26
+ "src/**/*.js",
27
+ "src/**/*.css",
28
+ "src/**/*.svg",
29
+ "src/**/*.txt",
30
+ "dist-types/**/*.d.ts",
31
+ "dist-types/**/*.d.ts.map",
32
+ "docs/assets/",
33
+ "!src/**/*.test.js",
34
+ "!dist-types/docs/**",
35
+ "!dist-types/**/*.test.d.ts",
36
+ "!dist-types/**/*.test.d.ts.map"
37
+ ],
13
38
  "repository": {
14
39
  "type": "git",
15
40
  "url": "git+https://github.com/modernweb-dev/rocket.git"
16
41
  },
17
- "homepage": "https://rocket.modern-web.dev"
42
+ "homepage": "https://rocket.modern-web.dev",
43
+ "bugs": {
44
+ "url": "https://github.com/modernweb-dev/rocket/issues"
45
+ },
46
+ "funding": {
47
+ "url": "https://opencollective.com/modern-web"
48
+ },
49
+ "scripts": {
50
+ "start": "npx rocket start",
51
+ "build": "npx rocket build",
52
+ "build:start": "npx http-server dist -o",
53
+ "ai:do": "node scripts/codex-issue-loop.js",
54
+ "ai:do:loop": "node scripts/codex-issue-loop.js --max 6",
55
+ "ai:check": "node scripts/codex-issue-loop.js --dry-run",
56
+ "lint": "eslint . --ignore-pattern .gitignore && prettier \"**/*.{ts,js,json,md}\" --check --ignore-path .gitignore --ignore-path .prettierignore",
57
+ "format": "eslint . --ignore-pattern .gitignore --fix && prettier \"**/*.{ts,js,json,md}\" --write --ignore-path .gitignore --ignore-path .prettierignore",
58
+ "types": "wireit",
59
+ "test": "wireit",
60
+ "test:browser": "wireit",
61
+ "test:node": "wireit",
62
+ "deploy": "wireit",
63
+ "netlify:link": "wireit",
64
+ "changeset": "changeset",
65
+ "prepack": "npm run types",
66
+ "release": "changeset publish"
67
+ },
68
+ "eslintConfig": {
69
+ "overrides": [
70
+ {
71
+ "files": [
72
+ "*.demo.js"
73
+ ],
74
+ "rules": {
75
+ "no-console": "off"
76
+ }
77
+ }
78
+ ]
79
+ },
80
+ "bin": {
81
+ "rocket": "src/cli/cli.js"
82
+ },
83
+ "dependencies": {
84
+ "@awesome.me/webawesome": "^3.7.0",
85
+ "@lit-labs/ssr": "^4.1.0",
86
+ "@sparticuz/chromium": "^148.0.0",
87
+ "@web/dev-server": "^0.4.6",
88
+ "bootstrap-icons": "^1.13.1",
89
+ "commander": "14.0.3",
90
+ "es-module-lexer": "^2.1.0",
91
+ "lit": "^3.3.3",
92
+ "parse5": "^7.3.0",
93
+ "puppeteer-core": "^25.1.0",
94
+ "rehype-autolink-headings": "^7.1.0",
95
+ "rehype-prism-plus": "^2.0.2",
96
+ "rehype-raw": "^7.0.0",
97
+ "rehype-slug": "^6.0.0",
98
+ "rehype-stringify": "^10.0.1",
99
+ "remark-gfm": "^4.0.1",
100
+ "remark-rehype": "^11.1.2",
101
+ "typescript": "6.0.3",
102
+ "unified": "^11.0.5",
103
+ "unist-util-inspect": "8.1.0",
104
+ "unist-util-remove": "^4.0.0",
105
+ "unist-util-visit": "^5.1.0",
106
+ "urlpattern-polyfill": "10.1.0",
107
+ "vite": "^8.0.14"
108
+ },
109
+ "devDependencies": {
110
+ "@changesets/cli": "^2.31.0",
111
+ "@eslint/eslintrc": "^3.3.5",
112
+ "@eslint/js": "^10.0.1",
113
+ "@netlify/functions": "^5.2.2",
114
+ "@open-wc/testing": "^4.0.0",
115
+ "@types/hast": "^3.0.4",
116
+ "@types/mdast": "4.0.4",
117
+ "@types/node": "^24.12.4",
118
+ "@typescript-eslint/eslint-plugin": "^8.59.4",
119
+ "@typescript-eslint/parser": "^8.59.4",
120
+ "@web/mocks": "^2.0.0",
121
+ "@web/test-runner": "^0.20.2",
122
+ "@web/test-runner-playwright": "^0.11.1",
123
+ "dotenv": "^17.4.2",
124
+ "eslint": "^10.4.0",
125
+ "eslint-config-prettier": "^10.1.8",
126
+ "eslint-plugin-no-only-tests": "^3.4.0",
127
+ "globals": "^17.6.0",
128
+ "netlify-cli": "^26.0.2",
129
+ "patch-package": "^8.0.1",
130
+ "prettier": "^3.8.3",
131
+ "prettier-plugin-packagejson": "^3.0.2",
132
+ "typescript": "6.0.3",
133
+ "typescript-eslint": "^8.59.4",
134
+ "vfile": "6.0.3",
135
+ "wireit": "^0.14.12"
136
+ },
137
+ "engines": {
138
+ "node": ">=22"
139
+ },
140
+ "prettier": {
141
+ "arrowParens": "avoid",
142
+ "printWidth": 100,
143
+ "singleQuote": true,
144
+ "trailingComma": "all"
145
+ },
146
+ "wireit": {
147
+ "deploy": {
148
+ "command": "rm -f ../../node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node && netlify deploy --prod --site 2439aca3-b7d1-495c-bb8a-478ce089b666 --no-build",
149
+ "files": [
150
+ "dist/**/*"
151
+ ],
152
+ "dependencies": [
153
+ "netlify:link",
154
+ "build"
155
+ ],
156
+ "output": []
157
+ },
158
+ "types": {
159
+ "command": "tsc --build --pretty",
160
+ "files": [
161
+ "src/**/*",
162
+ "types/**/*",
163
+ "tsconfig.json"
164
+ ],
165
+ "output": [
166
+ "dist-types/**"
167
+ ]
168
+ },
169
+ "test": {
170
+ "dependencies": [
171
+ "test:browser",
172
+ "test:node"
173
+ ]
174
+ },
175
+ "test:browser": {
176
+ "command": "web-test-runner",
177
+ "files": [
178
+ "exports/**/*",
179
+ "src/**/*",
180
+ "!src/**/*.test.js"
181
+ ],
182
+ "output": []
183
+ },
184
+ "test:node": {
185
+ "command": "node --test",
186
+ "files": [
187
+ "exports/**/*",
188
+ "src/**/*",
189
+ "!src/**/*.test-browser.js"
190
+ ],
191
+ "output": []
192
+ },
193
+ "netlify:link": {
194
+ "command": "netlify link --id 2439aca3-b7d1-495c-bb8a-478ce089b666",
195
+ "files": [],
196
+ "output": [
197
+ "./.netlify/state.json"
198
+ ]
199
+ }
200
+ }
18
201
  }
@@ -0,0 +1,244 @@
1
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
2
+ import { treeFromPages } from './menu.js';
3
+ import { createSiteHeadMetadata } from './siteHeadMetadata.js';
4
+ import { normalizeIconLibrariesConfig, normalizeIconReferencesConfig } from './icons.js';
5
+
6
+ /** @typedef {import('@rocket/js/types.js').Page} Page */
7
+ /** @typedef {import('@rocket/js/types.js').PageCollectionEntry} PageCollectionEntry */
8
+ /** @typedef {import('@rocket/js/types.js').PageRegistry} PageRegistry */
9
+ /** @typedef {import('@rocket/js/types.js').PageRegistryQueryOptions} PageRegistryQueryOptions */
10
+
11
+ export class PageData {
12
+ /**
13
+ * @param {PageRegistry} pageRegistry
14
+ * @param {import('@rocket/js/types.js').PageMetadata | string} metadata
15
+ * @param {string} url
16
+ * @param {{
17
+ * siteHeadMetadata?: import('@rocket/js/types.js').SiteHeadMetadataConfig;
18
+ * pageSiteHeadMetadata?: import('@rocket/js/types.js').PageSiteHeadMetadataConfig;
19
+ * defaultSocialPreviewImage?: string;
20
+ * siteOrigin?: string;
21
+ * }} [options]
22
+ */
23
+ constructor(
24
+ pageRegistry,
25
+ metadata,
26
+ url,
27
+ { siteHeadMetadata, pageSiteHeadMetadata, defaultSocialPreviewImage, siteOrigin } = {},
28
+ ) {
29
+ const pageMetadata = typeof metadata === 'string' ? { title: metadata } : metadata;
30
+ this.pageRegistry = pageRegistry;
31
+ /** @type {import('@rocket/js/types.js').PageRegistryQuery} */
32
+ this.pages = new PageRegistryQuery(pageRegistry);
33
+ this.pageTree = treeFromPages(pageRegistry);
34
+ this._clientCode = '';
35
+ this._hydrationScript = '';
36
+ /** @type {boolean} */
37
+ this._hasBrowserLoadedComponents = false;
38
+ /** @type {Map<string, import('@rocket/js/types.js').NormalizedIconLibraryConfig>} */
39
+ this._iconLibraries = new Map();
40
+ /** @type {string | undefined} */
41
+ this._defaultIconLibrary = undefined;
42
+ /** @type {import('@rocket/js/types.js').IconReferenceConfig[]} */
43
+ this._iconReferences = [];
44
+ /** @type {import('@rocket/js/types.js').PageMetadata} */
45
+ this.metadata = pageMetadata;
46
+ /** @type {string | import('lit').TemplateResult} */
47
+ this.content = '';
48
+ this.url = url;
49
+ /** @type {import('@rocket/js/types.js').PagePagination | undefined} */
50
+ this.pagination = undefined;
51
+ /** @type {import('@rocket/js/types.js').TableOfContents} */
52
+ this.toc = { children: [] };
53
+ /** @type {import('@rocket/js/types.js').SiteHeadMetadata | undefined} */
54
+ this.siteHeadMetadata =
55
+ siteHeadMetadata && siteOrigin
56
+ ? createSiteHeadMetadata({
57
+ config: siteHeadMetadata,
58
+ pageMetadata,
59
+ pageSiteHeadMetadata,
60
+ defaultSocialPreviewImage,
61
+ pathname: url,
62
+ siteOrigin,
63
+ })
64
+ : undefined;
65
+ }
66
+
67
+ get title() {
68
+ return this.metadata.title;
69
+ }
70
+
71
+ /**
72
+ * @param {string} title
73
+ */
74
+ set title(title) {
75
+ this.metadata.title = title;
76
+ }
77
+
78
+ get clientCode() {
79
+ if (!this._clientCode && !this._hydrationScript) {
80
+ return '';
81
+ }
82
+ return unsafeHTML(
83
+ '<script type="module">' + this._clientCode + ';' + this._hydrationScript + '</script>',
84
+ );
85
+ }
86
+
87
+ /**
88
+ * @param {import('@rocket/js/types.js').IconLibrariesConfig} iconLibraries
89
+ * @param {{ defaultIconLibrary?: string }} [options]
90
+ */
91
+ addIconLibraries(iconLibraries, { defaultIconLibrary } = {}) {
92
+ const normalized = normalizeIconLibrariesConfig(iconLibraries, 'Layout Icon Libraries');
93
+ for (const [name, config] of normalized) {
94
+ if (this._iconLibraries.has(name)) {
95
+ throw new Error(`Layout Icon Library "${name}" is already configured.`);
96
+ }
97
+ this._iconLibraries.set(name, config);
98
+ }
99
+ if (defaultIconLibrary !== undefined) {
100
+ if (typeof defaultIconLibrary !== 'string' || defaultIconLibrary.trim() === '') {
101
+ throw new Error('Layout defaultIconLibrary must be a non-empty string.');
102
+ }
103
+ if (this._defaultIconLibrary && this._defaultIconLibrary !== defaultIconLibrary) {
104
+ throw new Error(
105
+ `Layout Default Icon Library is already "${this._defaultIconLibrary}" and cannot be changed to "${defaultIconLibrary}".`,
106
+ );
107
+ }
108
+ this._defaultIconLibrary = defaultIconLibrary;
109
+ }
110
+ }
111
+
112
+ /**
113
+ * @param {import('@rocket/js/types.js').IconReferenceConfig[]} iconReferences
114
+ */
115
+ addIconReferences(iconReferences) {
116
+ this._iconReferences.push(
117
+ ...normalizeIconReferencesConfig(iconReferences, 'PageData Icon References'),
118
+ );
119
+ }
120
+ }
121
+
122
+ export class PageRegistryQuery {
123
+ /**
124
+ * @param {PageRegistry} pageRegistry
125
+ */
126
+ constructor(pageRegistry) {
127
+ this.pageRegistry = pageRegistry;
128
+ }
129
+
130
+ /**
131
+ * @param {PageRegistryQueryOptions} [options]
132
+ * @returns {PageCollectionEntry[]}
133
+ */
134
+ query(options = {}) {
135
+ const tags = toList(options.tags);
136
+ const authors = toList(options.authors);
137
+ if (options.author) {
138
+ authors.push(options.author);
139
+ }
140
+
141
+ const entries = [];
142
+ for (const [path, page] of this.pageRegistry) {
143
+ const entry = pageCollectionEntry(path, page);
144
+ if (!matchesPathPrefix(entry, options.pathPrefix)) {
145
+ continue;
146
+ }
147
+ if (!matchesTags(entry, tags)) {
148
+ continue;
149
+ }
150
+ if (!matchesAuthors(entry, authors)) {
151
+ continue;
152
+ }
153
+ entries.push(entry);
154
+ }
155
+
156
+ if (options.sortBy === 'date') {
157
+ entries.sort((left, right) =>
158
+ compareByMetadataDate(left, right, options.sortDirection || 'asc'),
159
+ );
160
+ }
161
+
162
+ return entries;
163
+ }
164
+ }
165
+
166
+ /**
167
+ * @param {string} path
168
+ * @param {Page} page
169
+ * @returns {PageCollectionEntry}
170
+ */
171
+ function pageCollectionEntry(path, page) {
172
+ return {
173
+ path,
174
+ url: path,
175
+ metadata: page.metadata,
176
+ file: page.file,
177
+ page,
178
+ };
179
+ }
180
+
181
+ /**
182
+ * @param {PageCollectionEntry} entry
183
+ * @param {string | undefined} pathPrefix
184
+ */
185
+ function matchesPathPrefix(entry, pathPrefix) {
186
+ return pathPrefix ? entry.path.startsWith(pathPrefix) : true;
187
+ }
188
+
189
+ /**
190
+ * @param {PageCollectionEntry} entry
191
+ * @param {string[]} tags
192
+ */
193
+ function matchesTags(entry, tags) {
194
+ if (tags.length === 0) {
195
+ return true;
196
+ }
197
+ const pageTags = entry.metadata.tags || [];
198
+ return tags.every(tag => pageTags.includes(tag));
199
+ }
200
+
201
+ /**
202
+ * @param {PageCollectionEntry} entry
203
+ * @param {string[]} authors
204
+ */
205
+ function matchesAuthors(entry, authors) {
206
+ if (authors.length === 0) {
207
+ return true;
208
+ }
209
+ const pageAuthors = entry.metadata.authors || [];
210
+ return authors.every(author => pageAuthors.includes(author));
211
+ }
212
+
213
+ /**
214
+ * @param {PageCollectionEntry} left
215
+ * @param {PageCollectionEntry} right
216
+ * @param {'asc' | 'desc'} direction
217
+ */
218
+ function compareByMetadataDate(left, right, direction) {
219
+ const leftDate = left.metadata.date;
220
+ const rightDate = right.metadata.date;
221
+ if (!leftDate && !rightDate) {
222
+ return 0;
223
+ }
224
+ if (!leftDate) {
225
+ return 1;
226
+ }
227
+ if (!rightDate) {
228
+ return -1;
229
+ }
230
+ return direction === 'desc'
231
+ ? rightDate.localeCompare(leftDate)
232
+ : leftDate.localeCompare(rightDate);
233
+ }
234
+
235
+ /**
236
+ * @param {string | string[] | undefined} value
237
+ * @returns {string[]}
238
+ */
239
+ function toList(value) {
240
+ if (value === undefined) {
241
+ return [];
242
+ }
243
+ return Array.isArray(value) ? [...value] : [value];
244
+ }