forgebook 0.1.2 → 0.1.4

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 (345) hide show
  1. package/README.md +94 -5
  2. package/dist/bin/forgebook/agentClient.d.ts +39 -0
  3. package/dist/bin/forgebook/agentClient.d.ts.map +1 -0
  4. package/dist/bin/forgebook/agentClient.js +91 -0
  5. package/dist/bin/forgebook/agentClient.js.map +1 -0
  6. package/dist/bin/forgebook/agentLoopCommands.d.mts +9 -0
  7. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -0
  8. package/dist/bin/forgebook/agentLoopCommands.mjs +217 -0
  9. package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -0
  10. package/dist/bin/forgebook/agentText.d.ts +54 -0
  11. package/dist/bin/forgebook/agentText.d.ts.map +1 -0
  12. package/dist/bin/forgebook/agentText.js +91 -0
  13. package/dist/bin/forgebook/agentText.js.map +1 -0
  14. package/dist/bin/forgebook/agents.md +46 -0
  15. package/dist/bin/forgebook/agentsText.d.ts +29 -0
  16. package/dist/bin/forgebook/agentsText.d.ts.map +1 -0
  17. package/dist/bin/forgebook/agentsText.js +48 -0
  18. package/dist/bin/forgebook/agentsText.js.map +1 -0
  19. package/dist/bin/forgebook/catalogueCommands.d.ts +51 -0
  20. package/dist/bin/forgebook/catalogueCommands.d.ts.map +1 -0
  21. package/dist/bin/forgebook/catalogueCommands.js +90 -0
  22. package/dist/bin/forgebook/catalogueCommands.js.map +1 -0
  23. package/dist/bin/forgebook/errorsRun.d.ts +27 -0
  24. package/dist/bin/forgebook/errorsRun.d.ts.map +1 -0
  25. package/dist/bin/forgebook/errorsRun.js +60 -0
  26. package/dist/bin/forgebook/errorsRun.js.map +1 -0
  27. package/dist/bin/forgebook/forgebook.mjs +283 -79
  28. package/dist/bin/forgebook/forgebook.mjs.map +1 -1
  29. package/dist/bin/forgebook/importers/storybook.d.ts +53 -0
  30. package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -0
  31. package/dist/bin/forgebook/importers/storybook.js +318 -0
  32. package/dist/bin/forgebook/importers/storybook.js.map +1 -0
  33. package/dist/bin/forgebook/initCommands.d.mts +9 -0
  34. package/dist/bin/forgebook/initCommands.d.mts.map +1 -0
  35. package/dist/bin/forgebook/initCommands.mjs +86 -0
  36. package/dist/bin/forgebook/initCommands.mjs.map +1 -0
  37. package/dist/bin/forgebook/initConfig.d.ts +22 -0
  38. package/dist/bin/forgebook/initConfig.d.ts.map +1 -0
  39. package/dist/bin/forgebook/initConfig.js +51 -0
  40. package/dist/bin/forgebook/initConfig.js.map +1 -0
  41. package/dist/bin/forgebook/mcpTools.d.ts +38 -0
  42. package/dist/bin/forgebook/mcpTools.d.ts.map +1 -0
  43. package/dist/bin/forgebook/mcpTools.js +212 -0
  44. package/dist/bin/forgebook/mcpTools.js.map +1 -0
  45. package/dist/bin/forgebook/newStories.d.ts +27 -0
  46. package/dist/bin/forgebook/newStories.d.ts.map +1 -0
  47. package/dist/bin/forgebook/newStories.js +109 -0
  48. package/dist/bin/forgebook/newStories.js.map +1 -0
  49. package/dist/bin/forgebook/newStoriesFile.d.ts +18 -0
  50. package/dist/bin/forgebook/newStoriesFile.d.ts.map +1 -0
  51. package/dist/bin/forgebook/newStoriesFile.js +58 -0
  52. package/dist/bin/forgebook/newStoriesFile.js.map +1 -0
  53. package/dist/bin/forgebook/storyCheckRun.d.ts +39 -0
  54. package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -0
  55. package/dist/bin/forgebook/storyCheckRun.js +177 -0
  56. package/dist/bin/forgebook/storyCheckRun.js.map +1 -0
  57. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +24 -0
  58. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +1 -0
  59. package/dist/bin/forgebook-docs/catalogueDocs.js +71 -0
  60. package/dist/bin/forgebook-docs/catalogueDocs.js.map +1 -0
  61. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +8 -0
  62. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +1 -1
  63. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +3 -1
  64. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +1 -1
  65. package/dist/bin/forgebook-docs/catalogueMarkdown.js +62 -42
  66. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +1 -1
  67. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +39 -0
  68. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +1 -0
  69. package/dist/bin/forgebook-docs/catalogueOptions.js +76 -0
  70. package/dist/bin/forgebook-docs/catalogueOptions.js.map +1 -0
  71. package/dist/bin/forgebook-docs/collectDocs.d.ts +3 -1
  72. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +1 -1
  73. package/dist/bin/forgebook-docs/collectDocs.js +37 -13
  74. package/dist/bin/forgebook-docs/collectDocs.js.map +1 -1
  75. package/dist/bin/forgebook-docs/forgebook-docs.mjs +17 -80
  76. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +1 -1
  77. package/dist/bin/forgebook-docs/llmsText.d.ts +24 -0
  78. package/dist/bin/forgebook-docs/llmsText.d.ts.map +1 -0
  79. package/dist/bin/forgebook-docs/llmsText.js +33 -0
  80. package/dist/bin/forgebook-docs/llmsText.js.map +1 -0
  81. package/dist/bin/forgebook-docs/sourceId.d.ts +9 -0
  82. package/dist/bin/forgebook-docs/sourceId.d.ts.map +1 -0
  83. package/dist/bin/forgebook-docs/sourceId.js +45 -0
  84. package/dist/bin/forgebook-docs/sourceId.js.map +1 -0
  85. package/dist/bin/frameworkDocs.d.ts +10 -0
  86. package/dist/bin/frameworkDocs.d.ts.map +1 -0
  87. package/dist/bin/frameworkDocs.js +43 -0
  88. package/dist/bin/frameworkDocs.js.map +1 -0
  89. package/dist/src/argTypes.d.ts +23 -0
  90. package/dist/src/argTypes.d.ts.map +1 -1
  91. package/dist/src/argTypes.js +27 -0
  92. package/dist/src/argTypes.js.map +1 -1
  93. package/dist/src/catalogue.d.ts +70 -3
  94. package/dist/src/catalogue.d.ts.map +1 -1
  95. package/dist/src/catalogue.js +85 -3
  96. package/dist/src/catalogue.js.map +1 -1
  97. package/dist/src/controlKeys.d.ts +85 -0
  98. package/dist/src/controlKeys.d.ts.map +1 -0
  99. package/dist/src/controlKeys.js +118 -0
  100. package/dist/src/controlKeys.js.map +1 -0
  101. package/dist/src/frame/frame.css +33 -2
  102. package/dist/src/frame/frameView.d.ts +2 -2
  103. package/dist/src/frame/frameView.d.ts.map +1 -1
  104. package/dist/src/frame/frameView.js +7 -3
  105. package/dist/src/frame/frameView.js.map +1 -1
  106. package/dist/src/frame/mountFrame.d.ts.map +1 -1
  107. package/dist/src/frame/mountFrame.js +26 -2
  108. package/dist/src/frame/mountFrame.js.map +1 -1
  109. package/dist/src/frame/spillOutline.d.ts +10 -0
  110. package/dist/src/frame/spillOutline.d.ts.map +1 -0
  111. package/dist/src/frame/spillOutline.js +80 -0
  112. package/dist/src/frame/spillOutline.js.map +1 -0
  113. package/dist/src/liveErrors.d.ts +57 -0
  114. package/dist/src/liveErrors.d.ts.map +1 -0
  115. package/dist/src/liveErrors.js +52 -0
  116. package/dist/src/liveErrors.js.map +1 -0
  117. package/dist/src/messages.d.ts +12 -0
  118. package/dist/src/messages.d.ts.map +1 -1
  119. package/dist/src/messages.js +4 -0
  120. package/dist/src/messages.js.map +1 -1
  121. package/dist/src/namedViews.d.ts +80 -0
  122. package/dist/src/namedViews.d.ts.map +1 -0
  123. package/dist/src/namedViews.js +88 -0
  124. package/dist/src/namedViews.js.map +1 -0
  125. package/dist/src/shell/AppearanceMenu.d.ts +15 -0
  126. package/dist/src/shell/AppearanceMenu.d.ts.map +1 -0
  127. package/dist/src/shell/AppearanceMenu.js +28 -0
  128. package/dist/src/shell/AppearanceMenu.js.map +1 -0
  129. package/dist/src/shell/BoxWidth.d.ts +40 -0
  130. package/dist/src/shell/BoxWidth.d.ts.map +1 -0
  131. package/dist/src/shell/BoxWidth.js +56 -0
  132. package/dist/src/shell/BoxWidth.js.map +1 -0
  133. package/dist/src/shell/ComponentPage.d.ts +17 -1
  134. package/dist/src/shell/ComponentPage.d.ts.map +1 -1
  135. package/dist/src/shell/ComponentPage.js +19 -54
  136. package/dist/src/shell/ComponentPage.js.map +1 -1
  137. package/dist/src/shell/ControlKeyField.d.ts +21 -0
  138. package/dist/src/shell/ControlKeyField.d.ts.map +1 -0
  139. package/dist/src/shell/ControlKeyField.js +46 -0
  140. package/dist/src/shell/ControlKeyField.js.map +1 -0
  141. package/dist/src/shell/ControlRow.d.ts +31 -0
  142. package/dist/src/shell/ControlRow.d.ts.map +1 -0
  143. package/dist/src/shell/ControlRow.js +27 -0
  144. package/dist/src/shell/ControlRow.js.map +1 -0
  145. package/dist/src/shell/Example.d.ts +58 -0
  146. package/dist/src/shell/Example.d.ts.map +1 -0
  147. package/dist/src/shell/Example.js +89 -0
  148. package/dist/src/shell/Example.js.map +1 -0
  149. package/dist/src/shell/NamedViews.d.ts +23 -0
  150. package/dist/src/shell/NamedViews.d.ts.map +1 -0
  151. package/dist/src/shell/NamedViews.js +49 -0
  152. package/dist/src/shell/NamedViews.js.map +1 -0
  153. package/dist/src/shell/PinnedControl.d.ts +25 -0
  154. package/dist/src/shell/PinnedControl.d.ts.map +1 -0
  155. package/dist/src/shell/PinnedControl.js +81 -0
  156. package/dist/src/shell/PinnedControl.js.map +1 -0
  157. package/dist/src/shell/PropsTab.d.ts +5 -2
  158. package/dist/src/shell/PropsTab.d.ts.map +1 -1
  159. package/dist/src/shell/PropsTab.js +12 -15
  160. package/dist/src/shell/PropsTab.js.map +1 -1
  161. package/dist/src/shell/Shell.d.ts.map +1 -1
  162. package/dist/src/shell/Shell.js +27 -2
  163. package/dist/src/shell/Shell.js.map +1 -1
  164. package/dist/src/shell/Sidebar.d.ts +11 -9
  165. package/dist/src/shell/Sidebar.d.ts.map +1 -1
  166. package/dist/src/shell/Sidebar.js +48 -42
  167. package/dist/src/shell/Sidebar.js.map +1 -1
  168. package/dist/src/shell/SidebarEntries.d.ts +50 -0
  169. package/dist/src/shell/SidebarEntries.d.ts.map +1 -0
  170. package/dist/src/shell/SidebarEntries.js +51 -0
  171. package/dist/src/shell/SidebarEntries.js.map +1 -0
  172. package/dist/src/shell/Stage.d.ts.map +1 -1
  173. package/dist/src/shell/Stage.js +19 -2
  174. package/dist/src/shell/Stage.js.map +1 -1
  175. package/dist/src/shell/Toolbar.d.ts +7 -3
  176. package/dist/src/shell/Toolbar.d.ts.map +1 -1
  177. package/dist/src/shell/Toolbar.js +38 -68
  178. package/dist/src/shell/Toolbar.js.map +1 -1
  179. package/dist/src/shell/ToolbarControl.d.ts +47 -0
  180. package/dist/src/shell/ToolbarControl.d.ts.map +1 -0
  181. package/dist/src/shell/ToolbarControl.js +150 -0
  182. package/dist/src/shell/ToolbarControl.js.map +1 -0
  183. package/dist/src/shell/UsedIn.d.ts +38 -0
  184. package/dist/src/shell/UsedIn.d.ts.map +1 -0
  185. package/dist/src/shell/UsedIn.js +77 -0
  186. package/dist/src/shell/UsedIn.js.map +1 -0
  187. package/dist/src/shell/ViewMenu.d.ts +37 -0
  188. package/dist/src/shell/ViewMenu.d.ts.map +1 -0
  189. package/dist/src/shell/ViewMenu.js +216 -0
  190. package/dist/src/shell/ViewMenu.js.map +1 -0
  191. package/dist/src/shell/controlCycle.d.ts +28 -0
  192. package/dist/src/shell/controlCycle.d.ts.map +1 -0
  193. package/dist/src/shell/controlCycle.js +51 -0
  194. package/dist/src/shell/controlCycle.js.map +1 -0
  195. package/dist/src/shell/dockTabs.d.ts +3 -0
  196. package/dist/src/shell/dockTabs.d.ts.map +1 -1
  197. package/dist/src/shell/dockTabs.js +1 -1
  198. package/dist/src/shell/dockTabs.js.map +1 -1
  199. package/dist/src/shell/icons.d.ts +6 -0
  200. package/dist/src/shell/icons.d.ts.map +1 -1
  201. package/dist/src/shell/icons.js +7 -1
  202. package/dist/src/shell/icons.js.map +1 -1
  203. package/dist/src/shell/keyboard.d.ts +2 -1
  204. package/dist/src/shell/keyboard.d.ts.map +1 -1
  205. package/dist/src/shell/keyboard.js +5 -2
  206. package/dist/src/shell/keyboard.js.map +1 -1
  207. package/dist/src/shell/shell.css +826 -243
  208. package/dist/src/shell/strings.d.ts +45 -0
  209. package/dist/src/shell/strings.d.ts.map +1 -1
  210. package/dist/src/shell/strings.js +45 -0
  211. package/dist/src/shell/strings.js.map +1 -1
  212. package/dist/src/shell/useAppearance.d.ts +17 -0
  213. package/dist/src/shell/useAppearance.d.ts.map +1 -0
  214. package/dist/src/shell/useAppearance.js +36 -0
  215. package/dist/src/shell/useAppearance.js.map +1 -0
  216. package/dist/src/shell/useControlKeys.d.ts +23 -0
  217. package/dist/src/shell/useControlKeys.d.ts.map +1 -0
  218. package/dist/src/shell/useControlKeys.js +44 -0
  219. package/dist/src/shell/useControlKeys.js.map +1 -0
  220. package/dist/src/shell/useFold.d.ts +27 -0
  221. package/dist/src/shell/useFold.d.ts.map +1 -0
  222. package/dist/src/shell/useFold.js +87 -0
  223. package/dist/src/shell/useFold.js.map +1 -0
  224. package/dist/src/shell/useFrameMessages.d.ts +2 -0
  225. package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
  226. package/dist/src/shell/useFrameMessages.js +3 -0
  227. package/dist/src/shell/useFrameMessages.js.map +1 -1
  228. package/dist/src/shell/useFullPage.d.ts +45 -0
  229. package/dist/src/shell/useFullPage.d.ts.map +1 -0
  230. package/dist/src/shell/useFullPage.js +149 -0
  231. package/dist/src/shell/useFullPage.js.map +1 -0
  232. package/dist/src/shell/usePopover.d.ts +17 -3
  233. package/dist/src/shell/usePopover.d.ts.map +1 -1
  234. package/dist/src/shell/usePopover.js +65 -4
  235. package/dist/src/shell/usePopover.js.map +1 -1
  236. package/dist/src/shell/useStored.d.ts +13 -2
  237. package/dist/src/shell/useStored.d.ts.map +1 -1
  238. package/dist/src/shell/useStored.js +1 -1
  239. package/dist/src/shell/useStored.js.map +1 -1
  240. package/dist/src/shell/useToolbarLayout.d.ts +39 -0
  241. package/dist/src/shell/useToolbarLayout.d.ts.map +1 -0
  242. package/dist/src/shell/useToolbarLayout.js +58 -0
  243. package/dist/src/shell/useToolbarLayout.js.map +1 -0
  244. package/dist/src/shell/useToolbarOverflow.d.ts +31 -0
  245. package/dist/src/shell/useToolbarOverflow.d.ts.map +1 -0
  246. package/dist/src/shell/useToolbarOverflow.js +62 -0
  247. package/dist/src/shell/useToolbarOverflow.js.map +1 -0
  248. package/dist/src/shell/useWorstCase.d.ts +46 -0
  249. package/dist/src/shell/useWorstCase.d.ts.map +1 -0
  250. package/dist/src/shell/useWorstCase.js +42 -0
  251. package/dist/src/shell/useWorstCase.js.map +1 -0
  252. package/dist/src/shell/worstArgs.d.ts +42 -0
  253. package/dist/src/shell/worstArgs.d.ts.map +1 -0
  254. package/dist/src/shell/worstArgs.js +47 -0
  255. package/dist/src/shell/worstArgs.js.map +1 -0
  256. package/dist/src/spills.d.ts +31 -0
  257. package/dist/src/spills.d.ts.map +1 -0
  258. package/dist/src/spills.js +65 -0
  259. package/dist/src/spills.js.map +1 -0
  260. package/dist/src/storyCheck.d.ts +105 -0
  261. package/dist/src/storyCheck.d.ts.map +1 -0
  262. package/dist/src/storyCheck.js +63 -0
  263. package/dist/src/storyCheck.js.map +1 -0
  264. package/dist/src/switches.d.ts +16 -4
  265. package/dist/src/switches.d.ts.map +1 -1
  266. package/dist/src/switches.js +30 -5
  267. package/dist/src/switches.js.map +1 -1
  268. package/dist/src/toolbarLayout.d.ts +119 -0
  269. package/dist/src/toolbarLayout.d.ts.map +1 -0
  270. package/dist/src/toolbarLayout.js +155 -0
  271. package/dist/src/toolbarLayout.js.map +1 -0
  272. package/dist/src/usedIn.d.ts +60 -0
  273. package/dist/src/usedIn.d.ts.map +1 -0
  274. package/dist/src/usedIn.js +92 -0
  275. package/dist/src/usedIn.js.map +1 -0
  276. package/dist/src/viewState.d.ts +15 -10
  277. package/dist/src/viewState.d.ts.map +1 -1
  278. package/dist/src/viewState.js +35 -18
  279. package/dist/src/viewState.js.map +1 -1
  280. package/dist/src/viewWords.d.ts +26 -0
  281. package/dist/src/viewWords.d.ts.map +1 -0
  282. package/dist/src/viewWords.js +29 -0
  283. package/dist/src/viewWords.js.map +1 -0
  284. package/dist/src/vite/adapter.d.ts +13 -4
  285. package/dist/src/vite/adapter.d.ts.map +1 -1
  286. package/dist/src/vite/adapter.js +4 -2
  287. package/dist/src/vite/adapter.js.map +1 -1
  288. package/dist/src/vite/agent.types.d.ts +120 -0
  289. package/dist/src/vite/agent.types.d.ts.map +1 -0
  290. package/dist/src/vite/agent.types.js +1 -0
  291. package/dist/src/vite/agent.types.js.map +1 -0
  292. package/dist/src/vite/agentApi.d.ts +106 -0
  293. package/dist/src/vite/agentApi.d.ts.map +1 -0
  294. package/dist/src/vite/agentApi.js +216 -0
  295. package/dist/src/vite/agentApi.js.map +1 -0
  296. package/dist/src/vite/agentRoutes.d.ts +50 -0
  297. package/dist/src/vite/agentRoutes.d.ts.map +1 -0
  298. package/dist/src/vite/agentRoutes.js +155 -0
  299. package/dist/src/vite/agentRoutes.js.map +1 -0
  300. package/dist/src/vite/configFile.d.ts +2 -1
  301. package/dist/src/vite/configFile.d.ts.map +1 -1
  302. package/dist/src/vite/configFile.js +29 -11
  303. package/dist/src/vite/configFile.js.map +1 -1
  304. package/dist/src/vite/docsExtractor.d.ts +26 -2
  305. package/dist/src/vite/docsExtractor.d.ts.map +1 -1
  306. package/dist/src/vite/docsExtractor.js +12 -9
  307. package/dist/src/vite/docsExtractor.js.map +1 -1
  308. package/dist/src/vite/docsWorker.js +18 -2
  309. package/dist/src/vite/docsWorker.js.map +1 -1
  310. package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
  311. package/dist/src/vite/forgebookPlugin.js +116 -16
  312. package/dist/src/vite/forgebookPlugin.js.map +1 -1
  313. package/dist/src/vite/indexStoryFile.d.ts +14 -0
  314. package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
  315. package/dist/src/vite/indexStoryFile.js +13 -4
  316. package/dist/src/vite/indexStoryFile.js.map +1 -1
  317. package/dist/src/vite/mcpProtocol.d.ts +82 -0
  318. package/dist/src/vite/mcpProtocol.d.ts.map +1 -0
  319. package/dist/src/vite/mcpProtocol.js +184 -0
  320. package/dist/src/vite/mcpProtocol.js.map +1 -0
  321. package/dist/src/vite/pages.d.ts +12 -0
  322. package/dist/src/vite/pages.d.ts.map +1 -1
  323. package/dist/src/vite/pages.js +21 -0
  324. package/dist/src/vite/pages.js.map +1 -1
  325. package/dist/src/vite/storyFilesModule.d.ts +28 -1
  326. package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
  327. package/dist/src/vite/storyFilesModule.js +34 -14
  328. package/dist/src/vite/storyFilesModule.js.map +1 -1
  329. package/dist/src/vite/usageGraph.d.ts +45 -0
  330. package/dist/src/vite/usageGraph.d.ts.map +1 -0
  331. package/dist/src/vite/usageGraph.js +246 -0
  332. package/dist/src/vite/usageGraph.js.map +1 -0
  333. package/dist/src/vite/usageModule.d.ts +33 -0
  334. package/dist/src/vite/usageModule.d.ts.map +1 -0
  335. package/dist/src/vite/usageModule.js +135 -0
  336. package/dist/src/vite/usageModule.js.map +1 -0
  337. package/dist/src/worstCase.d.ts +16 -0
  338. package/dist/src/worstCase.d.ts.map +1 -0
  339. package/dist/src/worstCase.js +16 -0
  340. package/dist/src/worstCase.js.map +1 -0
  341. package/package.json +18 -2
  342. package/dist/src/shell/SchemeSwitches.d.ts +0 -24
  343. package/dist/src/shell/SchemeSwitches.d.ts.map +0 -1
  344. package/dist/src/shell/SchemeSwitches.js +0 -36
  345. package/dist/src/shell/SchemeSwitches.js.map +0 -1
