forgebook 0.3.3 → 0.4.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 (713) hide show
  1. package/README.md +994 -72
  2. package/dist/bin/forgebook/agentClient.d.ts +2 -1
  3. package/dist/bin/forgebook/agentClient.js +13 -6
  4. package/dist/bin/forgebook/agentGuide.d.ts +59 -0
  5. package/dist/bin/forgebook/agentGuide.js +203 -0
  6. package/dist/bin/forgebook/agentLoopCommands.mjs +22 -42
  7. package/dist/bin/forgebook/agentSetup/agentFiles.d.ts +55 -0
  8. package/dist/bin/forgebook/agentSetup/agentFiles.js +319 -0
  9. package/dist/bin/forgebook/agentSetup/assistantHooks.d.ts +71 -0
  10. package/dist/bin/forgebook/agentSetup/assistantHooks.js +125 -0
  11. package/dist/bin/forgebook/agentSetup/ciWorkflow.d.ts +23 -0
  12. package/dist/bin/forgebook/agentSetup/ciWorkflow.js +55 -0
  13. package/dist/bin/forgebook/agentSetup/drawCandidates.d.ts +25 -0
  14. package/dist/bin/forgebook/agentSetup/drawCandidates.js +116 -0
  15. package/dist/bin/forgebook/agentSetup/drawDiagnosis.d.ts +28 -0
  16. package/dist/bin/forgebook/agentSetup/drawDiagnosis.js +134 -0
  17. package/dist/bin/forgebook/agentSetup/drawRun.d.ts +91 -0
  18. package/dist/bin/forgebook/agentSetup/drawRun.js +353 -0
  19. package/dist/bin/forgebook/agentSetup/hookNames.d.ts +7 -0
  20. package/dist/bin/forgebook/agentSetup/hookNames.js +7 -0
  21. package/dist/bin/forgebook/agentSetup/initAgentSteps.d.ts +48 -0
  22. package/dist/bin/forgebook/agentSetup/initAgentSteps.js +104 -0
  23. package/dist/bin/forgebook/agentSetup/liftedProviders.d.ts +17 -0
  24. package/dist/bin/forgebook/agentSetup/liftedProviders.js +186 -0
  25. package/dist/bin/forgebook/agentSetup/projectRunner.d.ts +46 -0
  26. package/dist/bin/forgebook/agentSetup/projectRunner.js +85 -0
  27. package/dist/bin/forgebook/agentSetup/stopHook.d.ts +65 -0
  28. package/dist/bin/forgebook/agentSetup/stopHook.js +202 -0
  29. package/dist/bin/forgebook/agentSetup/uniformPicture.d.ts +7 -0
  30. package/dist/bin/forgebook/agentSetup/uniformPicture.js +98 -0
  31. package/dist/bin/forgebook/agentSetupCommands.d.mts +14 -0
  32. package/dist/bin/forgebook/agentSetupCommands.mjs +98 -0
  33. package/dist/bin/forgebook/agentText.d.ts +23 -3
  34. package/dist/bin/forgebook/agentText.js +182 -28
  35. package/dist/bin/forgebook/agents.md +20 -191
  36. package/dist/bin/forgebook/agentsText.js +2 -1
  37. package/dist/bin/forgebook/appBuild/appBuild.d.ts +59 -0
  38. package/dist/bin/forgebook/appBuild/appBuild.js +213 -0
  39. package/dist/bin/forgebook/appBuild/appViteConfig.d.ts +96 -0
  40. package/dist/bin/forgebook/appBuild/appViteConfig.js +320 -0
  41. package/dist/bin/forgebook/appBuild/tsconfigPaths.d.ts +14 -0
  42. package/dist/bin/forgebook/appBuild/tsconfigPaths.js +80 -0
  43. package/dist/bin/forgebook/auditCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/auditCommand.mjs +75 -0
  45. package/dist/bin/forgebook/auditRun.d.ts +95 -0
  46. package/dist/bin/forgebook/auditRun.js +270 -0
  47. package/dist/bin/forgebook/browserRun.d.ts +21 -0
  48. package/dist/bin/forgebook/browserRun.js +57 -0
  49. package/dist/bin/forgebook/buildFailure.d.ts +7 -0
  50. package/dist/bin/forgebook/buildFailure.js +47 -0
  51. package/dist/bin/forgebook/buildWatch.d.ts +52 -0
  52. package/dist/bin/forgebook/buildWatch.js +137 -0
  53. package/dist/bin/forgebook/builtCatalogue.js +9 -5
  54. package/dist/bin/forgebook/catalogueCommands.d.ts +9 -0
  55. package/dist/bin/forgebook/catalogueCommands.js +23 -0
  56. package/dist/bin/forgebook/catalogueVite.d.ts +5 -1
  57. package/dist/bin/forgebook/catalogueVite.js +14 -6
  58. package/dist/bin/forgebook/commandCacheClaim.d.ts +18 -0
  59. package/dist/bin/forgebook/commandCacheClaim.js +170 -0
  60. package/dist/bin/forgebook/commandServer.d.ts +8 -0
  61. package/dist/bin/forgebook/commandServer.js +61 -13
  62. package/dist/bin/forgebook/forgebookCommands.mjs +105 -28
  63. package/dist/bin/forgebook/graphCommand.d.mts +8 -0
  64. package/dist/bin/forgebook/graphCommand.mjs +84 -0
  65. package/dist/bin/forgebook/guide/commands.md +62 -0
  66. package/dist/bin/forgebook/guide/devices.md +17 -0
  67. package/dist/bin/forgebook/guide/docs-pages.md +13 -0
  68. package/dist/bin/forgebook/guide/frameworks/angular.md +22 -0
  69. package/dist/bin/forgebook/guide/frameworks/html.md +22 -0
  70. package/dist/bin/forgebook/guide/frameworks/nextjs.md +23 -0
  71. package/dist/bin/forgebook/guide/frameworks/nuxt.md +22 -0
  72. package/dist/bin/forgebook/guide/frameworks/preact.md +16 -0
  73. package/dist/bin/forgebook/guide/frameworks/react-native-web.md +21 -0
  74. package/dist/bin/forgebook/guide/frameworks/react.md +16 -0
  75. package/dist/bin/forgebook/guide/frameworks/solid.md +18 -0
  76. package/dist/bin/forgebook/guide/frameworks/svelte.md +18 -0
  77. package/dist/bin/forgebook/guide/frameworks/sveltekit.md +23 -0
  78. package/dist/bin/forgebook/guide/frameworks/vue.md +18 -0
  79. package/dist/bin/forgebook/guide/frameworks/web-components.md +21 -0
  80. package/dist/bin/forgebook/guide/links.md +29 -0
  81. package/dist/bin/forgebook/guide/setup.md +23 -0
  82. package/dist/bin/forgebook/guide/stories.md +95 -0
  83. package/dist/bin/forgebook/guide/switches.md +43 -0
  84. package/dist/bin/forgebook/guideCommand.d.mts +13 -0
  85. package/dist/bin/forgebook/guideCommand.mjs +37 -0
  86. package/dist/bin/forgebook/importers/storybook.d.ts +21 -0
  87. package/dist/bin/forgebook/importers/storybook.js +11 -5
  88. package/dist/bin/forgebook/importers/storybookFrameworks.js +1 -1
  89. package/dist/bin/forgebook/initCommands.d.mts +11 -0
  90. package/dist/bin/forgebook/initCommands.mjs +51 -78
  91. package/dist/bin/forgebook/initConfig.d.ts +5 -3
  92. package/dist/bin/forgebook/initConfig.js +6 -3
  93. package/dist/bin/forgebook/initInstall.d.ts +15 -0
  94. package/dist/bin/forgebook/initInstall.js +77 -0
  95. package/dist/bin/forgebook/initPrint.d.ts +9 -0
  96. package/dist/bin/forgebook/initPrint.js +60 -0
  97. package/dist/bin/forgebook/initRefusals.d.ts +45 -0
  98. package/dist/bin/forgebook/initRefusals.js +91 -0
  99. package/dist/bin/forgebook/initRun.d.ts +28 -0
  100. package/dist/bin/forgebook/initRun.js +311 -0
  101. package/dist/bin/forgebook/mcpCommand.mjs +38 -4
  102. package/dist/bin/forgebook/mcpGraph.d.ts +13 -0
  103. package/dist/bin/forgebook/mcpGraph.js +24 -0
  104. package/dist/bin/forgebook/mcpTokens.d.ts +14 -0
  105. package/dist/bin/forgebook/mcpTokens.js +58 -0
  106. package/dist/bin/forgebook/mcpToolParts.d.ts +7 -0
  107. package/dist/bin/forgebook/mcpToolParts.js +10 -0
  108. package/dist/bin/forgebook/mcpTools.d.ts +13 -6
  109. package/dist/bin/forgebook/mcpTools.js +57 -90
  110. package/dist/bin/forgebook/mcpVerify.d.ts +16 -0
  111. package/dist/bin/forgebook/mcpVerify.js +36 -0
  112. package/dist/bin/forgebook/migrate/codemods.d.ts +11 -0
  113. package/dist/bin/forgebook/migrate/codemods.js +61 -0
  114. package/dist/bin/forgebook/migrate/migrate.types.d.ts +117 -0
  115. package/dist/bin/forgebook/migrate/migrate.types.js +5 -0
  116. package/dist/bin/forgebook/migrate/migrateCommand.d.mts +8 -0
  117. package/dist/bin/forgebook/migrate/migrateCommand.mjs +76 -0
  118. package/dist/bin/forgebook/migrate/migrateRun.d.ts +61 -0
  119. package/dist/bin/forgebook/migrate/migrateRun.js +210 -0
  120. package/dist/bin/forgebook/migrate/migrateText.d.ts +12 -0
  121. package/dist/bin/forgebook/migrate/migrateText.js +30 -0
  122. package/dist/bin/forgebook/migrate/migrateWrite.d.ts +27 -0
  123. package/dist/bin/forgebook/migrate/migrateWrite.js +66 -0
  124. package/dist/bin/forgebook/migrate/objectEdits.d.ts +70 -0
  125. package/dist/bin/forgebook/migrate/objectEdits.js +241 -0
  126. package/dist/bin/forgebook/migrate/playOnInBuilds.d.ts +3 -0
  127. package/dist/bin/forgebook/migrate/playOnInBuilds.js +86 -0
  128. package/dist/bin/forgebook/migrate/propGroupStrings.d.ts +5 -0
  129. package/dist/bin/forgebook/migrate/propGroupStrings.js +81 -0
  130. package/dist/bin/forgebook/newProject/newProject.d.ts +39 -0
  131. package/dist/bin/forgebook/newProject/newProject.js +180 -0
  132. package/dist/bin/forgebook/newProject/newProject.types.d.ts +97 -0
  133. package/dist/bin/forgebook/newProject/newProject.types.js +6 -0
  134. package/dist/bin/forgebook/newProject/packageManagers.d.ts +51 -0
  135. package/dist/bin/forgebook/newProject/packageManagers.js +121 -0
  136. package/dist/bin/forgebook/newProject/projectEntries.d.ts +62 -0
  137. package/dist/bin/forgebook/newProject/projectEntries.js +191 -0
  138. package/dist/bin/forgebook/newProject/projectFrameworks.d.ts +57 -0
  139. package/dist/bin/forgebook/newProject/projectFrameworks.js +148 -0
  140. package/dist/bin/forgebook/newProject/projectLook.d.ts +23 -0
  141. package/dist/bin/forgebook/newProject/projectLook.js +293 -0
  142. package/dist/bin/forgebook/newProject/projectPackages.d.ts +66 -0
  143. package/dist/bin/forgebook/newProject/projectPackages.js +178 -0
  144. package/dist/bin/forgebook/newRepair.d.ts +45 -0
  145. package/dist/bin/forgebook/newRepair.js +157 -0
  146. package/dist/bin/forgebook/newRepairRun.d.ts +69 -0
  147. package/dist/bin/forgebook/newRepairRun.js +148 -0
  148. package/dist/bin/forgebook/newStories.d.ts +23 -1
  149. package/dist/bin/forgebook/newStories.js +101 -11
  150. package/dist/bin/forgebook/newStoriesFile.d.ts +20 -1
  151. package/dist/bin/forgebook/newStoriesFile.js +43 -4
  152. package/dist/bin/forgebook/prebundleRun.d.ts +3 -1
  153. package/dist/bin/forgebook/prebundleRun.js +28 -8
  154. package/dist/bin/forgebook/proofCommand.d.mts +15 -0
  155. package/dist/bin/forgebook/proofCommand.mjs +212 -0
  156. package/dist/bin/forgebook/proofRun.d.ts +63 -0
  157. package/dist/bin/forgebook/proofRun.js +412 -0
  158. package/dist/bin/forgebook/proofText.d.ts +36 -0
  159. package/dist/bin/forgebook/proofText.js +131 -0
  160. package/dist/bin/forgebook/proofWorkflow.d.ts +29 -0
  161. package/dist/bin/forgebook/proofWorkflow.js +205 -0
  162. package/dist/bin/forgebook/setArgsTool.d.ts +8 -0
  163. package/dist/bin/forgebook/setArgsTool.js +70 -0
  164. package/dist/bin/forgebook/storyCheckCommands.mjs +42 -3
  165. package/dist/bin/forgebook/storyCheckRun.d.ts +50 -0
  166. package/dist/bin/forgebook/storyCheckRun.js +83 -9
  167. package/dist/bin/forgebook/storyFileIds.d.ts +15 -0
  168. package/dist/bin/forgebook/storyFileIds.js +14 -0
  169. package/dist/bin/forgebook/stressCases.d.ts +31 -0
  170. package/dist/bin/forgebook/stressCases.js +79 -0
  171. package/dist/bin/forgebook/stressRun.d.ts +12 -0
  172. package/dist/bin/forgebook/stressRun.js +61 -0
  173. package/dist/bin/forgebook/stressText.d.ts +27 -0
  174. package/dist/bin/forgebook/stressText.js +46 -0
  175. package/dist/bin/forgebook/verifyBase.d.ts +45 -0
  176. package/dist/bin/forgebook/verifyBase.js +204 -0
  177. package/dist/bin/forgebook/verifyCommand.d.mts +13 -0
  178. package/dist/bin/forgebook/verifyCommand.mjs +125 -0
  179. package/dist/bin/forgebook/verifyRun.d.ts +63 -0
  180. package/dist/bin/forgebook/verifyRun.js +108 -0
  181. package/dist/bin/forgebook/verifyVerdict.d.ts +40 -0
  182. package/dist/bin/forgebook/verifyVerdict.js +323 -0
  183. package/dist/bin/forgebook/workflowActions.d.ts +23 -0
  184. package/dist/bin/forgebook/workflowActions.js +23 -0
  185. package/dist/bin/forgebook-docs/catalogueMarkdown.js +12 -1
  186. package/dist/src/addressArgs.d.ts +29 -5
  187. package/dist/src/addressArgs.js +58 -16
  188. package/dist/src/addressArgsParam.d.ts +54 -0
  189. package/dist/src/addressArgsParam.js +51 -0
  190. package/dist/src/addressTexts.d.ts +14 -0
  191. package/dist/src/addressTexts.js +28 -21
  192. package/dist/src/agentIndexFile.d.ts +11 -0
  193. package/dist/src/agentIndexFile.js +11 -0
  194. package/dist/src/argConditions.d.ts +52 -0
  195. package/dist/src/argConditions.js +80 -0
  196. package/dist/src/argControl.d.ts +148 -0
  197. package/dist/src/argControl.js +0 -0
  198. package/dist/src/argExpression.d.ts +21 -0
  199. package/dist/src/argExpression.js +30 -0
  200. package/dist/src/argTypes.d.ts +40 -51
  201. package/dist/src/argTypes.js +69 -185
  202. package/dist/src/argsProps.d.ts +3 -3
  203. package/dist/src/argsProps.js +11 -5
  204. package/dist/src/bundlerErrors.d.ts +29 -0
  205. package/dist/src/bundlerErrors.js +49 -0
  206. package/dist/src/catalogue.d.ts +31 -0
  207. package/dist/src/catalogue.js +13 -2
  208. package/dist/src/catalogueRefs.d.ts +75 -0
  209. package/dist/src/catalogueRefs.js +122 -0
  210. package/dist/src/componentDocs.d.ts +83 -0
  211. package/dist/src/componentDocs.js +20 -3
  212. package/dist/src/controlCode.d.ts +27 -0
  213. package/dist/src/controlCode.js +41 -0
  214. package/dist/src/frame/callValues.d.ts +19 -0
  215. package/dist/src/frame/callValues.js +58 -0
  216. package/dist/src/frame/canvasScheme.d.ts +33 -0
  217. package/dist/src/frame/canvasScheme.js +67 -0
  218. package/dist/src/frame/controlValues.d.ts +39 -0
  219. package/dist/src/frame/controlValues.js +143 -0
  220. package/dist/src/frame/frame.css +36 -3
  221. package/dist/src/frame/frameStatus.d.ts +16 -1
  222. package/dist/src/frame/frameStatus.js +16 -1
  223. package/dist/src/frame/frameView.js +4 -3
  224. package/dist/src/frame/mountFrame.d.ts +10 -1
  225. package/dist/src/frame/mountFrame.js +160 -55
  226. package/dist/src/frame/panelControls.d.ts +67 -0
  227. package/dist/src/frame/panelControls.js +110 -0
  228. package/dist/src/frame/panelValues.d.ts +35 -0
  229. package/dist/src/frame/panelValues.js +127 -0
  230. package/dist/src/frame/playActions.d.ts +39 -0
  231. package/dist/src/frame/playActions.js +98 -0
  232. package/dist/src/frame/playStepper.d.ts +28 -0
  233. package/dist/src/frame/playStepper.js +38 -0
  234. package/dist/src/frame/playStory.d.ts +9 -1
  235. package/dist/src/frame/playStory.js +49 -3
  236. package/dist/src/frame/renderer.d.ts +34 -1
  237. package/dist/src/frame/renderer.js +24 -0
  238. package/dist/src/frame/shellChannel.d.ts +1 -1
  239. package/dist/src/frame/shellChannel.js +1 -1
  240. package/dist/src/frame/shellCheck.d.ts +17 -0
  241. package/dist/src/frame/shellCheck.js +25 -0
  242. package/dist/src/frame/shellMessageCheck.d.ts +7 -0
  243. package/dist/src/frame/shellMessageCheck.js +53 -0
  244. package/dist/src/frame/storyContent.d.ts +50 -0
  245. package/dist/src/frame/storyContent.js +73 -0
  246. package/dist/src/frame/storyModule.d.ts +9 -0
  247. package/dist/src/frame/storyModule.js +20 -2
  248. package/dist/src/frame/storyRun.d.ts +15 -7
  249. package/dist/src/frame/storyRun.js +64 -15
  250. package/dist/src/frame/valueSheets.d.ts +35 -0
  251. package/dist/src/frame/valueSheets.js +99 -0
  252. package/dist/src/hotModules.d.ts +20 -0
  253. package/dist/src/hotModules.js +23 -0
  254. package/dist/src/jsxCode.d.ts +1 -14
  255. package/dist/src/jsxCode.js +46 -10
  256. package/dist/src/liveErrors.d.ts +30 -4
  257. package/dist/src/liveErrors.js +18 -3
  258. package/dist/src/messages.d.ts +77 -27
  259. package/dist/src/messages.js +58 -100
  260. package/dist/src/namedValues.d.ts +2 -26
  261. package/dist/src/namedValues.js +0 -47
  262. package/dist/src/pageConfig.d.ts +2 -0
  263. package/dist/src/playTrace.d.ts +19 -2
  264. package/dist/src/playTrace.js +10 -5
  265. package/dist/src/plugin.d.ts +10 -3
  266. package/dist/src/previewRelay.js +9 -1
  267. package/dist/src/printable.d.ts +12 -0
  268. package/dist/src/printable.js +22 -0
  269. package/dist/src/propsSignature.d.ts +37 -0
  270. package/dist/src/propsSignature.js +40 -0
  271. package/dist/src/search.d.ts +41 -5
  272. package/dist/src/search.js +93 -23
  273. package/dist/src/searchMatch.d.ts +4 -1
  274. package/dist/src/searchMatch.js +26 -5
  275. package/dist/src/searchTypos.d.ts +88 -0
  276. package/dist/src/searchTypos.js +178 -0
  277. package/dist/src/shapeValues.d.ts +86 -0
  278. package/dist/src/shapeValues.js +295 -0
  279. package/dist/src/shell/ApiReference.js +6 -3
  280. package/dist/src/shell/ApiTableBox.d.ts +15 -0
  281. package/dist/src/shell/ApiTableBox.js +11 -0
  282. package/dist/src/shell/AppearanceMenu.d.ts +4 -1
  283. package/dist/src/shell/AppearanceMenu.js +9 -6
  284. package/dist/src/shell/AuthoredHome.js +3 -1
  285. package/dist/src/shell/CodeTab.d.ts +12 -6
  286. package/dist/src/shell/CodeTab.js +47 -3
  287. package/dist/src/shell/CodeText.d.ts +1 -1
  288. package/dist/src/shell/CodeText.js +2 -3
  289. package/dist/src/shell/CompareGrid.js +1 -1
  290. package/dist/src/shell/ComponentPage.d.ts +6 -6
  291. package/dist/src/shell/ComponentPage.js +8 -2
  292. package/dist/src/shell/CustomControl.d.ts +34 -0
  293. package/dist/src/shell/CustomControl.js +125 -0
  294. package/dist/src/shell/DocContainers.js +1 -1
  295. package/dist/src/shell/DocPage.js +2 -2
  296. package/dist/src/shell/DroppedArgsList.d.ts +2 -2
  297. package/dist/src/shell/DroppedArgsList.js +1 -1
  298. package/dist/src/shell/EmbedPage.js +30 -12
  299. package/dist/src/shell/Example.d.ts +5 -1
  300. package/dist/src/shell/Example.js +16 -8
  301. package/dist/src/shell/FrameView.d.ts +6 -3
  302. package/dist/src/shell/FrameView.js +2 -2
  303. package/dist/src/shell/HomePage.d.ts +3 -1
  304. package/dist/src/shell/HomePage.js +18 -6
  305. package/dist/src/shell/InfoTip.js +2 -2
  306. package/dist/src/shell/InteractionsTab.d.ts +11 -4
  307. package/dist/src/shell/InteractionsTab.js +18 -2
  308. package/dist/src/shell/LazyPage.js +1 -1
  309. package/dist/src/shell/PackageHtml.js +3 -1
  310. package/dist/src/shell/PageWidth.d.ts +29 -0
  311. package/dist/src/shell/PageWidth.js +18 -0
  312. package/dist/src/shell/PinnedControl.js +14 -62
  313. package/dist/src/shell/PinnedControlMenu.d.ts +44 -0
  314. package/dist/src/shell/PinnedControlMenu.js +72 -0
  315. package/dist/src/shell/PropFields.d.ts +3 -1
  316. package/dist/src/shell/PropFields.js +9 -6
  317. package/dist/src/shell/PropRows.d.ts +22 -11
  318. package/dist/src/shell/PropRows.js +62 -24
  319. package/dist/src/shell/PropsTab.d.ts +12 -5
  320. package/dist/src/shell/PropsTab.js +9 -22
  321. package/dist/src/shell/RefStoryPage.d.ts +33 -0
  322. package/dist/src/shell/RefStoryPage.js +123 -0
  323. package/dist/src/shell/SearchPanel.js +51 -24
  324. package/dist/src/shell/Shell.d.ts +18 -0
  325. package/dist/src/shell/Shell.js +141 -23
  326. package/dist/src/shell/ShortcutHelp.d.ts +22 -0
  327. package/dist/src/shell/ShortcutHelp.js +66 -0
  328. package/dist/src/shell/Sidebar.d.ts +17 -4
  329. package/dist/src/shell/Sidebar.js +92 -41
  330. package/dist/src/shell/SidebarDocs.js +2 -2
  331. package/dist/src/shell/SidebarEntries.js +5 -3
  332. package/dist/src/shell/SidebarHandle.d.ts +3 -5
  333. package/dist/src/shell/SidebarHandle.js +4 -4
  334. package/dist/src/shell/SidebarRefs.d.ts +39 -0
  335. package/dist/src/shell/SidebarRefs.js +99 -0
  336. package/dist/src/shell/SidebarSearch.js +37 -9
  337. package/dist/src/shell/SignatureReference.js +3 -1
  338. package/dist/src/shell/Stage.d.ts +10 -2
  339. package/dist/src/shell/Stage.js +29 -49
  340. package/dist/src/shell/StatusBadges.d.ts +54 -0
  341. package/dist/src/shell/StatusBadges.js +77 -0
  342. package/dist/src/shell/StoryCodeBlock.d.ts +8 -19
  343. package/dist/src/shell/StoryCodeBlock.js +7 -6
  344. package/dist/src/shell/StoryPicker.d.ts +4 -2
  345. package/dist/src/shell/StoryPicker.js +3 -3
  346. package/dist/src/shell/Switch.d.ts +29 -0
  347. package/dist/src/shell/Switch.js +11 -0
  348. package/dist/src/shell/SwitchGallery.d.ts +36 -0
  349. package/dist/src/shell/SwitchGallery.js +17 -0
  350. package/dist/src/shell/SwitchGalleryPanel.d.ts +37 -0
  351. package/dist/src/shell/SwitchGalleryPanel.js +99 -0
  352. package/dist/src/shell/TagFilter.d.ts +24 -0
  353. package/dist/src/shell/TagFilter.js +45 -0
  354. package/dist/src/shell/TagViews.d.ts +39 -0
  355. package/dist/src/shell/TagViews.js +20 -0
  356. package/dist/src/shell/Toolbar.d.ts +4 -1
  357. package/dist/src/shell/Toolbar.js +17 -7
  358. package/dist/src/shell/ToolbarControl.d.ts +3 -0
  359. package/dist/src/shell/ToolbarControl.js +23 -6
  360. package/dist/src/shell/ViewMenuPanel.js +6 -1
  361. package/dist/src/shell/argChecks.d.ts +22 -0
  362. package/dist/src/shell/argChecks.js +20 -0
  363. package/dist/src/shell/asideStory.js +7 -2
  364. package/dist/src/shell/audienceSections.css +9 -9
  365. package/dist/src/shell/catalogueContext.d.ts +1 -1
  366. package/dist/src/shell/catalogueContext.js +6 -1
  367. package/dist/src/shell/codeSpans.d.ts +27 -0
  368. package/dist/src/shell/codeSpans.js +76 -0
  369. package/dist/src/shell/compareVariants.d.ts +4 -2
  370. package/dist/src/shell/compareVariants.js +16 -8
  371. package/dist/src/shell/composition.d.ts +23 -0
  372. package/dist/src/shell/composition.js +26 -0
  373. package/dist/src/shell/controlCycle.d.ts +1 -1
  374. package/dist/src/shell/controlCycle.js +3 -2
  375. package/dist/src/shell/customControls.d.ts +62 -0
  376. package/dist/src/shell/customControls.js +81 -0
  377. package/dist/src/shell/docPage.css +22 -22
  378. package/dist/src/shell/dockTabs.d.ts +19 -3
  379. package/dist/src/shell/dockTabs.js +29 -20
  380. package/dist/src/shell/embed.css +7 -7
  381. package/dist/src/shell/frameOrder.d.ts +35 -0
  382. package/dist/src/shell/frameOrder.js +45 -0
  383. package/dist/src/shell/framesOrigin.d.ts +7 -0
  384. package/dist/src/shell/framesOrigin.js +1 -1
  385. package/dist/src/shell/galleryPlace.d.ts +20 -0
  386. package/dist/src/shell/galleryPlace.js +26 -0
  387. package/dist/src/shell/icons.d.ts +1 -0
  388. package/dist/src/shell/icons.js +1 -0
  389. package/dist/src/shell/keyboard.d.ts +14 -12
  390. package/dist/src/shell/keyboard.js +21 -6
  391. package/dist/src/shell/laterStrings.d.ts +30 -0
  392. package/dist/src/shell/laterStrings.js +43 -3
  393. package/dist/src/shell/mountShell.js +3 -0
  394. package/dist/src/shell/pageStrings.d.ts +4 -0
  395. package/dist/src/shell/pageStrings.js +4 -0
  396. package/dist/src/shell/pageTagView.d.ts +18 -0
  397. package/dist/src/shell/pageTagView.js +10 -0
  398. package/dist/src/shell/playMemory.d.ts +14 -0
  399. package/dist/src/shell/playMemory.js +8 -0
  400. package/dist/src/shell/propNotes.d.ts +23 -0
  401. package/dist/src/shell/propNotes.js +37 -0
  402. package/dist/src/shell/refIndexLoad.d.ts +17 -0
  403. package/dist/src/shell/refIndexLoad.js +38 -0
  404. package/dist/src/shell/refParts.d.ts +34 -0
  405. package/dist/src/shell/refParts.js +9 -0
  406. package/dist/src/shell/refStory.css +21 -0
  407. package/dist/src/shell/refStrings.d.ts +13 -0
  408. package/dist/src/shell/refStrings.js +21 -0
  409. package/dist/src/shell/search.css +11 -11
  410. package/dist/src/shell/shell.css +376 -169
  411. package/dist/src/shell/shellScheme.js +2 -2
  412. package/dist/src/shell/shortcutHelp.css +64 -0
  413. package/dist/src/shell/stageArgs.d.ts +53 -0
  414. package/dist/src/shell/stageArgs.js +64 -0
  415. package/dist/src/shell/statusBadges.css +51 -0
  416. package/dist/src/shell/strings.d.ts +7 -16
  417. package/dist/src/shell/strings.js +12 -17
  418. package/dist/src/shell/switchGallery.css +104 -0
  419. package/dist/src/shell/tagFilter.css +46 -0
  420. package/dist/src/shell/tagView.d.ts +20 -0
  421. package/dist/src/shell/tagView.js +10 -0
  422. package/dist/src/shell/useAddressArgs.d.ts +9 -0
  423. package/dist/src/shell/useAddressArgs.js +56 -11
  424. package/dist/src/shell/useControlKeys.js +2 -2
  425. package/dist/src/shell/useEditedProblems.d.ts +6 -0
  426. package/dist/src/shell/useEditedProblems.js +40 -0
  427. package/dist/src/shell/useFrameMessages.js +3 -0
  428. package/dist/src/shell/useFrameQueue.d.ts +8 -3
  429. package/dist/src/shell/useFrameQueue.js +42 -12
  430. package/dist/src/shell/useListedTree.d.ts +13 -0
  431. package/dist/src/shell/useListedTree.js +32 -0
  432. package/dist/src/shell/usePageFrames.js +2 -2
  433. package/dist/src/shell/usePopover.d.ts +5 -0
  434. package/dist/src/shell/usePopover.js +7 -1
  435. package/dist/src/shell/useRefIndex.d.ts +22 -0
  436. package/dist/src/shell/useRefIndex.js +36 -0
  437. package/dist/src/shell/useScrollSettled.d.ts +18 -0
  438. package/dist/src/shell/useScrollSettled.js +56 -0
  439. package/dist/src/shell/useScrollStops.d.ts +20 -0
  440. package/dist/src/shell/useScrollStops.js +41 -0
  441. package/dist/src/shell/useShortcutHelp.d.ts +18 -0
  442. package/dist/src/shell/useShortcutHelp.js +32 -0
  443. package/dist/src/shell/useSidebarOverlay.d.ts +2 -1
  444. package/dist/src/shell/useSidebarOverlay.js +12 -4
  445. package/dist/src/shell/useStoryCode.d.ts +2 -1
  446. package/dist/src/shell/useStoryCode.js +12 -7
  447. package/dist/src/shell/useToolbarLayout.d.ts +5 -1
  448. package/dist/src/shell/useToolbarLayout.js +2 -2
  449. package/dist/src/shell/useWorstCase.d.ts +8 -2
  450. package/dist/src/shell/useWorstCase.js +2 -2
  451. package/dist/src/shell/valueEditors/FileEditor.d.ts +28 -0
  452. package/dist/src/shell/valueEditors/FileEditor.js +66 -0
  453. package/dist/src/shell/valueEditors/JsonEditor.d.ts +14 -0
  454. package/dist/src/shell/valueEditors/JsonEditor.js +53 -0
  455. package/dist/src/shell/valueEditors/ListEditor.d.ts +24 -0
  456. package/dist/src/shell/valueEditors/ListEditor.js +82 -0
  457. package/dist/src/shell/valueEditors/ObjectEditor.d.ts +32 -0
  458. package/dist/src/shell/valueEditors/ObjectEditor.js +70 -0
  459. package/dist/src/shell/valueEditors/PropEditor.d.ts +37 -0
  460. package/dist/src/shell/valueEditors/PropEditor.js +53 -0
  461. package/dist/src/shell/valueEditors/RecordEditor.d.ts +20 -0
  462. package/dist/src/shell/valueEditors/RecordEditor.js +84 -0
  463. package/dist/src/shell/valueEditors/SearchSelect.d.ts +42 -0
  464. package/dist/src/shell/valueEditors/SearchSelect.js +80 -0
  465. package/dist/src/shell/valueEditors/TokenEditor.d.ts +49 -0
  466. package/dist/src/shell/valueEditors/TokenEditor.js +74 -0
  467. package/dist/src/shell/valueEditors/UnionEditor.d.ts +20 -0
  468. package/dist/src/shell/valueEditors/UnionEditor.js +64 -0
  469. package/dist/src/shell/valueEditors/ValueField.d.ts +15 -0
  470. package/dist/src/shell/valueEditors/ValueField.js +148 -0
  471. package/dist/src/shell/valueEditors/editorStrings.d.ts +56 -0
  472. package/dist/src/shell/valueEditors/editorStrings.js +66 -0
  473. package/dist/src/shell/valueEditors/fieldTypes.d.ts +31 -0
  474. package/dist/src/shell/valueEditors/fieldTypes.js +0 -0
  475. package/dist/src/shell/valueEditors/valueEditors.css +153 -0
  476. package/dist/src/shell/worstArgs.d.ts +8 -5
  477. package/dist/src/shell/worstArgs.js +14 -7
  478. package/dist/src/shellTheme.d.ts +1 -1
  479. package/dist/src/shellTheme.js +15 -1
  480. package/dist/src/shellTheme.types.d.ts +4 -0
  481. package/dist/src/shellWord.d.ts +12 -0
  482. package/dist/src/shellWord.js +15 -0
  483. package/dist/src/sourceFiles.js +2 -1
  484. package/dist/src/storyArgTypes.d.ts +57 -0
  485. package/dist/src/storyArgTypes.js +195 -0
  486. package/dist/src/storyBackground.js +14 -3
  487. package/dist/src/storyCheck.d.ts +99 -3
  488. package/dist/src/storyCheck.js +39 -1
  489. package/dist/src/storyCodeText.d.ts +52 -0
  490. package/dist/src/storyCodeText.js +30 -0
  491. package/dist/src/storyControls.d.ts +103 -0
  492. package/dist/src/storyControls.js +100 -0
  493. package/dist/src/storyStatuses.d.ts +55 -0
  494. package/dist/src/storyStatuses.js +104 -0
  495. package/dist/src/storyTagNames.d.ts +25 -0
  496. package/dist/src/storyTagNames.js +25 -0
  497. package/dist/src/storyTags.d.ts +29 -0
  498. package/dist/src/storyTags.js +85 -0
  499. package/dist/src/storyTree.d.ts +13 -0
  500. package/dist/src/storyTree.js +24 -4
  501. package/dist/src/storybookArgs.d.ts +24 -0
  502. package/dist/src/storybookArgs.js +185 -0
  503. package/dist/src/switches.d.ts +66 -3
  504. package/dist/src/switches.js +42 -1
  505. package/dist/src/valueSchema.d.ts +28 -0
  506. package/dist/src/valueSchema.js +196 -0
  507. package/dist/src/valueShape.d.ts +94 -0
  508. package/dist/src/valueShape.js +25 -0
  509. package/dist/src/viewState.d.ts +8 -3
  510. package/dist/src/viewState.js +27 -10
  511. package/dist/src/vite/adapter.d.ts +40 -2
  512. package/dist/src/vite/adapter.js +1 -0
  513. package/dist/src/vite/agent.types.d.ts +354 -7
  514. package/dist/src/vite/agentApi.d.ts +23 -0
  515. package/dist/src/vite/agentApi.js +90 -17
  516. package/dist/src/vite/agentIndex.d.ts +0 -2
  517. package/dist/src/vite/agentIndex.js +5 -6
  518. package/dist/src/vite/agentRoutes.d.ts +20 -1
  519. package/dist/src/vite/agentRoutes.js +135 -66
  520. package/dist/src/vite/agentStatuses.d.ts +42 -0
  521. package/dist/src/vite/agentStatuses.js +67 -0
  522. package/dist/src/vite/agentStoryCode.d.ts +51 -0
  523. package/dist/src/vite/agentStoryCode.js +44 -0
  524. package/dist/src/vite/agentVisibility.d.ts +47 -0
  525. package/dist/src/vite/agentVisibility.js +174 -0
  526. package/dist/src/vite/appAudit.d.ts +134 -0
  527. package/dist/src/vite/appAudit.js +333 -0
  528. package/dist/src/vite/appBuildOption.d.ts +53 -0
  529. package/dist/src/vite/appBuildOption.js +55 -0
  530. package/dist/src/vite/appTokenFiles.d.ts +92 -0
  531. package/dist/src/vite/appTokenFiles.js +433 -0
  532. package/dist/src/vite/appTokens.d.ts +23 -0
  533. package/dist/src/vite/appTokens.js +275 -0
  534. package/dist/src/vite/argControlsConfig.d.ts +30 -0
  535. package/dist/src/vite/argControlsConfig.js +176 -0
  536. package/dist/src/vite/builtTexts.d.ts +10 -0
  537. package/dist/src/vite/builtTexts.js +59 -22
  538. package/dist/src/vite/catalogueConfig.d.ts +3 -1
  539. package/dist/src/vite/catalogueConfig.js +21 -4
  540. package/dist/src/vite/changeCoverage.d.ts +74 -0
  541. package/dist/src/vite/changeCoverage.js +120 -0
  542. package/dist/src/vite/changedRoute.d.ts +30 -0
  543. package/dist/src/vite/changedRoute.js +197 -0
  544. package/dist/src/vite/checkCode.d.ts +105 -3
  545. package/dist/src/vite/checkCode.js +323 -36
  546. package/dist/src/vite/checkoutWatch.d.ts +97 -0
  547. package/dist/src/vite/checkoutWatch.js +287 -0
  548. package/dist/src/vite/closeWatch.d.ts +8 -0
  549. package/dist/src/vite/closeWatch.js +1 -1
  550. package/dist/src/vite/componentCache.d.ts +8 -0
  551. package/dist/src/vite/componentCache.js +66 -0
  552. package/dist/src/vite/componentGraph.d.ts +71 -0
  553. package/dist/src/vite/componentGraph.js +133 -0
  554. package/dist/src/vite/componentRules.d.ts +33 -0
  555. package/dist/src/vite/componentRules.js +105 -0
  556. package/dist/src/vite/componentScan.d.ts +69 -0
  557. package/dist/src/vite/componentScan.js +418 -0
  558. package/dist/src/vite/compositionCheck.d.ts +15 -0
  559. package/dist/src/vite/compositionCheck.js +243 -0
  560. package/dist/src/vite/config.d.ts +67 -1
  561. package/dist/src/vite/configFile.d.ts +15 -2
  562. package/dist/src/vite/configFile.js +109 -40
  563. package/dist/src/vite/configKeys.d.ts +15 -0
  564. package/dist/src/vite/configKeys.js +172 -0
  565. package/dist/src/vite/configLoadError.d.ts +23 -0
  566. package/dist/src/vite/configLoadError.js +71 -0
  567. package/dist/src/vite/cssDeclarations.d.ts +71 -0
  568. package/dist/src/vite/cssDeclarations.js +290 -0
  569. package/dist/src/vite/cssImports.d.ts +14 -0
  570. package/dist/src/vite/cssImports.js +48 -0
  571. package/dist/src/vite/cssReferences.d.ts +54 -0
  572. package/dist/src/vite/cssReferences.js +157 -0
  573. package/dist/src/vite/cssTokenValues.d.ts +50 -0
  574. package/dist/src/vite/cssTokenValues.js +233 -0
  575. package/dist/src/vite/designTokens.d.ts +24 -0
  576. package/dist/src/vite/designTokens.js +5 -1
  577. package/dist/src/vite/docsExtractor.d.ts +9 -3
  578. package/dist/src/vite/docsExtractor.js +11 -3
  579. package/dist/src/vite/docsProgram.d.ts +17 -4
  580. package/dist/src/vite/docsProgram.js +52 -11
  581. package/dist/src/vite/docsWorker.js +7 -2
  582. package/dist/src/vite/emptyStoryGlobs.d.ts +41 -0
  583. package/dist/src/vite/emptyStoryGlobs.js +52 -0
  584. package/dist/src/vite/fileImports.d.ts +17 -0
  585. package/dist/src/vite/fileImports.js +57 -0
  586. package/dist/src/vite/findComponent.d.ts +10 -2
  587. package/dist/src/vite/findComponent.js +27 -22
  588. package/dist/src/vite/findRoute.js +3 -2
  589. package/dist/src/vite/forcedStates.d.ts +9 -2
  590. package/dist/src/vite/forcedStates.js +12 -3
  591. package/dist/src/vite/forgebookPlugin.d.ts +2 -0
  592. package/dist/src/vite/forgebookPlugin.js +55 -73
  593. package/dist/src/vite/frameErrors.d.ts +19 -0
  594. package/dist/src/vite/frameErrors.js +70 -0
  595. package/dist/src/vite/framesServer.d.ts +12 -0
  596. package/dist/src/vite/framesServer.js +21 -4
  597. package/dist/src/vite/functionComponentDocs.js +81 -12
  598. package/dist/src/vite/generatedModules.js +4 -2
  599. package/dist/src/vite/gitChange.d.ts +38 -5
  600. package/dist/src/vite/gitChange.js +71 -11
  601. package/dist/src/vite/hiddenStoryFiles.d.ts +23 -0
  602. package/dist/src/vite/hiddenStoryFiles.js +107 -0
  603. package/dist/src/vite/hotSnippets.d.ts +38 -14
  604. package/dist/src/vite/hotSnippets.js +137 -39
  605. package/dist/src/vite/importedNames.d.ts +37 -0
  606. package/dist/src/vite/importedNames.js +138 -0
  607. package/dist/src/vite/indexFields.d.ts +6 -0
  608. package/dist/src/vite/indexFields.js +21 -0
  609. package/dist/src/vite/indexStoryFile.d.ts +8 -1
  610. package/dist/src/vite/indexStoryFile.js +22 -157
  611. package/dist/src/vite/jsxCallSites.d.ts +33 -0
  612. package/dist/src/vite/jsxCallSites.js +200 -0
  613. package/dist/src/vite/jsxInScripts.d.ts +67 -0
  614. package/dist/src/vite/jsxInScripts.js +138 -0
  615. package/dist/src/vite/jsxTree.d.ts +20 -0
  616. package/dist/src/vite/jsxTree.js +163 -0
  617. package/dist/src/vite/lineAndColumn.d.ts +13 -0
  618. package/dist/src/vite/lineAndColumn.js +18 -0
  619. package/dist/src/vite/lookAlikes.d.ts +65 -0
  620. package/dist/src/vite/lookAlikes.js +228 -0
  621. package/dist/src/vite/nearestToken.d.ts +17 -0
  622. package/dist/src/vite/nearestToken.js +9 -2
  623. package/dist/src/vite/packageEntries.d.ts +42 -0
  624. package/dist/src/vite/packageEntries.js +127 -0
  625. package/dist/src/vite/pages.d.ts +9 -1
  626. package/dist/src/vite/pages.js +119 -4
  627. package/dist/src/vite/pluginConfig.js +4 -0
  628. package/dist/src/vite/pluginIds.d.ts +2 -0
  629. package/dist/src/vite/pluginIds.js +5 -1
  630. package/dist/src/vite/pluginModules.d.ts +81 -11
  631. package/dist/src/vite/pluginModules.js +109 -21
  632. package/dist/src/vite/prebundled.d.ts +57 -15
  633. package/dist/src/vite/prebundled.js +80 -0
  634. package/dist/src/vite/previewTags.d.ts +25 -0
  635. package/dist/src/vite/previewTags.js +56 -0
  636. package/dist/src/vite/projectFiles.d.ts +54 -0
  637. package/dist/src/vite/projectFiles.js +116 -0
  638. package/dist/src/vite/projectPostcss.d.ts +70 -0
  639. package/dist/src/vite/projectPostcss.js +250 -0
  640. package/dist/src/vite/propDocs.d.ts +12 -0
  641. package/dist/src/vite/propDocs.js +187 -60
  642. package/dist/src/vite/propKind.d.ts +40 -0
  643. package/dist/src/vite/propKind.js +71 -0
  644. package/dist/src/vite/propTypeNotes.d.ts +22 -0
  645. package/dist/src/vite/propTypeNotes.js +51 -0
  646. package/dist/src/vite/publishedExports.d.ts +27 -0
  647. package/dist/src/vite/publishedExports.js +298 -0
  648. package/dist/src/vite/realFolder.d.ts +6 -0
  649. package/dist/src/vite/realFolder.js +25 -0
  650. package/dist/src/vite/refsConfig.d.ts +39 -0
  651. package/dist/src/vite/refsConfig.js +54 -0
  652. package/dist/src/vite/reuseCheck.d.ts +45 -0
  653. package/dist/src/vite/reuseCheck.js +260 -0
  654. package/dist/src/vite/runningVersions.d.ts +33 -0
  655. package/dist/src/vite/runningVersions.js +25 -0
  656. package/dist/src/vite/scriptProblems.d.ts +60 -0
  657. package/dist/src/vite/scriptProblems.js +155 -0
  658. package/dist/src/vite/searchModule.js +3 -2
  659. package/dist/src/vite/searchRoute.js +4 -2
  660. package/dist/src/vite/shapeDocs.d.ts +36 -0
  661. package/dist/src/vite/shapeDocs.js +177 -0
  662. package/dist/src/vite/singleFileComponent.d.ts +17 -0
  663. package/dist/src/vite/singleFileComponent.js +83 -0
  664. package/dist/src/vite/sourceText.d.ts +34 -0
  665. package/dist/src/vite/sourceText.js +72 -0
  666. package/dist/src/vite/sourceTokens.d.ts +7 -0
  667. package/dist/src/vite/sourceTokens.js +7 -2
  668. package/dist/src/vite/stackLines.d.ts +49 -0
  669. package/dist/src/vite/stackLines.js +96 -0
  670. package/dist/src/vite/storyCode.d.ts +22 -7
  671. package/dist/src/vite/storyCode.js +263 -37
  672. package/dist/src/vite/storyCoverage.d.ts +48 -0
  673. package/dist/src/vite/storyCoverage.js +179 -0
  674. package/dist/src/vite/storyFilesModule.d.ts +48 -3
  675. package/dist/src/vite/storyFilesModule.js +105 -15
  676. package/dist/src/vite/storyPatterns.d.ts +31 -0
  677. package/dist/src/vite/storyPatterns.js +140 -5
  678. package/dist/src/vite/storyReach.d.ts +10 -2
  679. package/dist/src/vite/storyReach.js +15 -11
  680. package/dist/src/vite/storyTopLevel.d.ts +51 -0
  681. package/dist/src/vite/storyTopLevel.js +146 -0
  682. package/dist/src/vite/storylessRoutes.d.ts +4 -3
  683. package/dist/src/vite/storylessRoutes.js +210 -19
  684. package/dist/src/vite/switchValuesCheck.d.ts +19 -0
  685. package/dist/src/vite/switchValuesCheck.js +164 -0
  686. package/dist/src/vite/switchesDocument.d.ts +15 -0
  687. package/dist/src/vite/switchesDocument.js +47 -0
  688. package/dist/src/vite/tailwindConfigTokens.d.ts +41 -0
  689. package/dist/src/vite/tailwindConfigTokens.js +306 -0
  690. package/dist/src/vite/textImports.d.ts +15 -0
  691. package/dist/src/vite/textImports.js +58 -0
  692. package/dist/src/vite/textModules.d.ts +6 -5
  693. package/dist/src/vite/textModules.js +13 -8
  694. package/dist/src/vite/tokenAnswers.d.ts +6 -2
  695. package/dist/src/vite/tokenAnswers.js +11 -7
  696. package/dist/src/vite/typeParameters.d.ts +83 -0
  697. package/dist/src/vite/typeParameters.js +270 -0
  698. package/dist/src/vite/typedControls.d.ts +31 -0
  699. package/dist/src/vite/typedControls.js +66 -0
  700. package/dist/src/vite/unionProps.d.ts +37 -0
  701. package/dist/src/vite/unionProps.js +121 -0
  702. package/dist/src/vite/unresolvedTokens.d.ts +20 -0
  703. package/dist/src/vite/unresolvedTokens.js +193 -0
  704. package/dist/src/vite/usageGraph.js +10 -52
  705. package/dist/src/vite/usageGuidance.d.ts +9 -2
  706. package/dist/src/vite/usageGuidance.js +36 -8
  707. package/dist/src/vite/usageImports.d.ts +35 -0
  708. package/dist/src/vite/usageImports.js +280 -0
  709. package/dist/src/vite/visibilityRoute.d.ts +16 -0
  710. package/dist/src/vite/visibilityRoute.js +320 -0
  711. package/dist/src/worstCase.d.ts +2 -0
  712. package/dist/src/worstCase.js +2 -0
  713. package/package.json +28 -8