@@ -1,93 +1,297 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * The `forgebook` command: runs a catalogue from its `forgebook.config.ts` (`dev`, the dev server) or builds it into
4
- * static files (`build`), with no page or Vite configuration of the app's own.
4
+ * static files (`build`), with no page or Vite configuration of the app's own; answers tools and agents with what the
5
+ * catalogue shows (`stories`, `story`, `mcp`); and writes what a project keeps (`docs`, `new`, `agents`).
5
6
  *
6
7
  * @module
7
8
  */
8
- import { resolve } from "node:path";
9
- import { defineScript, ScriptError } from "@ensiria/cli-kit/script";
9
+ import { existsSync, writeFileSync } from "node:fs";
10
+ import { relative, resolve } from "node:path";
11
+ import { createInterface } from "node:readline";
12
+ import { defineCommands } from "@ensiria/cli-kit/commands";
13
+ import { readPackageVersion } from "@ensiria/cli-kit/files";
14
+ import { ScriptError } from "@ensiria/cli-kit/script";
10
15
  import { build, createServer } from "vite";
11
- import { CONFIG_FILES, findConfigFile, loadConfigFile } from "../../src/vite/configFile.js";
16
+ import { filteredStories, isStoriesDocument, isStoryDocument } from "../../src/vite/agentApi.js";
17
+ import { answerMcpMessage, NEW_SESSION } from "../../src/vite/mcpProtocol.js";
18
+ import { catalogueDocs } from "../forgebook-docs/catalogueDocs.js";
19
+ import { catalogueClient } from "./agentClient.js";
20
+ import { agentLoopCommands } from "./agentLoopCommands.mjs";
21
+ import { storiesText, storyText } from "./agentText.js";
22
+ import { askCatalogue, COMMAND, configOf, FORGEBOOK_OPTIONS, printAnswer } from "./catalogueCommands.js";
12
23
  import { catalogueVite } from "./catalogueVite.js";
13
- /** The command, as the hints print it. */
14
- const COMMAND = "forgebook";
15
- /**
16
- * The catalogue's configuration: the file given, or the one in the folder the command runs in.
17
- *
18
- * @param file - the configuration file given; none to look in the current folder.
19
- * @throws a `ScriptError` when there is none, or it cannot be used.
20
- */
21
- const configOf = async (file) => {
22
- const found = file === undefined ? findConfigFile(process.cwd()) : resolve(file);
23
- if (found === undefined)
24
- throw new ScriptError(`No ${CONFIG_FILES[0]} here`, {
25
- hint: `Run ${COMMAND} in the catalogue's folder, or give --config`
26
- });
27
- try {
28
- return await loadConfigFile(found);
29
- }
30
- catch (error) {
31
- throw new ScriptError(error instanceof Error ? error.message : String(error));
32
- }
33
- };
34
- await defineScript({
24
+ import { initCommands } from "./initCommands.mjs";
25
+ import { catalogueTools } from "./mcpTools.js";
26
+ import { newStoriesFile } from "./newStoriesFile.js";
27
+ import { runStoryCheck, runStoryShot } from "./storyCheckRun.js";
28
+ await defineCommands({
35
29
  name: "forgebook",
36
30
  command: COMMAND,
37
- summary: "Run a catalogue of stories from its forgebook.config.ts, or build it into static files.",
31
+ summary: "Run a catalogue of stories from its forgebook.config.ts, build it, or answer tools and agents about it.",
38
32
  icon: "docs",
39
- options: {
40
- config: {
41
- type: "string",
42
- valueName: "file",
43
- description: "The configuration file; forgebook.config.ts in the current folder by default."
44
- },
45
- port: {
46
- type: "string",
47
- valueName: "number",
48
- description: "dev: the port to listen on; Vite's by default."
49
- },
50
- host: {
51
- type: "string",
52
- valueName: "address",
53
- description: "dev: the address to listen on; localhost by default."
54
- },
55
- out: { type: "string", valueName: "folder", description: "build: the folder to write; dist by default." },
56
- force: {
57
- type: "boolean",
58
- description: "dev: pre-bundle the dependencies again, ignoring Vite's cache (as a first start does)."
59
- }
60
- },
61
- positionals: [{ name: "command", description: "What to do.", required: true, choices: ["dev", "build"] }],
62
- examples: [
63
- { command: `${COMMAND} dev`, description: "Run the catalogue of the folder you are in." },
64
- { command: `${COMMAND} dev --port 6006`, description: "On a given port." },
65
- { command: `${COMMAND} build --out site`, description: "Build it into static files." }
66
- ],
67
- run: async ({ args, options, log, onInterrupt }) => {
68
- const config = await configOf(options.config);
69
- if (args.command === "build") {
70
- await build(await catalogueVite(config, { build: { outDir: resolve(config.dir, options.out ?? "dist") } }));
71
- log.success(`${config.title} built`);
72
- return;
73
- }
74
- const port = options.port === undefined ? undefined : Number(options.port);
75
- if (port !== undefined && !Number.isInteger(port))
76
- throw new ScriptError(`--port ${options.port} is not a port`);
77
- const server = await createServer(await catalogueVite(config, {
78
- server: {
79
- ...(port === undefined ? {} : { port, strictPort: true }),
80
- ...(options.host === undefined ? {} : { host: options.host })
33
+ options: FORGEBOOK_OPTIONS,
34
+ commands: (forgebook) => ({
35
+ dev: forgebook.command({
36
+ summary: "Run the catalogue's dev server.",
37
+ options: {
38
+ port: {
39
+ type: "string",
40
+ valueName: "number",
41
+ description: "The port to listen on; Vite's by default."
42
+ },
43
+ host: {
44
+ type: "string",
45
+ valueName: "address",
46
+ description: "The address to listen on; localhost by default."
47
+ },
48
+ force: {
49
+ type: "boolean",
50
+ description: "Pre-bundle the dependencies again, ignoring Vite's cache (as a first start does)."
51
+ }
52
+ },
53
+ examples: [
54
+ { command: `${COMMAND} dev`, description: "Run the catalogue of the folder you are in." },
55
+ { command: `${COMMAND} dev --port 6006`, description: "On a given port." }
56
+ ],
57
+ run: async ({ options, onInterrupt }) => {
58
+ const config = await configOf(options.config);
59
+ const port = options.port === undefined ? undefined : Number(options.port);
60
+ if (port !== undefined && !Number.isInteger(port))
61
+ throw new ScriptError(`--port ${options.port} is not a port`);
62
+ const server = await createServer(await catalogueVite(config, {
63
+ server: {
64
+ ...(port === undefined ? {} : { port, strictPort: true }),
65
+ ...(options.host === undefined ? {} : { host: options.host })
66
+ },
67
+ ...(options.force === true ? { optimizeDeps: { force: true } } : {})
68
+ }));
69
+ await server.listen();
70
+ server.printUrls();
71
+ await new Promise((done) => {
72
+ onInterrupt(() => {
73
+ void server.close().then(done);
74
+ });
75
+ });
76
+ }
77
+ }),
78
+ build: forgebook.command({
79
+ summary: "Build the catalogue into static files.",
80
+ options: {
81
+ out: { type: "string", valueName: "folder", description: "The folder to write; dist by default." }
82
+ },
83
+ examples: [{ command: `${COMMAND} build --out site`, description: "Build it into static files." }],
84
+ run: async ({ options, log }) => {
85
+ const config = await configOf(options.config);
86
+ await build(await catalogueVite(config, { build: { outDir: resolve(config.dir, options.out ?? "dist") } }));
87
+ log.success(`${config.title} built`);
88
+ }
89
+ }),
90
+ stories: forgebook.command({
91
+ summary: "List the catalogue's stories, with their ids and links; fail when the index has problems.",
92
+ json: true,
93
+ options: {
94
+ source: { type: "string", valueName: "id", description: "Only this source's stories." },
95
+ component: {
96
+ type: "string",
97
+ valueName: "text",
98
+ description: "Only components whose title holds this text."
99
+ },
100
+ view: {
101
+ type: "string",
102
+ valueName: "query",
103
+ description: "The view the links open in, as the catalogue's address writes it (theme=dark&lang=it)."
104
+ },
105
+ "used-in": {
106
+ type: "boolean",
107
+ description: "Add each component's \"Used in\": the components whose stories use it (reads the package's import graph)."
108
+ },
109
+ url: {
110
+ type: "string",
111
+ env: "FORGEBOOK_URL",
112
+ valueName: "address",
113
+ description: "Where forgebook dev runs, when not at Vite's default address (http://localhost:5173)."
114
+ }
115
+ },
116
+ examples: [
117
+ { command: `${COMMAND} stories`, description: "Every story." },
118
+ {
119
+ command: `${COMMAND} stories --component select --used-in --json`,
120
+ description: "The selects, with the components whose stories use them."
121
+ },
122
+ { command: `${COMMAND} stories --component button --json`, description: "The buttons, as JSON." }
123
+ ],
124
+ run: async ({ options, io, log, isJson, style }) => {
125
+ const config = await configOf(options.config);
126
+ const params = new URLSearchParams({
127
+ view: options.view ?? "",
128
+ usedIn: String(options["used-in"] === true)
129
+ });
130
+ const body = await askCatalogue(config, options.url, "stories", params, log);
131
+ if (!isStoriesDocument(body))
132
+ throw new ScriptError("The catalogue's answer has an unexpected shape");
133
+ const document = filteredStories(body, { source: options.source, component: options.component });
134
+ printAnswer(storiesText(document, style), document, document.problems, { io, log, isJson });
135
+ }
136
+ }),
137
+ docs: forgebook.command({
138
+ summary: "Write a package's CATALOG.md and llms.txt, for agents writing code with it; --check fails when stale.",
139
+ json: true,
140
+ options: {
141
+ package: {
142
+ type: "string",
143
+ default: ".",
144
+ valueName: "folder",
145
+ description: "The package's folder; the current folder by default."
146
+ },
147
+ framework: {
148
+ type: "string",
149
+ default: "react",
150
+ valueName: "name",
151
+ description: "The framework the stories are written for: its package, @forgebook/<name>, reads the props."
152
+ },
153
+ check: {
154
+ type: "boolean",
155
+ short: "c",
156
+ description: "Change nothing; fail when a file is stale or a file cannot be read (CI)."
157
+ }
158
+ },
159
+ examples: [
160
+ {
161
+ command: `${COMMAND} docs`,
162
+ description: "Rewrite the CATALOG.md and llms.txt of the package you are in."
163
+ },
164
+ { command: `${COMMAND} docs --check`, description: "Check them in CI." }
165
+ ],
166
+ run: ({ options, log }) => catalogueDocs({
167
+ packageDir: resolve(options.package),
168
+ framework: options.framework,
169
+ isCheck: options.check,
170
+ fixCommand: `${COMMAND} docs`
171
+ }, log)
172
+ }),
173
+ new: forgebook.command({
174
+ summary: "Write a component's first stories from its props: the main story, one per choice, the worst case.",
175
+ options: {
176
+ export: {
177
+ type: "string",
178
+ valueName: "name",
179
+ description: "The component to read; the file's only one by default."
180
+ },
181
+ framework: {
182
+ type: "string",
183
+ default: "react",
184
+ valueName: "name",
185
+ description: "The framework the stories are written for: its package, @forgebook/<name>, reads the props."
186
+ },
187
+ print: { type: "boolean", description: "Print the file instead of writing it." },
188
+ force: { type: "boolean", description: "Replace a stories file that exists." }
189
+ },
190
+ positionals: [{ name: "file", description: "The component's file.", required: true }],
191
+ examples: [
192
+ { command: `${COMMAND} new src/Badge.tsx`, description: "Write src/Badge.stories.tsx." },
193
+ {
194
+ command: `${COMMAND} new src/menu.tsx --export Menu --print`,
195
+ description: "One of several, printed."
196
+ }
197
+ ],
198
+ run: async ({ args, options, io, log }) => {
199
+ const written = await newStoriesFile(resolve(args.file), options.export, options.framework);
200
+ if (options.print) {
201
+ io.stdout.write(written.text);
202
+ return;
203
+ }
204
+ const shown = relative(process.cwd(), written.file);
205
+ if (existsSync(written.file) && options.force !== true)
206
+ throw new ScriptError(`${shown} exists`, {
207
+ hint: "Give --force to replace it, or --print to see it"
208
+ });
209
+ writeFileSync(written.file, written.text);
210
+ log.success(`${shown} written`);
211
+ log.info(`${COMMAND} stories --component ${written.text.match(/title: "([^"]*)"/)?.[1] ?? ""} lists them`);
212
+ }
213
+ }),
214
+ ...agentLoopCommands(forgebook),
215
+ ...initCommands(forgebook),
216
+ mcp: forgebook.command({
217
+ summary: "Serve the catalogue's stories to an agent over the Model Context Protocol, on stdin and stdout.",
218
+ header: false,
219
+ options: {
220
+ url: {
221
+ type: "string",
222
+ env: "FORGEBOOK_URL",
223
+ valueName: "address",
224
+ description: "Where forgebook dev runs, when not at Vite's default address (http://localhost:5173)."
225
+ }
226
+ },
227
+ examples: [
228
+ {
229
+ command: `${COMMAND} mcp`,
230
+ description: "What an agent's MCP configuration runs (npx forgebook mcp)."
231
+ }
232
+ ],
233
+ run: async ({ options, io, log }) => {
234
+ const config = await configOf(options.config);
235
+ // kept for the server's life: an agent's questions in a row each answer at once
236
+ const client = await catalogueClient(config, options.url);
237
+ log.debug(client.runningAt === undefined ? "Answering from a server of its own" : `Asking ${client.runningAt}`);
238
+ const server = {
239
+ info: { name: "forgebook", version: readPackageVersion(import.meta.dirname) },
240
+ instructions: `The stories of the Forgebook catalogue "${config.title}". list_stories finds a story's id, get_story gives its args and its component's props, story_address gives the links a person opens to see it.`,
241
+ tools: catalogueTools({
242
+ ask: client.ask,
243
+ writeNew: (file, exportName) => newStoriesFile(resolve(config.dir, file), exportName, config.framework.name),
244
+ check: (input) => runStoryCheck(config, options.url, input),
245
+ shot: (input, outDir) => runStoryShot(config, options.url, input, outDir)
246
+ })
247
+ };
248
+ let session = NEW_SESSION;
249
+ // stdout carries only the protocol's messages, one per line, answered in the order they came
250
+ for await (const line of createInterface({ input: io.stdin })) {
251
+ if (line.trim() === "")
252
+ continue;
253
+ const step = await answerMcpMessage(line, session, server);
254
+ session = step.session;
255
+ if (step.reply !== undefined)
256
+ io.stdout.write(`${step.reply}\n`);
257
+ }
258
+ await client.close();
259
+ }
260
+ }),
261
+ story: forgebook.command({
262
+ summary: "One story in detail: its args, its component's props, its links; fail when it cannot be read.",
263
+ json: true,
264
+ options: {
265
+ view: {
266
+ type: "string",
267
+ valueName: "query",
268
+ description: "The view the links open in, as the catalogue's address writes it (theme=dark&lang=it)."
269
+ },
270
+ url: {
271
+ type: "string",
272
+ env: "FORGEBOOK_URL",
273
+ valueName: "address",
274
+ description: "Where forgebook dev runs, when not at Vite's default address (http://localhost:5173)."
275
+ }
81
276
  },
82
- ...(options.force === true ? { optimizeDeps: { force: true } } : {})
83
- }));
84
- await server.listen();
85
- server.printUrls();
86
- await new Promise((done) => {
87
- onInterrupt(() => {
88
- void server.close().then(done);
89
- });
90
- });
91
- }
277
+ positionals: [
278
+ { name: "id", description: "The story's id, as forgebook stories lists it.", required: true }
279
+ ],
280
+ examples: [
281
+ {
282
+ command: `${COMMAND} story kit:actions-button--primary --view theme=dark --json`,
283
+ description: "A story, its links in the dark theme, as JSON."
284
+ }
285
+ ],
286
+ run: async ({ args, options, io, log, isJson, style }) => {
287
+ const config = await configOf(options.config);
288
+ const params = new URLSearchParams({ id: args.id, view: options.view ?? "" });
289
+ const body = await askCatalogue(config, options.url, "story", params, log);
290
+ if (!isStoryDocument(body))
291
+ throw new ScriptError("The catalogue's answer has an unexpected shape");
292
+ printAnswer(storyText(body, style), body, body.problems, { io, log, isJson });
293
+ }
294
+ })
295
+ })
92
296
  }).run();
93
297
  //# sourceMappingURL=forgebook.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgebook.mjs","sourceRoot":"","sources":["../../../bin/forgebook/forgebook.mts"],"names":[],"mappings":";AACA;;;;;GAKG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,0CAA0C;AAC1C,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAwB,EAA2B,EAAE;IAC3E,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,WAAW,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE;YAClD,IAAI,EAAE,OAAO,OAAO,8CAA8C;SACnE,CAAC,CAAC;IACL,IAAI,CAAC;QACH,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,CAAC;IACjB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,yFAAyF;IAClG,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,+EAA+E;SAC7F;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,gDAAgD;SAC9D;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,sDAAsD;SACpE;QACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;QACzG,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wFAAwF;SACtG;KACF;IACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IACzG,QAAQ,EAAE;QACR,EAAE,OAAO,EAAE,GAAG,OAAO,MAAM,EAAE,WAAW,EAAE,6CAA6C,EAAE;QACzF,EAAE,OAAO,EAAE,GAAG,OAAO,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC1E,EAAE,OAAO,EAAE,GAAG,OAAO,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE;KACvF;IACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,EAAiB,EAAE;QAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,CACT,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAC/F,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/C,MAAM,IAAI,WAAW,CAAC,UAAU,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,MAAM,aAAa,CAAC,MAAM,EAAE;YAC1B,MAAM,EAAE;gBACN,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBACzD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC9D;YACD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CACH,CAAC;QACF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;YAC/B,WAAW,CAAC,GAAG,EAAE;gBACf,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"forgebook.mjs","sourceRoot":"","sources":["../../../bin/forgebook/forgebook.mts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,MAAM,cAAc,CAAC;IACnB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EACL,yGAAyG;IAC3G,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,QAAQ;oBACnB,WAAW,EAAE,2CAA2C;iBACzD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mFAAmF;iBACjG;aACF;YACD,QAAQ,EAAE;gBACR,EAAE,OAAO,EAAE,GAAG,OAAO,MAAM,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBACzF,EAAE,OAAO,EAAE,GAAG,OAAO,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC3E;YACD,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAiB,EAAE;gBACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC/C,MAAM,IAAI,WAAW,CAAC,UAAU,OAAO,CAAC,IAAI,gBAAgB,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,MAAM,aAAa,CAAC,MAAM,EAAE;oBAC1B,MAAM,EAAE;wBACN,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;wBACzD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;qBAC9D;oBACD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CAAC,CACH,CAAC;gBACF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE;oBAC/B,WAAW,CAAC,GAAG,EAAE;wBACf,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QACF,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE,wCAAwC;YACjD,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;aACnG;YACD,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;YAClG,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAiB,EAAE;gBAC7C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,KAAK,CACT,MAAM,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC,CAC/F,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;YACvC,CAAC;SACF,CAAC;QACF,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,2FAA2F;YACpG,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBACvF,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,OAAO;oBAClB,WAAW,EACT,wFAAwF;iBAC3F;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EACT,2GAA2G;iBAC9G;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,eAAe;oBACpB,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,uFAAuF;iBACrG;aACF;YACD,QAAQ,EAAE;gBACR,EAAE,OAAO,EAAE,GAAG,OAAO,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE;gBAC9D;oBACE,OAAO,EAAE,GAAG,OAAO,8CAA8C;oBACjE,WAAW,EAAE,0DAA0D;iBACxE;gBACD,EAAE,OAAO,EAAE,GAAG,OAAO,oCAAoC,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAClG;YACD,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAiB,EAAE;gBAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;oBACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;oBACxB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;iBAC5C,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC7E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjG,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9F,CAAC;SACF,CAAC;QACF,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;YACtB,OAAO,EACL,uGAAuG;YACzG,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,SAAS,EAAE,QAAQ;oBACnB,WAAW,EAAE,sDAAsD;iBACpE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,MAAM;oBACjB,WAAW,EACT,6FAA6F;iBAChG;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,GAAG;oBACV,WAAW,EAAE,0EAA0E;iBACxF;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,GAAG,OAAO,OAAO;oBAC1B,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,EAAE,OAAO,EAAE,GAAG,OAAO,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE;aACzE;YACD,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAgC,EAAE,CACtD,aAAa,CACX;gBACE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,KAAK;gBACtB,UAAU,EAAE,GAAG,OAAO,OAAO;aAC9B,EACD,GAAG,CACJ;SACJ,CAAC;QACF,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;YACrB,OAAO,EACL,mGAAmG;YACrG,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,wDAAwD;iBACtE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,MAAM;oBACjB,WAAW,EACT,6FAA6F;iBAChG;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAChF,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC/E;YACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACrF,QAAQ,EAAE;gBACR,EAAE,OAAO,EAAE,GAAG,OAAO,oBAAoB,EAAE,WAAW,EAAE,8BAA8B,EAAE;gBACxF;oBACE,OAAO,EAAE,GAAG,OAAO,yCAAyC;oBAC5D,WAAW,EAAE,0BAA0B;iBACxC;aACF;YACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAiB,EAAE;gBACvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC5F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;oBACpD,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE;wBACvC,IAAI,EAAE,kDAAkD;qBACzD,CAAC,CAAC;gBACL,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;gBAChC,GAAG,CAAC,IAAI,CACN,GAAG,OAAO,wBAAwB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CACjG,CAAC;YACJ,CAAC;SACF,CAAC;QACF,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC/B,GAAG,YAAY,CAAC,SAAS,CAAC;QAC1B,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;YACrB,OAAO,EACL,iGAAiG;YACnG,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,eAAe;oBACpB,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,uFAAuF;iBACrG;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,GAAG,OAAO,MAAM;oBACzB,WAAW,EAAE,6DAA6D;iBAC3E;aACF;YACD,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAiB,EAAE;gBACjD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,gFAAgF;gBAChF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1D,GAAG,CAAC,KAAK,CACP,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,SAAS,EAAE,CACrG,CAAC;gBACF,MAAM,MAAM,GAAG;oBACb,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC7E,YAAY,EAAE,2CAA2C,MAAM,CAAC,KAAK,iJAAiJ;oBACtN,KAAK,EAAE,cAAc,CAAC;wBACpB,GAAG,EAAE,MAAM,CAAC,GAAG;wBACf,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAC7B,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC9E,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;wBAC3D,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC;qBAC1E,CAAC;iBACH,CAAC;gBACF,IAAI,OAAO,GAAG,WAAW,CAAC;gBAC1B,6FAA6F;gBAC7F,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;wBAAE,SAAS;oBACjC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC3D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;wBAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;QACF,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;YACvB,OAAO,EACL,+FAA+F;YACjG,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,OAAO;oBAClB,WAAW,EACT,wFAAwF;iBAC3F;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,eAAe;oBACpB,SAAS,EAAE,SAAS;oBACpB,WAAW,EAAE,uFAAuF;iBACrG;aACF;YACD,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,gDAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC9F;YACD,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,GAAG,OAAO,6DAA6D;oBAChF,WAAW,EAAE,gDAAgD;iBAC9D;aACF;YACD,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAiB,EAAE;gBACtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC3E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAC;gBACpG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAChF,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC,GAAG,EAAE,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type ViewSwitch } from "../../../src/switches.ts";
2
+ /** What a configuration takes from another tool's files. */
3
+ export type ImportedConfig = {
4
+ /** The catalogue's name: the package's, or the folder's. */
5
+ readonly title: string;
6
+ /** The story files, as globs from the project's folder. */
7
+ readonly stories: readonly string[];
8
+ /** The preview's path from the project's folder; none when the tool has none. */
9
+ readonly preview: string | undefined;
10
+ /** The switches read from the preview's `globalTypes`; none leaves Forgebook's theme and contrast. */
11
+ readonly switches: readonly ViewSwitch[] | undefined;
12
+ /** What was not read, each a sentence for the person who runs the command. */
13
+ readonly notes: readonly string[];
14
+ };
15
+ /**
16
+ * Every glob a glob with alternatives stands for: `@(a|b)` and `{a,b}` written out, nested ones too, so the
17
+ * configuration lists plain globs a person reads at a glance.
18
+ *
19
+ * @param glob - the glob.
20
+ */
21
+ export declare const expandedGlobs: (glob: string) => string[];
22
+ /**
23
+ * The story globs of Storybook's `stories`, from the project's folder: each entry a glob from the `.storybook` folder or
24
+ * a folder with its files, its alternatives written out, the documentation pages (`.mdx`) left out.
25
+ *
26
+ * @param entries - `main`'s `stories`.
27
+ * @param storybookDir - the `.storybook` folder, absolute.
28
+ * @param projectDir - the project's folder, absolute.
29
+ * @returns the globs, and what was not read.
30
+ */
31
+ export declare const storyGlobs: (entries: readonly unknown[], storybookDir: string, projectDir: string) => {
32
+ readonly globs: string[];
33
+ readonly notes: string[];
34
+ };
35
+ /**
36
+ * The switches a preview's `globalTypes` give, read from its source.
37
+ *
38
+ * @param text - the preview's source.
39
+ * @param file - its path, for the parser and the notes.
40
+ * @returns the switches (none when it declares no toolbar of its own), and what was not read.
41
+ */
42
+ export declare const previewSwitches: (text: string, file: string) => {
43
+ readonly switches: ViewSwitch[] | undefined;
44
+ readonly notes: string[];
45
+ };
46
+ /**
47
+ * Reads a project's Storybook configuration.
48
+ *
49
+ * @param projectDir - the project's folder, absolute.
50
+ * @returns what a Forgebook configuration takes from it, or why it cannot be read.
51
+ */
52
+ export declare const importStorybook: (projectDir: string) => Promise<ImportedConfig | string>;
53
+ //# sourceMappingURL=storybook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storybook.d.ts","sourceRoot":"","sources":["../../../../bin/forgebook/importers/storybook.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGpF,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAC;IACrD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAwBF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAM,EAyBlD,CAAC;AA0BF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,OAAO,EAAE,EAC3B,cAAc,MAAM,EACpB,YAAY,MAAM,KACjB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAetD,CAAC;AAgHF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,KACX;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAoBzE,CAAC;AA4BF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CA2BzF,CAAC"}