@@ -0,0 +1,76 @@
1
+ /**
2
+ * `forgebook migrate`: the codemods of `forgebook`'s breaking changes, run on a project's configuration and preset modules.
3
+ * Lists the changes by default, writes them with `--write`.
4
+ *
5
+ * @module
6
+ */
7
+ import { resolve } from "node:path";
8
+ import { EXIT } from "@ensiria/cli-kit/constants";
9
+ import { formatJson } from "@ensiria/cli-kit/files";
10
+ import { ScriptError } from "@ensiria/cli-kit/script";
11
+ import { COMMAND, configPathOf } from "../catalogueCommands.js";
12
+ /**
13
+ * The commands.
14
+ *
15
+ * @param forgebook - the scope of the `forgebook` command, whose options every command takes.
16
+ */
17
+ export const migrateCommands = (forgebook) => ({
18
+ migrate: forgebook.command({
19
+ summary: "Rewrite a project for Forgebook's breaking changes: list them (exit 1 while some are unwritten), then write them with --write.",
20
+ json: true,
21
+ positionals: [
22
+ {
23
+ name: "files",
24
+ variadic: true,
25
+ description: "Other modules holding a preset or a configuration, inside the current folder and outside node_modules; the configuration is always read."
26
+ }
27
+ ],
28
+ options: {
29
+ write: { type: "boolean", description: "Write the changes; without it they are only listed." },
30
+ from: {
31
+ type: "string",
32
+ valueName: "version",
33
+ description: "The version of forgebook the project upgrades from (0.3.3): only the changes since, including those that keep an old behaviour."
34
+ },
35
+ only: {
36
+ type: "string",
37
+ multiple: true,
38
+ valueName: "id",
39
+ description: "Only this codemod; repeat for more."
40
+ }
41
+ },
42
+ examples: [
43
+ { command: `${COMMAND} migrate --from 0.3.3`, description: "What upgrading from 0.3.3 changes." },
44
+ { command: `${COMMAND} migrate --from 0.3.3 --write`, description: "Make the changes." },
45
+ {
46
+ command: `${COMMAND} migrate src/preset.ts --json`,
47
+ description: "A library's preset too, as an agent asks."
48
+ }
49
+ ],
50
+ run: async ({ positionals, options, io, isJson }) => {
51
+ const { isMigrationPending, requestProblem, runMigrate } = await import("./migrateRun.js");
52
+ const { migrateText } = await import("./migrateText.js");
53
+ const request = {
54
+ cwd: process.cwd(),
55
+ config: configPathOf(options.config),
56
+ modules: positionals.map((file) => resolve(file)),
57
+ from: options.from,
58
+ only: options.only.length === 0 ? undefined : options.only,
59
+ isWrite: options.write === true
60
+ };
61
+ const problem = requestProblem(request);
62
+ if (problem !== undefined)
63
+ throw new ScriptError(problem, { exitCode: EXIT.usage });
64
+ let document;
65
+ try {
66
+ document = runMigrate(request);
67
+ }
68
+ catch (error) {
69
+ throw new ScriptError(error instanceof Error ? error.message : String(error));
70
+ }
71
+ io.stdout.write(isJson ? formatJson(document) : `${migrateText(document)}\n`);
72
+ if (isMigrationPending(document))
73
+ throw new ScriptError(document.summary, { exitCode: EXIT.failure, isReported: true });
74
+ }
75
+ })
76
+ });
@@ -0,0 +1,61 @@
1
+ import type { MigrateDocument } from "./migrate.types.ts";
2
+ /** What the command was asked. */
3
+ export type MigrateRequest = {
4
+ /** The folder the command runs in, which the files are named from. */
5
+ readonly cwd: string;
6
+ /** The configuration file, absolute; none when there is none and only modules are given. */
7
+ readonly config?: string | undefined;
8
+ /** Other modules holding a preset or a configuration, absolute. */
9
+ readonly modules: readonly string[];
10
+ /** The version the project upgrades from (`0.3.3`); none to run every rewrite. */
11
+ readonly from?: string | undefined;
12
+ /** The codemods to run, by id; none for all that apply. */
13
+ readonly only?: readonly string[] | undefined;
14
+ /** Whether to write the files, or only list the changes. */
15
+ readonly isWrite: boolean;
16
+ };
17
+ /**
18
+ * Whether one version comes before another: by their numbers, and a prerelease (`0.4.0-rc.1`) before its release, since
19
+ * a change of 0.4.0 may have landed after its prerelease was cut.
20
+ *
21
+ * @param version - the version.
22
+ * @param other - the version compared with.
23
+ */
24
+ export declare const isVersionBefore: (version: string, other: string) => boolean;
25
+ /**
26
+ * Why a request cannot run, or none: a version that is not one, a codemod nobody wrote.
27
+ *
28
+ * @param request - the request.
29
+ */
30
+ export declare const migrateProblem: (request: Pick<MigrateRequest, "from" | "only">) => string | undefined;
31
+ /**
32
+ * Why a module given by path is not migrated, or none: one under `node_modules` is a package's, which an install puts back,
33
+ * and one outside the folder the command runs in is another project's. Its link is followed, so a link cannot lead out.
34
+ *
35
+ * @param path - the module, absolute and present.
36
+ * @param cwd - the folder the command runs in.
37
+ */
38
+ export declare const moduleProblem: (path: string, cwd: string) => string | undefined;
39
+ /**
40
+ * Why a request cannot run, or none: its version or codemods (`migrateProblem`), no file at all, a file that is not
41
+ * there, a module that is not the project's own (`moduleProblem`).
42
+ *
43
+ * @param request - the request.
44
+ */
45
+ export declare const requestProblem: (request: MigrateRequest) => string | undefined;
46
+ /**
47
+ * Runs the codemods a request chooses on its files, and writes them when asked: every file is read and rewritten before
48
+ * any is written, and each is written whole (`writeMigrated`).
49
+ *
50
+ * @param request - the request, already checked with `migrateProblem`.
51
+ * @returns what changed or would change, what to check, and the notes for the versions crossed.
52
+ * @throws a `MigrateWriteError` when a file cannot be written, naming those that were.
53
+ */
54
+ export declare const runMigrate: (request: MigrateRequest) => MigrateDocument;
55
+ /**
56
+ * Whether a migration leaves work to do: changes listed and not written. Advice and notes are for a person to read, and
57
+ * leave the exit code at 0, so that a project that went through them ends clean.
58
+ *
59
+ * @param document - what `runMigrate` answered.
60
+ */
61
+ export declare const isMigrationPending: (document: MigrateDocument) => boolean;
@@ -0,0 +1,210 @@
1
+ /**
2
+ * What `forgebook migrate` does: picks the codemods for the versions a project crosses, runs them on its configuration and
3
+ * the preset modules given, and writes the result only when asked.
4
+ *
5
+ * @remarks
6
+ * Nothing of the project runs: each file is read as text and rewritten as text. The command imports this module when it
7
+ * runs, so the compiler it needs loads for no other command.
8
+ *
9
+ * @module
10
+ */
11
+ import { existsSync, readFileSync, realpathSync } from "node:fs";
12
+ import { isAbsolute, relative, sep } from "node:path";
13
+ import { CODEMODS, MIGRATION_NOTES } from "./codemods.js";
14
+ import { writeMigrated } from "./migrateWrite.js";
15
+ import { appliedEdits } from "./objectEdits.js";
16
+ /**
17
+ * A version read; none when it is not `major.minor.patch` (a `v` before it, a prerelease or build after it allowed).
18
+ *
19
+ * @param version - the version.
20
+ */
21
+ const readVersion = (version) => {
22
+ const match = /^v?(\d+)\.(\d+)\.(\d+)(-[^+]*)?(?:\+.*)?$/.exec(version.trim());
23
+ return match === null
24
+ ? undefined
25
+ : {
26
+ numbers: [Number(match[1]), Number(match[2]), Number(match[3])],
27
+ isPrerelease: match[4] !== undefined
28
+ };
29
+ };
30
+ /**
31
+ * Whether one version comes before another: by their numbers, and a prerelease (`0.4.0-rc.1`) before its release, since
32
+ * a change of 0.4.0 may have landed after its prerelease was cut.
33
+ *
34
+ * @param version - the version.
35
+ * @param other - the version compared with.
36
+ */
37
+ export const isVersionBefore = (version, other) => {
38
+ const left = readVersion(version) ?? { numbers: [0, 0, 0], isPrerelease: false };
39
+ const right = readVersion(other) ?? { numbers: [0, 0, 0], isPrerelease: false };
40
+ for (let index = 0; index < 3; index += 1) {
41
+ const difference = (left.numbers[index] ?? 0) - (right.numbers[index] ?? 0);
42
+ if (difference !== 0)
43
+ return difference < 0;
44
+ }
45
+ return left.isPrerelease && !right.isPrerelease;
46
+ };
47
+ /**
48
+ * Why a request cannot run, or none: a version that is not one, a codemod nobody wrote.
49
+ *
50
+ * @param request - the request.
51
+ */
52
+ export const migrateProblem = (request) => {
53
+ if (request.from !== undefined && readVersion(request.from) === undefined)
54
+ return `--from ${request.from} is not a version: write it as 0.3.3`;
55
+ const ids = CODEMODS.map((codemod) => codemod.id);
56
+ const unknown = (request.only ?? []).filter((id) => !ids.includes(id));
57
+ return unknown.length === 0
58
+ ? undefined
59
+ : `No codemod ${unknown.join(", ")}: the codemods are ${ids.join(", ")}`;
60
+ };
61
+ /**
62
+ * Why a module given by path is not migrated, or none: one under `node_modules` is a package's, which an install puts back,
63
+ * and one outside the folder the command runs in is another project's. Its link is followed, so a link cannot lead out.
64
+ *
65
+ * @param path - the module, absolute and present.
66
+ * @param cwd - the folder the command runs in.
67
+ */
68
+ export const moduleProblem = (path, cwd) => {
69
+ const real = realpathSync(path);
70
+ if (real.split(sep).includes("node_modules"))
71
+ return `${path} is inside node_modules: migrate the package's own sources, not its installed copy`;
72
+ const inside = relative(realpathSync(cwd), real);
73
+ if (inside === "" || inside.startsWith("..") || isAbsolute(inside))
74
+ return `${path} is outside ${cwd}: run forgebook migrate from the project that holds it`;
75
+ return undefined;
76
+ };
77
+ /**
78
+ * Why a request cannot run, or none: its version or codemods (`migrateProblem`), no file at all, a file that is not
79
+ * there, a module that is not the project's own (`moduleProblem`).
80
+ *
81
+ * @param request - the request.
82
+ */
83
+ export const requestProblem = (request) => {
84
+ const choiceProblem = migrateProblem(request);
85
+ if (choiceProblem !== undefined)
86
+ return choiceProblem;
87
+ if (request.config === undefined && request.modules.length === 0)
88
+ return "No forgebook.config.ts here, and no file given: run forgebook migrate in the catalogue's folder, or give --config or the files";
89
+ const missing = [...(request.config === undefined ? [] : [request.config]), ...request.modules].find((file) => !existsSync(file));
90
+ if (missing !== undefined)
91
+ return `No file ${missing}`;
92
+ return request.modules.map((file) => moduleProblem(file, request.cwd)).find((each) => each !== undefined);
93
+ };
94
+ /** The codemods a request runs, and those it does not with why. */
95
+ const chosenCodemods = (request) => {
96
+ const chosen = [];
97
+ const skipped = [];
98
+ for (const codemod of CODEMODS) {
99
+ const isNamed = request.only?.includes(codemod.id) === true;
100
+ if (request.only !== undefined && !isNamed) {
101
+ skipped.push({ codemod: codemod.id, reason: "not named by --only" });
102
+ }
103
+ else if (request.from !== undefined && !isVersionBefore(request.from, codemod.breaksIn)) {
104
+ skipped.push({
105
+ codemod: codemod.id,
106
+ reason: `${request.from} already has the change of ${codemod.breaksIn}`
107
+ });
108
+ }
109
+ else if (request.from === undefined && codemod.kind === "keep" && !isNamed) {
110
+ skipped.push({
111
+ codemod: codemod.id,
112
+ reason: `it keeps a behaviour from before ${codemod.breaksIn}, which a project may not want: give --from with the version you upgrade from, or --only ${codemod.id}`
113
+ });
114
+ }
115
+ else {
116
+ chosen.push(codemod);
117
+ }
118
+ }
119
+ return { chosen, skipped };
120
+ };
121
+ /** An edit's text, without the commas and spaces around it that only join it to its neighbours. */
122
+ const shown = (text) => text.replace(/^[\s,]+|[\s,]+$/g, "");
123
+ /**
124
+ * Runs the codemods on one file, each on the text the one before it left.
125
+ *
126
+ * @param file - the file.
127
+ * @param name - its name in the document.
128
+ * @param codemods - the codemods chosen.
129
+ */
130
+ const migratedText = ({ path, kind }, name, codemods) => {
131
+ const original = readFileSync(path, "utf8");
132
+ const changes = [];
133
+ const advice = [];
134
+ let text = original;
135
+ for (const codemod of codemods.filter((each) => each.files.includes(kind))) {
136
+ const result = codemod.run(text, path);
137
+ const shownEdits = result.edits.map((edit) => ({
138
+ file: name,
139
+ codemod: codemod.id,
140
+ removed: shown(text.slice(edit.start, edit.end)),
141
+ added: shown(edit.insert)
142
+ }));
143
+ // an edit that only moves a comma is part of the one beside it
144
+ changes.push(...shownEdits.filter((change) => change.removed !== "" || change.added !== ""));
145
+ advice.push(...result.advice.map((each) => ({ file: name, codemod: codemod.id, text: each })));
146
+ text = appliedEdits(text, result.edits);
147
+ }
148
+ return { path, original, text, changes, advice };
149
+ };
150
+ /**
151
+ * A count with its noun, singular for one.
152
+ *
153
+ * @param count - the count.
154
+ * @param noun - the noun, singular; its plural adds an s.
155
+ */
156
+ const counted = (count, noun) => `${count} ${noun}${count === 1 ? "" : "s"}`;
157
+ /** The document's sentence: what changed or would, and what to check. */
158
+ const summaryOf = (changes, advice, isWrite) => {
159
+ const files = counted(new Set(changes.map((change) => change.file)).size, "file");
160
+ let done = "Nothing to rewrite";
161
+ if (changes.length > 0)
162
+ done = isWrite
163
+ ? `${counted(changes.length, "change")} written to ${files}`
164
+ : `${counted(changes.length, "change")} to make in ${files}: run again with --write`;
165
+ return `${done}${advice.length === 0 ? "" : `; ${counted(advice.length, "place")} to check`}.`;
166
+ };
167
+ /**
168
+ * Runs the codemods a request chooses on its files, and writes them when asked: every file is read and rewritten before
169
+ * any is written, and each is written whole (`writeMigrated`).
170
+ *
171
+ * @param request - the request, already checked with `migrateProblem`.
172
+ * @returns what changed or would change, what to check, and the notes for the versions crossed.
173
+ * @throws a `MigrateWriteError` when a file cannot be written, naming those that were.
174
+ */
175
+ export const runMigrate = (request) => {
176
+ const { chosen, skipped } = chosenCodemods(request);
177
+ const fileOf = (path, kind) => ({ path, kind });
178
+ const files = [
179
+ ...(request.config === undefined ? [] : [fileOf(request.config, "config")]),
180
+ ...[...new Set(request.modules)]
181
+ .filter((path) => path !== request.config)
182
+ .map((path) => fileOf(path, "module"))
183
+ ];
184
+ const nameOf = (path) => relative(request.cwd, path) || path;
185
+ const migrated = files.map((file) => migratedText(file, nameOf(file.path), chosen));
186
+ if (request.isWrite)
187
+ writeMigrated(migrated.filter(({ original, text }) => text !== original), nameOf);
188
+ const changes = migrated.flatMap((each) => each.changes);
189
+ const advice = migrated.flatMap((each) => each.advice);
190
+ return {
191
+ schema: 1,
192
+ ...(request.from === undefined ? {} : { from: request.from }),
193
+ isWritten: request.isWrite && changes.length > 0,
194
+ files: files.map(({ path }) => nameOf(path)),
195
+ changes,
196
+ advice,
197
+ skipped,
198
+ notes: MIGRATION_NOTES.filter((note) => note.package !== "forgebook" ||
199
+ request.from === undefined ||
200
+ isVersionBefore(request.from, note.breaksIn)),
201
+ summary: summaryOf(changes, advice, request.isWrite)
202
+ };
203
+ };
204
+ /**
205
+ * Whether a migration leaves work to do: changes listed and not written. Advice and notes are for a person to read, and
206
+ * leave the exit code at 0, so that a project that went through them ends clean.
207
+ *
208
+ * @param document - what `runMigrate` answered.
209
+ */
210
+ export const isMigrationPending = (document) => document.changes.length > 0 && !document.isWritten;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * What `forgebook migrate` prints for a person: each file's changes, what to check, the codemods not run and the notes.
3
+ *
4
+ * @module
5
+ */
6
+ import type { MigrateDocument } from "./migrate.types.ts";
7
+ /**
8
+ * The answer as a person reads it.
9
+ *
10
+ * @param document - what `runMigrate` answered.
11
+ */
12
+ export declare const migrateText: (document: MigrateDocument) => string;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The answer as a person reads it.
3
+ *
4
+ * @param document - what `runMigrate` answered.
5
+ */
6
+ export const migrateText = (document) => {
7
+ const lines = [];
8
+ for (const file of new Set(document.changes.map((change) => change.file))) {
9
+ lines.push(file);
10
+ for (const change of document.changes.filter((each) => each.file === file)) {
11
+ const removed = change.removed === "" ? [] : change.removed.split("\n").map((line) => ` - ${line.trim()}`);
12
+ const added = change.added === "" ? [] : change.added.split("\n").map((line) => ` + ${line.trim()}`);
13
+ lines.push(...removed, ...added, ` (${change.codemod})`);
14
+ }
15
+ }
16
+ if (document.advice.length > 0) {
17
+ lines.push("", "To check:");
18
+ lines.push(...document.advice.map((each) => ` ${each.file}: ${each.text} (${each.codemod})`));
19
+ }
20
+ if (document.skipped.length > 0) {
21
+ lines.push("", "Not run:");
22
+ lines.push(...document.skipped.map((each) => ` ${each.codemod}: ${each.reason}`));
23
+ }
24
+ if (document.notes.length > 0) {
25
+ lines.push("", "Breaking changes with no codemod, to check by hand:");
26
+ lines.push(...document.notes.map((note) => ` ${note.id} (${note.package} ${note.breaksIn}): ${note.text}`));
27
+ }
28
+ lines.push("", document.summary);
29
+ return lines.join("\n").replace(/^\n+/, "");
30
+ };
@@ -0,0 +1,27 @@
1
+ /** A file to write: where, and its new text. */
2
+ export type MigratedWrite = {
3
+ /** The file's path, absolute. */
4
+ readonly path: string;
5
+ /** Its new text. */
6
+ readonly text: string;
7
+ };
8
+ /** A write that stopped: which files were replaced before it did, by their names in the document. */
9
+ export declare class MigrateWriteError extends Error {
10
+ /** The files replaced before the error, as the document names them. */
11
+ readonly written: readonly string[];
12
+ /**
13
+ * The error.
14
+ *
15
+ * @param message - what failed.
16
+ * @param written - the files replaced before it.
17
+ */
18
+ constructor(message: string, written: readonly string[]);
19
+ }
20
+ /**
21
+ * Writes the migrated files, each through a temporary file renamed over it.
22
+ *
23
+ * @param files - the files whose text changed.
24
+ * @param nameOf - a file's name in the document, for the error.
25
+ * @throws a `MigrateWriteError` naming the files already replaced, the temporary files removed.
26
+ */
27
+ export declare const writeMigrated: (files: readonly MigratedWrite[], nameOf: (path: string) => string) => void;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * How `forgebook migrate --write` puts its files on disk: each written whole beside its target and renamed over it, so a
3
+ * file is either as it was or as migrated, never half written.
4
+ *
5
+ * @remarks
6
+ * Every new text is written to its temporary file first, and only then are they renamed, one after the other: a disk that
7
+ * is full or a folder that cannot be written stops the run before any file is replaced. A rename can still fail midway
8
+ * (a file locked on Windows), so the error names the files already replaced. A link is followed to the file it points at,
9
+ * which is what gets replaced, and the link stays a link.
10
+ *
11
+ * @module
12
+ */
13
+ import { realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
14
+ /** A write that stopped: which files were replaced before it did, by their names in the document. */
15
+ export class MigrateWriteError extends Error {
16
+ /** The files replaced before the error, as the document names them. */
17
+ written;
18
+ /**
19
+ * The error.
20
+ *
21
+ * @param message - what failed.
22
+ * @param written - the files replaced before it.
23
+ */
24
+ constructor(message, written) {
25
+ super(message);
26
+ this.name = "MigrateWriteError";
27
+ this.written = written;
28
+ }
29
+ }
30
+ /**
31
+ * The temporary file beside a target: in its folder, so that the rename stays on one disk and is atomic.
32
+ *
33
+ * @param target - the target's real path.
34
+ */
35
+ const temporaryOf = (target) => `${target}.forgebook-migrate-${process.pid}.tmp`;
36
+ /**
37
+ * Writes the migrated files, each through a temporary file renamed over it.
38
+ *
39
+ * @param files - the files whose text changed.
40
+ * @param nameOf - a file's name in the document, for the error.
41
+ * @throws a `MigrateWriteError` naming the files already replaced, the temporary files removed.
42
+ */
43
+ export const writeMigrated = (files, nameOf) => {
44
+ const staged = [];
45
+ const written = [];
46
+ try {
47
+ for (const { path, text } of files) {
48
+ const target = realpathSync(path);
49
+ const temporary = temporaryOf(target);
50
+ // listed before it is written, so that a write that fails halfway is removed too
51
+ staged.push({ path, target, temporary });
52
+ writeFileSync(temporary, text, { mode: statSync(target).mode });
53
+ }
54
+ for (const { path, target, temporary } of staged) {
55
+ renameSync(temporary, target);
56
+ written.push(nameOf(path));
57
+ }
58
+ }
59
+ catch (error) {
60
+ for (const { temporary } of staged)
61
+ rmSync(temporary, { force: true });
62
+ const reason = error instanceof Error ? error.message : String(error);
63
+ const done = written.length === 0 ? "no file was changed" : `already written: ${written.join(", ")}`;
64
+ throw new MigrateWriteError(`Could not write the migrated files (${reason}); ${done}`, written);
65
+ }
66
+ };
@@ -0,0 +1,70 @@
1
+ /**
2
+ * The text edits the codemods of `forgebook migrate` share: a file parsed, a configuration's object found, properties of an
3
+ * object literal removed or added, and edits applied.
4
+ *
5
+ * @remarks
6
+ * The file is edited as text, at the places the compiler's tree gives, so everything a codemod does not touch keeps its
7
+ * formatting and comments: printing the tree again would rewrite the whole file in the printer's style. A property alone on
8
+ * its lines is removed with its lines; one sharing a line with others is cut out of it.
9
+ *
10
+ * @module
11
+ */
12
+ import ts from "typescript-6";
13
+ import type { TextEdit } from "./migrate.types.ts";
14
+ /**
15
+ * A file's tree, with each node's parent set.
16
+ *
17
+ * @param text - the file's text.
18
+ * @param path - its path, for the kind of script.
19
+ */
20
+ export declare const parsedFile: (text: string, path: string) => ts.SourceFile;
21
+ /**
22
+ * A property's name as written, when it is a plain one (`play`, `"propGroups.choice"`); none for a spread, a method or a
23
+ * computed name.
24
+ *
25
+ * @param element - the object literal's element.
26
+ */
27
+ export declare const propertyName: (element: ts.ObjectLiteralElementLike) => string | undefined;
28
+ /**
29
+ * The object literal an expression stands for, as written in the file (through a name it declares, `satisfies`, `as`);
30
+ * none when it is built some other way.
31
+ *
32
+ * @param expression - the expression.
33
+ * @param file - the file.
34
+ */
35
+ export declare const objectLiteralOf: (expression: ts.Expression, file: ts.SourceFile) => ts.ObjectLiteralExpression | undefined;
36
+ /**
37
+ * The object a configuration file exports by default, as written in it; none when the file builds it some other way (a
38
+ * function's result, an import).
39
+ *
40
+ * @param file - the configuration's tree.
41
+ */
42
+ export declare const defaultExportObject: (file: ts.SourceFile) => ts.ObjectLiteralExpression | undefined;
43
+ /**
44
+ * The edits that remove some of an object literal's properties, keeping the others as written. Removing all of them leaves
45
+ * `{}`.
46
+ *
47
+ * @param file - the file's tree.
48
+ * @param object - the object literal.
49
+ * @param removed - the properties to remove, of that object.
50
+ */
51
+ export declare const removalEdits: (file: ts.SourceFile, object: ts.ObjectLiteralExpression, removed: ReadonlySet<ts.ObjectLiteralElementLike>) => TextEdit[];
52
+ /**
53
+ * The edit that adds a property to an object literal before one of its properties, or after the last when none is given,
54
+ * in the object's own layout: on a line of its own when the properties are, inline when they share one.
55
+ *
56
+ * @param file - the file's tree.
57
+ * @param object - the object literal.
58
+ * @param property - the property's text (`play: "on"`), with no comma.
59
+ * @param before - the property it goes before; none for the end.
60
+ * @returns the edits: one, or two when the last property needs a comma before the new one.
61
+ */
62
+ export declare const insertionEdit: (file: ts.SourceFile, object: ts.ObjectLiteralExpression, property: string, before: ts.ObjectLiteralElementLike | undefined) => TextEdit[];
63
+ /**
64
+ * A text with edits applied, from the last to the first so that each offset still holds.
65
+ *
66
+ * @param text - the text.
67
+ * @param edits - the edits, in any order.
68
+ * @throws when two edits overlap, which would make the result depend on their order.
69
+ */
70
+ export declare const appliedEdits: (text: string, edits: readonly TextEdit[]) => string;