forgebook 0.1.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +987 -28
- package/dist/bin/forgebook/agentClient.d.ts +30 -1
- package/dist/bin/forgebook/agentClient.js +155 -14
- package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs +164 -40
- package/dist/bin/forgebook/agentText.d.ts +76 -5
- package/dist/bin/forgebook/agentText.js +197 -11
- package/dist/bin/forgebook/agents.md +158 -9
- package/dist/bin/forgebook/agentsText.d.ts +7 -3
- package/dist/bin/forgebook/agentsText.js +7 -3
- package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
- package/dist/bin/forgebook/builtCatalogue.js +96 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
- package/dist/bin/forgebook/catalogueCommands.js +21 -2
- package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
- package/dist/bin/forgebook/catalogueVite.js +95 -9
- package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
- package/dist/bin/forgebook/checkCodeRun.js +27 -0
- package/dist/bin/forgebook/commandServer.d.ts +11 -0
- package/dist/bin/forgebook/commandServer.js +39 -0
- package/dist/bin/forgebook/compileCache.d.ts +7 -0
- package/dist/bin/forgebook/compileCache.js +24 -0
- package/dist/bin/forgebook/devCommands.d.mts +14 -0
- package/dist/bin/forgebook/devCommands.mjs +104 -0
- package/dist/bin/forgebook/errorsRun.d.ts +0 -1
- package/dist/bin/forgebook/errorsRun.js +0 -1
- package/dist/bin/forgebook/forgebook.d.mts +0 -1
- package/dist/bin/forgebook/forgebook.mjs +18 -302
- package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
- package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
- package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
- package/dist/bin/forgebook/importers/storybook.js +71 -45
- package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
- package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
- package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
- package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
- package/dist/bin/forgebook/initCommands.d.mts +0 -1
- package/dist/bin/forgebook/initCommands.mjs +23 -12
- package/dist/bin/forgebook/initConfig.d.ts +0 -1
- package/dist/bin/forgebook/initConfig.js +17 -3
- package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
- package/dist/bin/forgebook/mcpCommand.mjs +99 -0
- package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
- package/dist/bin/forgebook/mcpPreview.js +107 -0
- package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
- package/dist/bin/forgebook/mcpToolParts.js +24 -0
- package/dist/bin/forgebook/mcpTools.d.ts +12 -6
- package/dist/bin/forgebook/mcpTools.js +148 -27
- package/dist/bin/forgebook/newStories.d.ts +2 -3
- package/dist/bin/forgebook/newStories.js +4 -3
- package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
- package/dist/bin/forgebook/newStoriesFile.js +30 -13
- package/dist/bin/forgebook/pageTools.d.ts +8 -0
- package/dist/bin/forgebook/pageTools.js +71 -0
- package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
- package/dist/bin/forgebook/pagesCommands.mjs +109 -0
- package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
- package/dist/bin/forgebook/prebundleChild.js +34 -0
- package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
- package/dist/bin/forgebook/prebundleRun.js +49 -0
- package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
- package/dist/bin/forgebook/prebundleStart.js +82 -0
- package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
- package/dist/bin/forgebook/semanticOptions.js +36 -0
- package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
- package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
- package/dist/bin/forgebook/storyCheckRun.js +90 -17
- package/dist/bin/forgebook/tokensRun.d.ts +41 -0
- package/dist/bin/forgebook/tokensRun.js +42 -0
- package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
- package/dist/bin/forgebook/touchWindowRun.js +0 -1
- package/dist/bin/forgebook/visualCommands.d.mts +37 -0
- package/dist/bin/forgebook/visualCommands.mjs +162 -0
- package/dist/bin/forgebook/viteCache.d.ts +48 -0
- package/dist/bin/forgebook/viteCache.js +112 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +22 -3
- package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +67 -19
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
- package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
- package/dist/bin/forgebook-docs/collectDocs.js +122 -30
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
- package/dist/bin/forgebook-docs/llmsText.js +5 -2
- package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
- package/dist/bin/frameworkDocs.d.ts +0 -1
- package/dist/bin/frameworkDocs.js +0 -1
- package/dist/src/a11y.d.ts +0 -1
- package/dist/src/a11y.js +0 -1
- package/dist/src/addressArgs.d.ts +74 -0
- package/dist/src/addressArgs.js +109 -0
- package/dist/src/addressTexts.d.ts +35 -0
- package/dist/src/addressTexts.js +51 -0
- package/dist/src/argTypes.d.ts +0 -1
- package/dist/src/argTypes.js +2 -2
- package/dist/src/argsProps.d.ts +32 -0
- package/dist/src/argsProps.js +69 -0
- package/dist/src/audiences.d.ts +17 -0
- package/dist/src/audiences.js +15 -0
- package/dist/src/backdrops.d.ts +39 -40
- package/dist/src/backdrops.js +37 -174
- package/dist/src/catalogue.d.ts +103 -24
- package/dist/src/catalogue.js +78 -20
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +57 -1
- package/dist/src/componentDocs.js +20 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +0 -1
- package/dist/src/deviceDrawing.d.ts +114 -0
- package/dist/src/deviceDrawing.js +358 -0
- package/dist/src/deviceMenuView.d.ts +17 -0
- package/dist/src/deviceMenuView.js +22 -0
- package/dist/src/devicePicture.d.ts +57 -0
- package/dist/src/devicePicture.js +104 -0
- package/dist/src/deviceView.d.ts +172 -0
- package/dist/src/deviceView.js +111 -0
- package/dist/src/devices.d.ts +115 -0
- package/dist/src/devices.js +135 -0
- package/dist/src/docAnchors.d.ts +27 -0
- package/dist/src/docAnchors.js +33 -0
- package/dist/src/docPages.d.ts +203 -0
- package/dist/src/docPages.js +169 -0
- package/dist/src/embed.d.ts +32 -0
- package/dist/src/embed.js +24 -0
- package/dist/src/embedCode.d.ts +31 -0
- package/dist/src/embedCode.js +88 -0
- package/dist/src/frame/backdropPictures.d.ts +29 -0
- package/dist/src/frame/backdropPictures.js +187 -0
- package/dist/src/frame/checkStory.d.ts +6 -3
- package/dist/src/frame/checkStory.js +76 -5
- package/dist/src/frame/followTouch.d.ts +9 -0
- package/dist/src/frame/followTouch.js +43 -0
- package/dist/src/frame/frame.css +8 -3
- package/dist/src/frame/frameClock.d.ts +0 -1
- package/dist/src/frame/frameClock.js +0 -1
- package/dist/src/frame/frameStatus.d.ts +2 -1
- package/dist/src/frame/frameStatus.js +2 -1
- package/dist/src/frame/frameView.d.ts +0 -1
- package/dist/src/frame/frameView.js +1 -2
- package/dist/src/frame/matrixLayout.d.ts +0 -1
- package/dist/src/frame/matrixLayout.js +0 -1
- package/dist/src/frame/measureTools.d.ts +0 -1
- package/dist/src/frame/measureTools.js +0 -1
- package/dist/src/frame/mountFrame.d.ts +10 -3
- package/dist/src/frame/mountFrame.js +184 -66
- package/dist/src/frame/playStory.d.ts +0 -1
- package/dist/src/frame/playStory.js +0 -1
- package/dist/src/frame/pluginFrames.d.ts +31 -0
- package/dist/src/frame/pluginFrames.js +23 -0
- package/dist/src/frame/renderer.d.ts +50 -12
- package/dist/src/frame/renderer.js +27 -6
- package/dist/src/frame/settle.d.ts +0 -1
- package/dist/src/frame/settle.js +0 -1
- package/dist/src/frame/shellChannel.d.ts +47 -0
- package/dist/src/frame/shellChannel.js +39 -0
- package/dist/src/frame/spillOutline.d.ts +0 -1
- package/dist/src/frame/spillOutline.js +0 -1
- package/dist/src/frame/staleModule.d.ts +14 -2
- package/dist/src/frame/staleModule.js +19 -2
- package/dist/src/frame/storyCanvas.d.ts +0 -1
- package/dist/src/frame/storyCanvas.js +0 -1
- package/dist/src/frame/storyHooks.d.ts +0 -1
- package/dist/src/frame/storyHooks.js +0 -1
- package/dist/src/frame/storyModule.d.ts +13 -2
- package/dist/src/frame/storyModule.js +45 -3
- package/dist/src/frame/storyRun.d.ts +21 -4
- package/dist/src/frame/storyRun.js +100 -19
- package/dist/src/frame/touchCaret.d.ts +43 -0
- package/dist/src/frame/touchCaret.js +195 -0
- package/dist/src/frame/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +3 -3
- package/dist/src/frame/touchEvents.js +17 -19
- package/dist/src/frame/touchGesture.d.ts +0 -1
- package/dist/src/frame/touchGesture.js +0 -1
- package/dist/src/frame/touchLayer.d.ts +3 -3
- package/dist/src/frame/touchLayer.js +52 -37
- package/dist/src/frame/touchScroll.d.ts +0 -1
- package/dist/src/frame/touchScroll.js +0 -1
- package/dist/src/frameOrigins.d.ts +62 -0
- package/dist/src/frameOrigins.js +49 -0
- package/dist/src/hotModules.d.ts +48 -0
- package/dist/src/hotModules.js +53 -0
- package/dist/src/jsxCode.d.ts +22 -0
- package/dist/src/jsxCode.js +36 -0
- package/dist/src/languages.d.ts +0 -1
- package/dist/src/languages.js +0 -1
- package/dist/src/liveErrors.d.ts +0 -1
- package/dist/src/liveErrors.js +0 -1
- package/dist/src/matrix.d.ts +0 -1
- package/dist/src/matrix.js +0 -1
- package/dist/src/messages.d.ts +28 -2
- package/dist/src/messages.js +24 -3
- package/dist/src/namedValues.d.ts +11 -1
- package/dist/src/namedValues.js +25 -2
- package/dist/src/namedViews.d.ts +1 -13
- package/dist/src/namedViews.js +30 -7
- package/dist/src/packedText.d.ts +21 -0
- package/dist/src/packedText.js +36 -0
- package/dist/src/pageAddress.d.ts +26 -0
- package/dist/src/pageAddress.js +39 -0
- package/dist/src/pageConfig.d.ts +3 -1
- package/dist/src/pageConfig.js +0 -1
- package/dist/src/pageTree.d.ts +79 -0
- package/dist/src/pageTree.js +108 -0
- package/dist/src/playTrace.d.ts +0 -1
- package/dist/src/playTrace.js +0 -1
- package/dist/src/plugin.d.ts +230 -0
- package/dist/src/plugin.js +12 -0
- package/dist/src/pluginReact.d.ts +23 -0
- package/dist/src/pluginReact.js +24 -0
- package/dist/src/previewRelay.d.ts +40 -0
- package/dist/src/previewRelay.js +69 -0
- package/dist/src/previewTexts.d.ts +26 -0
- package/dist/src/previewTexts.js +33 -0
- package/dist/src/previewView.d.ts +31 -0
- package/dist/src/previewView.js +264 -0
- package/dist/src/propGroups.d.ts +109 -0
- package/dist/src/propGroups.js +113 -0
- package/dist/src/realTouch.d.ts +1 -2
- package/dist/src/realTouch.js +1 -2
- package/dist/src/safeAreaParameter.d.ts +42 -0
- package/dist/src/safeAreaParameter.js +50 -0
- package/dist/src/search.d.ts +154 -0
- package/dist/src/search.js +265 -0
- package/dist/src/searchIndex.d.ts +61 -0
- package/dist/src/searchIndex.js +55 -0
- package/dist/src/searchMarks.d.ts +29 -0
- package/dist/src/searchMarks.js +165 -0
- package/dist/src/searchMatch.d.ts +58 -0
- package/dist/src/searchMatch.js +127 -0
- package/dist/src/shell/A11yTab.d.ts +0 -7
- package/dist/src/shell/A11yTab.js +4 -15
- package/dist/src/shell/AnchorScroll.d.ts +25 -0
- package/dist/src/shell/AnchorScroll.js +10 -0
- package/dist/src/shell/ApiReference.d.ts +16 -4
- package/dist/src/shell/ApiReference.js +82 -20
- package/dist/src/shell/AppearanceMenu.d.ts +1 -2
- package/dist/src/shell/AppearanceMenu.js +8 -5
- package/dist/src/shell/AudienceSections.d.ts +106 -0
- package/dist/src/shell/AudienceSections.js +154 -0
- package/dist/src/shell/AuthoredHome.d.ts +37 -0
- package/dist/src/shell/AuthoredHome.js +96 -0
- package/dist/src/shell/BoxWidth.d.ts +0 -1
- package/dist/src/shell/BoxWidth.js +0 -1
- package/dist/src/shell/ClockBar.d.ts +19 -0
- package/dist/src/shell/ClockBar.js +15 -0
- package/dist/src/shell/ClockControls.d.ts +5 -9
- package/dist/src/shell/ClockControls.js +13 -16
- package/dist/src/shell/Code.d.ts +0 -1
- package/dist/src/shell/Code.js +0 -1
- package/dist/src/shell/CodeTab.d.ts +0 -1
- package/dist/src/shell/CodeTab.js +2 -2
- package/dist/src/shell/CodeText.d.ts +0 -1
- package/dist/src/shell/CodeText.js +0 -1
- package/dist/src/shell/CompareGrid.d.ts +37 -0
- package/dist/src/shell/CompareGrid.js +24 -0
- package/dist/src/shell/ComponentPage.d.ts +48 -7
- package/dist/src/shell/ComponentPage.js +101 -59
- package/dist/src/shell/ControlKeyField.d.ts +0 -1
- package/dist/src/shell/ControlKeyField.js +3 -4
- package/dist/src/shell/ControlRow.d.ts +4 -4
- package/dist/src/shell/ControlRow.js +5 -5
- package/dist/src/shell/DeviceControl.d.ts +31 -0
- package/dist/src/shell/DeviceControl.js +33 -0
- package/dist/src/shell/DeviceSlot.d.ts +114 -0
- package/dist/src/shell/DeviceSlot.js +134 -0
- package/dist/src/shell/DocBlocks.d.ts +100 -0
- package/dist/src/shell/DocBlocks.js +206 -0
- package/dist/src/shell/DocContainers.d.ts +70 -0
- package/dist/src/shell/DocContainers.js +94 -0
- package/dist/src/shell/DocContents.d.ts +29 -0
- package/dist/src/shell/DocContents.js +88 -0
- package/dist/src/shell/DocPage.d.ts +69 -0
- package/dist/src/shell/DocPage.js +141 -0
- package/dist/src/shell/Dock.d.ts +1 -2
- package/dist/src/shell/Dock.js +1 -2
- package/dist/src/shell/DroppedArgsList.d.ts +26 -0
- package/dist/src/shell/DroppedArgsList.js +8 -0
- package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
- package/dist/src/shell/DroppedArgsNote.js +10 -0
- package/dist/src/shell/EmbedButton.d.ts +19 -0
- package/dist/src/shell/EmbedButton.js +96 -0
- package/dist/src/shell/EmbedPage.d.ts +23 -0
- package/dist/src/shell/EmbedPage.js +168 -0
- package/dist/src/shell/EmbedPanel.d.ts +25 -0
- package/dist/src/shell/EmbedPanel.js +46 -0
- package/dist/src/shell/EventsTab.d.ts +0 -1
- package/dist/src/shell/EventsTab.js +2 -3
- package/dist/src/shell/Example.d.ts +20 -2
- package/dist/src/shell/Example.js +75 -22
- package/dist/src/shell/FrameView.d.ts +1 -2
- package/dist/src/shell/FrameView.js +4 -4
- package/dist/src/shell/HomePage.d.ts +78 -4
- package/dist/src/shell/HomePage.js +53 -14
- package/dist/src/shell/HomePieces.d.ts +40 -0
- package/dist/src/shell/HomePieces.js +29 -0
- package/dist/src/shell/InfoTip.d.ts +0 -1
- package/dist/src/shell/InfoTip.js +0 -1
- package/dist/src/shell/InteractionsTab.d.ts +0 -7
- package/dist/src/shell/InteractionsTab.js +3 -9
- package/dist/src/shell/LazyHost.d.ts +16 -0
- package/dist/src/shell/LazyHost.js +42 -0
- package/dist/src/shell/LazyPage.d.ts +24 -0
- package/dist/src/shell/LazyPage.js +9 -0
- package/dist/src/shell/LogicMark.d.ts +0 -1
- package/dist/src/shell/LogicMark.js +0 -1
- package/dist/src/shell/MatrixPicker.d.ts +0 -1
- package/dist/src/shell/MatrixPicker.js +0 -1
- package/dist/src/shell/NamedViews.d.ts +0 -1
- package/dist/src/shell/NamedViews.js +4 -5
- package/dist/src/shell/PackageHtml.d.ts +0 -1
- package/dist/src/shell/PackageHtml.js +0 -1
- package/dist/src/shell/PartsTab.d.ts +0 -7
- package/dist/src/shell/PartsTab.js +3 -13
- package/dist/src/shell/PinnedControl.d.ts +0 -1
- package/dist/src/shell/PinnedControl.js +2 -2
- package/dist/src/shell/PluginBlockHost.d.ts +46 -0
- package/dist/src/shell/PluginBlockHost.js +39 -0
- package/dist/src/shell/PluginTabHost.d.ts +32 -0
- package/dist/src/shell/PluginTabHost.js +25 -0
- package/dist/src/shell/PluginViewHost.d.ts +37 -0
- package/dist/src/shell/PluginViewHost.js +89 -0
- package/dist/src/shell/PropFields.d.ts +0 -1
- package/dist/src/shell/PropFields.js +0 -1
- package/dist/src/shell/PropRows.d.ts +42 -0
- package/dist/src/shell/PropRows.js +60 -0
- package/dist/src/shell/PropsTab.d.ts +24 -11
- package/dist/src/shell/PropsTab.js +31 -45
- package/dist/src/shell/RequiredFirstSwitch.d.ts +16 -0
- package/dist/src/shell/RequiredFirstSwitch.js +8 -0
- package/dist/src/shell/SearchPanel.d.ts +63 -0
- package/dist/src/shell/SearchPanel.js +209 -0
- package/dist/src/shell/Segmented.d.ts +0 -1
- package/dist/src/shell/Segmented.js +0 -1
- package/dist/src/shell/Shell.d.ts +34 -6
- package/dist/src/shell/Shell.js +271 -70
- package/dist/src/shell/Sidebar.d.ts +20 -5
- package/dist/src/shell/Sidebar.js +23 -56
- package/dist/src/shell/SidebarDocs.d.ts +38 -0
- package/dist/src/shell/SidebarDocs.js +30 -0
- package/dist/src/shell/SidebarEntries.d.ts +9 -1
- package/dist/src/shell/SidebarEntries.js +1 -2
- package/dist/src/shell/SidebarHandle.d.ts +0 -1
- package/dist/src/shell/SidebarHandle.js +0 -1
- package/dist/src/shell/SidebarSearch.d.ts +40 -0
- package/dist/src/shell/SidebarSearch.js +85 -0
- package/dist/src/shell/SignatureReference.d.ts +0 -1
- package/dist/src/shell/SignatureReference.js +1 -2
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +116 -75
- package/dist/src/shell/StageCompare.d.ts +14 -0
- package/dist/src/shell/StageCompare.js +11 -0
- package/dist/src/shell/StageTools.d.ts +0 -1
- package/dist/src/shell/StageTools.js +0 -1
- package/dist/src/shell/StageViewport.d.ts +7 -3
- package/dist/src/shell/StageViewport.js +4 -5
- package/dist/src/shell/StoryBar.d.ts +40 -0
- package/dist/src/shell/StoryBar.js +23 -0
- package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
- package/dist/src/shell/StoryCodeBlock.js +0 -1
- package/dist/src/shell/StoryCoverage.d.ts +36 -0
- package/dist/src/shell/StoryCoverage.js +129 -0
- package/dist/src/shell/StoryPicker.d.ts +0 -1
- package/dist/src/shell/StoryPicker.js +0 -1
- package/dist/src/shell/Toolbar.d.ts +7 -3
- package/dist/src/shell/Toolbar.js +6 -6
- package/dist/src/shell/ToolbarControl.d.ts +6 -8
- package/dist/src/shell/ToolbarControl.js +28 -20
- package/dist/src/shell/UsedIn.d.ts +5 -6
- package/dist/src/shell/UsedIn.js +7 -20
- package/dist/src/shell/ViewMenu.d.ts +7 -7
- package/dist/src/shell/ViewMenu.js +61 -176
- package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
- package/dist/src/shell/ViewMenuPanel.js +199 -0
- package/dist/src/shell/WidthField.d.ts +3 -2
- package/dist/src/shell/WidthField.js +2 -3
- package/dist/src/shell/asideStory.d.ts +34 -0
- package/dist/src/shell/asideStory.js +55 -0
- package/dist/src/shell/audienceLayout.d.ts +39 -0
- package/dist/src/shell/audienceLayout.js +33 -0
- package/dist/src/shell/audiencePage.d.ts +113 -0
- package/dist/src/shell/audiencePage.js +144 -0
- package/dist/src/shell/audienceSections.css +95 -0
- package/dist/src/shell/catalogueContext.d.ts +24 -2
- package/dist/src/shell/catalogueContext.js +12 -9
- package/dist/src/shell/codeTokens.d.ts +0 -1
- package/dist/src/shell/codeTokens.js +0 -1
- package/dist/src/shell/codeWriter.d.ts +0 -1
- package/dist/src/shell/codeWriter.js +0 -1
- package/dist/src/shell/compareVariants.d.ts +0 -1
- package/dist/src/shell/compareVariants.js +2 -2
- package/dist/src/shell/controlCycle.d.ts +0 -1
- package/dist/src/shell/controlCycle.js +13 -1
- package/dist/src/shell/controlLabel.d.ts +7 -0
- package/dist/src/shell/controlLabel.js +17 -0
- package/dist/src/shell/device/deviceFrame.css +42 -0
- package/dist/src/shell/device/deviceParts.d.ts +90 -0
- package/dist/src/shell/device/deviceParts.js +120 -0
- package/dist/src/shell/docPage.css +457 -0
- package/dist/src/shell/dockTabs.d.ts +20 -10
- package/dist/src/shell/dockTabs.js +42 -20
- package/dist/src/shell/embed.css +74 -0
- package/dist/src/shell/filesCode.d.ts +21 -0
- package/dist/src/shell/filesCode.js +37 -0
- package/dist/src/shell/forgebookMark.d.ts +15 -0
- package/dist/src/shell/forgebookMark.js +28 -0
- package/dist/src/shell/framesOrigin.d.ts +23 -0
- package/dist/src/shell/framesOrigin.js +69 -0
- package/dist/src/shell/icons.d.ts +3 -1
- package/dist/src/shell/icons.js +3 -1
- package/dist/src/shell/keyboard.d.ts +0 -1
- package/dist/src/shell/keyboard.js +0 -1
- package/dist/src/shell/laterStrings.d.ts +91 -0
- package/dist/src/shell/laterStrings.js +102 -0
- package/dist/src/shell/lazyModule.d.ts +49 -0
- package/dist/src/shell/lazyModule.js +72 -0
- package/dist/src/shell/lazyTab.d.ts +21 -0
- package/dist/src/shell/lazyTab.js +9 -0
- package/dist/src/shell/logicView.d.ts +0 -12
- package/dist/src/shell/logicView.js +2 -2
- package/dist/src/shell/mountShell.d.ts +5 -3
- package/dist/src/shell/mountShell.js +43 -12
- package/dist/src/shell/pageStrings.d.ts +24 -0
- package/dist/src/shell/pageStrings.js +26 -0
- package/dist/src/shell/pluginHosts.d.ts +9 -0
- package/dist/src/shell/pluginHosts.js +6 -0
- package/dist/src/shell/pluginHostsContext.d.ts +20 -0
- package/dist/src/shell/pluginHostsContext.js +16 -0
- package/dist/src/shell/pluginTabs.d.ts +63 -0
- package/dist/src/shell/pluginTabs.js +60 -0
- package/dist/src/shell/reportedPanel.d.ts +12 -0
- package/dist/src/shell/reportedPanel.js +19 -0
- package/dist/src/shell/search.css +172 -0
- package/dist/src/shell/searchStrings.d.ts +24 -0
- package/dist/src/shell/searchStrings.js +31 -0
- package/dist/src/shell/shell.css +341 -140
- package/dist/src/shell/shellScheme.d.ts +37 -0
- package/dist/src/shell/shellScheme.js +32 -0
- package/dist/src/shell/storyTouch.d.ts +19 -6
- package/dist/src/shell/storyTouch.js +26 -4
- package/dist/src/shell/strings.d.ts +58 -80
- package/dist/src/shell/strings.js +55 -78
- package/dist/src/shell/switchView.d.ts +0 -1
- package/dist/src/shell/switchView.js +0 -1
- package/dist/src/shell/tabSummaries.d.ts +31 -0
- package/dist/src/shell/tabSummaries.js +27 -0
- package/dist/src/shell/treeSearch.d.ts +39 -3
- package/dist/src/shell/treeSearch.js +27 -1
- package/dist/src/shell/useAddressArgs.d.ts +55 -0
- package/dist/src/shell/useAddressArgs.js +62 -0
- package/dist/src/shell/useAnchorScroll.d.ts +24 -0
- package/dist/src/shell/useAnchorScroll.js +90 -0
- package/dist/src/shell/useAppearance.d.ts +7 -2
- package/dist/src/shell/useAppearance.js +14 -5
- package/dist/src/shell/useComponentDocs.d.ts +0 -1
- package/dist/src/shell/useComponentDocs.js +0 -1
- package/dist/src/shell/useControlKeys.d.ts +2 -1
- package/dist/src/shell/useControlKeys.js +2 -3
- package/dist/src/shell/useCopy.d.ts +2 -1
- package/dist/src/shell/useCopy.js +11 -6
- package/dist/src/shell/useFold.d.ts +0 -1
- package/dist/src/shell/useFold.js +0 -1
- package/dist/src/shell/useFrameMessages.d.ts +19 -4
- package/dist/src/shell/useFrameMessages.js +23 -7
- package/dist/src/shell/useFrameQueue.d.ts +7 -3
- package/dist/src/shell/useFrameQueue.js +39 -22
- package/dist/src/shell/useFullPage.d.ts +0 -1
- package/dist/src/shell/useFullPage.js +0 -1
- package/dist/src/shell/useLiveView.d.ts +0 -1
- package/dist/src/shell/useLiveView.js +0 -1
- package/dist/src/shell/useLoaded.d.ts +1 -2
- package/dist/src/shell/useLoaded.js +28 -6
- package/dist/src/shell/usePageDoc.d.ts +0 -1
- package/dist/src/shell/usePageDoc.js +0 -1
- package/dist/src/shell/usePageFrames.d.ts +46 -0
- package/dist/src/shell/usePageFrames.js +50 -0
- package/dist/src/shell/usePanelDocs.d.ts +11 -0
- package/dist/src/shell/usePanelDocs.js +29 -0
- package/dist/src/shell/usePluginTabs.d.ts +18 -0
- package/dist/src/shell/usePluginTabs.js +45 -0
- package/dist/src/shell/usePopover.d.ts +0 -1
- package/dist/src/shell/usePopover.js +0 -1
- package/dist/src/shell/useProseLinks.d.ts +14 -0
- package/dist/src/shell/useProseLinks.js +30 -0
- package/dist/src/shell/useRecentPages.d.ts +3 -4
- package/dist/src/shell/useRecentPages.js +1 -2
- package/dist/src/shell/useRequiredFirst.d.ts +27 -0
- package/dist/src/shell/useRequiredFirst.js +67 -0
- package/dist/src/shell/useScrollMemory.d.ts +9 -1
- package/dist/src/shell/useScrollMemory.js +2 -3
- package/dist/src/shell/useSearchIndex.d.ts +24 -0
- package/dist/src/shell/useSearchIndex.js +51 -0
- package/dist/src/shell/useShownView.d.ts +3 -1
- package/dist/src/shell/useShownView.js +5 -5
- package/dist/src/shell/useSidebarLayout.d.ts +0 -1
- package/dist/src/shell/useSidebarLayout.js +0 -1
- package/dist/src/shell/useStored.d.ts +13 -1
- package/dist/src/shell/useStored.js +13 -5
- package/dist/src/shell/useStoryCheck.d.ts +20 -0
- package/dist/src/shell/useStoryCheck.js +33 -0
- package/dist/src/shell/useStoryCode.d.ts +0 -1
- package/dist/src/shell/useStoryCode.js +0 -1
- package/dist/src/shell/useStoryHeights.d.ts +0 -1
- package/dist/src/shell/useStoryHeights.js +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
- package/dist/src/shell/useStoryIdsElement.js +0 -1
- package/dist/src/shell/useStoryKeys.d.ts +0 -1
- package/dist/src/shell/useStoryKeys.js +0 -1
- package/dist/src/shell/useSyncedTab.d.ts +8 -0
- package/dist/src/shell/useSyncedTab.js +60 -0
- package/dist/src/shell/useSystemDark.d.ts +0 -1
- package/dist/src/shell/useSystemDark.js +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts +0 -1
- package/dist/src/shell/useToolbarLayout.js +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
- package/dist/src/shell/useToolbarOverflow.js +0 -1
- package/dist/src/shell/useWorstCase.d.ts +0 -1
- package/dist/src/shell/useWorstCase.js +2 -2
- package/dist/src/shell/worstArgs.d.ts +0 -1
- package/dist/src/shell/worstArgs.js +0 -1
- package/dist/src/shellTheme.d.ts +64 -0
- package/dist/src/shellTheme.js +274 -0
- package/dist/src/shellTheme.types.d.ts +93 -0
- package/dist/src/shellTheme.types.js +10 -0
- package/dist/src/sourceFiles.d.ts +17 -3
- package/dist/src/sourceFiles.js +27 -1
- package/dist/src/spills.d.ts +0 -1
- package/dist/src/spills.js +0 -1
- package/dist/src/storyBackground.d.ts +0 -1
- package/dist/src/storyBackground.js +0 -1
- package/dist/src/storyCheck.d.ts +88 -2
- package/dist/src/storyCheck.js +14 -3
- package/dist/src/storyClock.d.ts +0 -1
- package/dist/src/storyClock.js +0 -1
- package/dist/src/storyGlobals.d.ts +0 -1
- package/dist/src/storyGlobals.js +2 -2
- package/dist/src/storyHeights.d.ts +0 -1
- package/dist/src/storyHeights.js +0 -1
- package/dist/src/storyIds.d.ts +36 -0
- package/dist/src/storyIds.js +52 -0
- package/dist/src/storyIdsElement.d.ts +0 -1
- package/dist/src/storyIdsElement.js +0 -1
- package/dist/src/storyTexts.d.ts +11 -5
- package/dist/src/storyTexts.js +16 -5
- package/dist/src/storyTree.d.ts +89 -25
- package/dist/src/storyTree.js +213 -127
- package/dist/src/switches.d.ts +0 -1
- package/dist/src/switches.js +6 -2
- package/dist/src/toolbarLayout.d.ts +0 -1
- package/dist/src/toolbarLayout.js +0 -1
- package/dist/src/treePlaces.d.ts +60 -0
- package/dist/src/treePlaces.js +89 -0
- package/dist/src/usedIn.d.ts +28 -1
- package/dist/src/usedIn.js +93 -3
- package/dist/src/viewState.d.ts +44 -9
- package/dist/src/viewState.js +80 -9
- package/dist/src/viewWords.d.ts +0 -13
- package/dist/src/viewWords.js +41 -3
- package/dist/src/vite/adapter.d.ts +62 -1
- package/dist/src/vite/adapter.js +20 -2
- package/dist/src/vite/agent.types.d.ts +291 -7
- package/dist/src/vite/agent.types.js +11 -1
- package/dist/src/vite/agentApi.d.ts +55 -2
- package/dist/src/vite/agentApi.js +136 -9
- package/dist/src/vite/agentIds.d.ts +25 -0
- package/dist/src/vite/agentIds.js +41 -0
- package/dist/src/vite/agentIndex.d.ts +63 -0
- package/dist/src/vite/agentIndex.js +91 -0
- package/dist/src/vite/agentIndexRoute.d.ts +10 -0
- package/dist/src/vite/agentIndexRoute.js +35 -0
- package/dist/src/vite/agentRoutes.d.ts +80 -19
- package/dist/src/vite/agentRoutes.js +184 -27
- package/dist/src/vite/autoTitle.d.ts +0 -1
- package/dist/src/vite/autoTitle.js +0 -1
- package/dist/src/vite/axeScript.d.ts +20 -0
- package/dist/src/vite/axeScript.js +60 -0
- package/dist/src/vite/builtTexts.d.ts +75 -0
- package/dist/src/vite/builtTexts.js +143 -0
- package/dist/src/vite/catalogueConfig.d.ts +10 -0
- package/dist/src/vite/catalogueConfig.js +64 -0
- package/dist/src/vite/checkCode.d.ts +67 -0
- package/dist/src/vite/checkCode.js +145 -0
- package/dist/src/vite/closeWatch.d.ts +96 -0
- package/dist/src/vite/closeWatch.js +219 -0
- package/dist/src/vite/codeFence.d.ts +78 -0
- package/dist/src/vite/codeFence.js +267 -0
- package/dist/src/vite/componentImport.d.ts +8 -0
- package/dist/src/vite/componentImport.js +35 -0
- package/dist/src/vite/componentPage.d.ts +15 -2
- package/dist/src/vite/componentPage.js +55 -16
- package/dist/src/vite/config.d.ts +51 -3
- package/dist/src/vite/config.js +0 -1
- package/dist/src/vite/configFile.d.ts +66 -9
- package/dist/src/vite/configFile.js +236 -33
- package/dist/src/vite/designTokens.d.ts +75 -0
- package/dist/src/vite/designTokens.js +382 -0
- package/dist/src/vite/diskCache.d.ts +51 -0
- package/dist/src/vite/diskCache.js +211 -0
- package/dist/src/vite/docDirectives.d.ts +116 -0
- package/dist/src/vite/docDirectives.js +425 -0
- package/dist/src/vite/docMarkdown.d.ts +76 -0
- package/dist/src/vite/docMarkdown.js +150 -0
- package/dist/src/vite/docPageBlocks.d.ts +64 -0
- package/dist/src/vite/docPageBlocks.js +322 -0
- package/dist/src/vite/docPageLinks.d.ts +72 -0
- package/dist/src/vite/docPageLinks.js +135 -0
- package/dist/src/vite/docPageMarkdown.d.ts +86 -0
- package/dist/src/vite/docPageMarkdown.js +133 -0
- package/dist/src/vite/docPageRender.d.ts +27 -0
- package/dist/src/vite/docPageRender.js +199 -0
- package/dist/src/vite/docPageTokens.d.ts +91 -0
- package/dist/src/vite/docPageTokens.js +186 -0
- package/dist/src/vite/docPagesModule.d.ts +53 -0
- package/dist/src/vite/docPagesModule.js +121 -0
- package/dist/src/vite/docPagesRoute.d.ts +38 -0
- package/dist/src/vite/docPagesRoute.js +154 -0
- package/dist/src/vite/docsDependencies.d.ts +6 -0
- package/dist/src/vite/docsDependencies.js +150 -0
- package/dist/src/vite/docsExtractor.d.ts +50 -3
- package/dist/src/vite/docsExtractor.js +173 -26
- package/dist/src/vite/docsProgram.d.ts +89 -9
- package/dist/src/vite/docsProgram.js +413 -50
- package/dist/src/vite/docsWorker.d.ts +0 -1
- package/dist/src/vite/docsWorker.js +49 -15
- package/dist/src/vite/figmaLink.d.ts +26 -0
- package/dist/src/vite/figmaLink.js +92 -0
- package/dist/src/vite/fileAccess.d.ts +51 -0
- package/dist/src/vite/fileAccess.js +109 -0
- package/dist/src/vite/findComponent.d.ts +32 -0
- package/dist/src/vite/findComponent.js +52 -0
- package/dist/src/vite/findRoute.d.ts +14 -0
- package/dist/src/vite/findRoute.js +62 -0
- package/dist/src/vite/forcedStates.d.ts +0 -1
- package/dist/src/vite/forcedStates.js +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts +0 -1
- package/dist/src/vite/forgebookPlugin.js +305 -282
- package/dist/src/vite/framesConfig.d.ts +89 -0
- package/dist/src/vite/framesConfig.js +149 -0
- package/dist/src/vite/framesServer.d.ts +43 -0
- package/dist/src/vite/framesServer.js +342 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -0
- package/dist/src/vite/generatedModules.d.ts +23 -0
- package/dist/src/vite/generatedModules.js +58 -0
- package/dist/src/vite/gitChange.d.ts +56 -0
- package/dist/src/vite/gitChange.js +86 -0
- package/dist/src/vite/heightsRoute.d.ts +0 -1
- package/dist/src/vite/heightsRoute.js +0 -1
- package/dist/src/vite/highlightCode.d.ts +0 -1
- package/dist/src/vite/highlightCode.js +8 -27
- package/dist/src/vite/hotSnippets.d.ts +86 -0
- package/dist/src/vite/hotSnippets.js +172 -0
- package/dist/src/vite/indexFields.d.ts +61 -0
- package/dist/src/vite/indexFields.js +149 -0
- package/dist/src/vite/indexStoryFile.d.ts +19 -18
- package/dist/src/vite/indexStoryFile.js +165 -221
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +130 -0
- package/dist/src/vite/mcpProtocol.d.ts +36 -2
- package/dist/src/vite/mcpProtocol.js +100 -15
- package/dist/src/vite/moduleSummary.d.ts +17 -0
- package/dist/src/vite/moduleSummary.js +40 -0
- package/dist/src/vite/nearestToken.d.ts +50 -0
- package/dist/src/vite/nearestToken.js +295 -0
- package/dist/src/vite/originGuard.d.ts +97 -0
- package/dist/src/vite/originGuard.js +172 -0
- package/dist/src/vite/packedModule.d.ts +40 -0
- package/dist/src/vite/packedModule.js +74 -0
- package/dist/src/vite/pages.d.ts +64 -10
- package/dist/src/vite/pages.js +278 -40
- package/dist/src/vite/parsedFiles.d.ts +18 -0
- package/dist/src/vite/parsedFiles.js +91 -0
- package/dist/src/vite/plainGrammars.d.ts +20 -0
- package/dist/src/vite/plainGrammars.js +113 -0
- package/dist/src/vite/pluginConfig.d.ts +47 -0
- package/dist/src/vite/pluginConfig.js +220 -0
- package/dist/src/vite/pluginIds.d.ts +27 -0
- package/dist/src/vite/pluginIds.js +76 -0
- package/dist/src/vite/pluginModules.d.ts +169 -0
- package/dist/src/vite/pluginModules.js +221 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +29 -18
- package/dist/src/vite/previewPages.d.ts +14 -0
- package/dist/src/vite/previewPages.js +81 -0
- package/dist/src/vite/previewRoute.d.ts +8 -0
- package/dist/src/vite/previewRoute.js +8 -0
- package/dist/src/vite/previewRunner.d.ts +56 -0
- package/dist/src/vite/previewRunner.js +207 -0
- package/dist/src/vite/propDocs.d.ts +60 -0
- package/dist/src/vite/propDocs.js +387 -0
- package/dist/src/vite/searchModule.d.ts +42 -0
- package/dist/src/vite/searchModule.js +213 -0
- package/dist/src/vite/searchRoute.d.ts +7 -0
- package/dist/src/vite/searchRoute.js +79 -0
- package/dist/src/vite/serverConditions.d.ts +31 -0
- package/dist/src/vite/serverConditions.js +69 -0
- package/dist/src/vite/signatureDocs.d.ts +18 -0
- package/dist/src/vite/signatureDocs.js +64 -0
- package/dist/src/vite/sourceTokens.d.ts +57 -0
- package/dist/src/vite/sourceTokens.js +164 -0
- package/dist/src/vite/storyCode.d.ts +0 -1
- package/dist/src/vite/storyCode.js +2 -3
- package/dist/src/vite/storyExports.d.ts +32 -0
- package/dist/src/vite/storyExports.js +27 -0
- package/dist/src/vite/storyFilesModule.d.ts +104 -20
- package/dist/src/vite/storyFilesModule.js +178 -60
- package/dist/src/vite/storyMeta.d.ts +20 -11
- package/dist/src/vite/storyMeta.js +74 -38
- package/dist/src/vite/storyParse.d.ts +18 -0
- package/dist/src/vite/storyParse.js +20 -0
- package/dist/src/vite/storyPatterns.d.ts +39 -0
- package/dist/src/vite/storyPatterns.js +100 -0
- package/dist/src/vite/storyPlay.d.ts +29 -0
- package/dist/src/vite/storyPlay.js +54 -0
- package/dist/src/vite/storyReach.d.ts +42 -0
- package/dist/src/vite/storyReach.js +43 -0
- package/dist/src/vite/storylessRoutes.d.ts +29 -0
- package/dist/src/vite/storylessRoutes.js +126 -0
- package/dist/src/vite/textModules.d.ts +63 -0
- package/dist/src/vite/textModules.js +132 -0
- package/dist/src/vite/textQueries.d.ts +26 -0
- package/dist/src/vite/textQueries.js +26 -0
- package/dist/src/vite/themeFromTokens.d.ts +35 -0
- package/dist/src/vite/themeFromTokens.js +73 -0
- package/dist/src/vite/tokenAnswers.d.ts +20 -0
- package/dist/src/vite/tokenAnswers.js +86 -0
- package/dist/src/vite/tokenClashes.d.ts +44 -0
- package/dist/src/vite/tokenClashes.js +45 -0
- package/dist/src/vite/touchMedia.d.ts +0 -1
- package/dist/src/vite/touchMedia.js +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts +0 -1
- package/dist/src/vite/typeScriptPieces.js +2 -3
- package/dist/src/vite/usageGraph.d.ts +6 -1
- package/dist/src/vite/usageGraph.js +41 -7
- package/dist/src/vite/usageGuidance.d.ts +33 -0
- package/dist/src/vite/usageGuidance.js +45 -0
- package/dist/src/vite/usageModule.d.ts +0 -1
- package/dist/src/vite/usageModule.js +0 -1
- package/dist/src/vite/vitePaths.d.ts +53 -0
- package/dist/src/vite/vitePaths.js +53 -0
- package/dist/src/worstCase.d.ts +0 -1
- package/dist/src/worstCase.js +0 -1
- package/package.json +68 -5
- package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
- package/dist/bin/forgebook/agentClient.js.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
- package/dist/bin/forgebook/agentText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentText.js.map +0 -1
- package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentsText.js.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
- package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueVite.js.map +0 -1
- package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
- package/dist/bin/forgebook/errorsRun.js.map +0 -1
- package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
- package/dist/bin/forgebook/forgebook.mjs.map +0 -1
- package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
- package/dist/bin/forgebook/importers/storybook.js.map +0 -1
- package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/initCommands.mjs.map +0 -1
- package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
- package/dist/bin/forgebook/initConfig.js.map +0 -1
- package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
- package/dist/bin/forgebook/mcpTools.js.map +0 -1
- package/dist/bin/forgebook/newStories.d.ts.map +0 -1
- package/dist/bin/forgebook/newStories.js.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
- package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.js +0 -45
- package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
- package/dist/bin/frameworkDocs.d.ts.map +0 -1
- package/dist/bin/frameworkDocs.js.map +0 -1
- package/dist/src/a11y.d.ts.map +0 -1
- package/dist/src/a11y.js.map +0 -1
- package/dist/src/argTypes.d.ts.map +0 -1
- package/dist/src/argTypes.js.map +0 -1
- package/dist/src/backdrops.d.ts.map +0 -1
- package/dist/src/backdrops.js.map +0 -1
- package/dist/src/catalogue.d.ts.map +0 -1
- package/dist/src/catalogue.js.map +0 -1
- package/dist/src/componentDocs.d.ts.map +0 -1
- package/dist/src/componentDocs.js.map +0 -1
- package/dist/src/controlKeys.d.ts.map +0 -1
- package/dist/src/controlKeys.js.map +0 -1
- package/dist/src/frame/checkStory.d.ts.map +0 -1
- package/dist/src/frame/checkStory.js.map +0 -1
- package/dist/src/frame/frameClock.d.ts.map +0 -1
- package/dist/src/frame/frameClock.js.map +0 -1
- package/dist/src/frame/frameStatus.d.ts.map +0 -1
- package/dist/src/frame/frameStatus.js.map +0 -1
- package/dist/src/frame/frameView.d.ts.map +0 -1
- package/dist/src/frame/frameView.js.map +0 -1
- package/dist/src/frame/matrixLayout.d.ts.map +0 -1
- package/dist/src/frame/matrixLayout.js.map +0 -1
- package/dist/src/frame/measureTools.d.ts.map +0 -1
- package/dist/src/frame/measureTools.js.map +0 -1
- package/dist/src/frame/mountFrame.d.ts.map +0 -1
- package/dist/src/frame/mountFrame.js.map +0 -1
- package/dist/src/frame/playStory.d.ts.map +0 -1
- package/dist/src/frame/playStory.js.map +0 -1
- package/dist/src/frame/renderer.d.ts.map +0 -1
- package/dist/src/frame/renderer.js.map +0 -1
- package/dist/src/frame/settle.d.ts.map +0 -1
- package/dist/src/frame/settle.js.map +0 -1
- package/dist/src/frame/spillOutline.d.ts.map +0 -1
- package/dist/src/frame/spillOutline.js.map +0 -1
- package/dist/src/frame/staleModule.d.ts.map +0 -1
- package/dist/src/frame/staleModule.js.map +0 -1
- package/dist/src/frame/storyCanvas.d.ts.map +0 -1
- package/dist/src/frame/storyCanvas.js.map +0 -1
- package/dist/src/frame/storyHooks.d.ts.map +0 -1
- package/dist/src/frame/storyHooks.js.map +0 -1
- package/dist/src/frame/storyModule.d.ts.map +0 -1
- package/dist/src/frame/storyModule.js.map +0 -1
- package/dist/src/frame/storyRun.d.ts.map +0 -1
- package/dist/src/frame/storyRun.js.map +0 -1
- package/dist/src/frame/touchDots.d.ts.map +0 -1
- package/dist/src/frame/touchDots.js.map +0 -1
- package/dist/src/frame/touchEvents.d.ts.map +0 -1
- package/dist/src/frame/touchEvents.js.map +0 -1
- package/dist/src/frame/touchGesture.d.ts.map +0 -1
- package/dist/src/frame/touchGesture.js.map +0 -1
- package/dist/src/frame/touchLayer.d.ts.map +0 -1
- package/dist/src/frame/touchLayer.js.map +0 -1
- package/dist/src/frame/touchScroll.d.ts.map +0 -1
- package/dist/src/frame/touchScroll.js.map +0 -1
- package/dist/src/languages.d.ts.map +0 -1
- package/dist/src/languages.js.map +0 -1
- package/dist/src/liveErrors.d.ts.map +0 -1
- package/dist/src/liveErrors.js.map +0 -1
- package/dist/src/matrix.d.ts.map +0 -1
- package/dist/src/matrix.js.map +0 -1
- package/dist/src/messages.d.ts.map +0 -1
- package/dist/src/messages.js.map +0 -1
- package/dist/src/namedValues.d.ts.map +0 -1
- package/dist/src/namedValues.js.map +0 -1
- package/dist/src/namedViews.d.ts.map +0 -1
- package/dist/src/namedViews.js.map +0 -1
- package/dist/src/pageConfig.d.ts.map +0 -1
- package/dist/src/pageConfig.js.map +0 -1
- package/dist/src/playTrace.d.ts.map +0 -1
- package/dist/src/playTrace.js.map +0 -1
- package/dist/src/realTouch.d.ts.map +0 -1
- package/dist/src/realTouch.js.map +0 -1
- package/dist/src/shell/A11yTab.d.ts.map +0 -1
- package/dist/src/shell/A11yTab.js.map +0 -1
- package/dist/src/shell/ApiReference.d.ts.map +0 -1
- package/dist/src/shell/ApiReference.js.map +0 -1
- package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
- package/dist/src/shell/AppearanceMenu.js.map +0 -1
- package/dist/src/shell/BoxWidth.d.ts.map +0 -1
- package/dist/src/shell/BoxWidth.js.map +0 -1
- package/dist/src/shell/ClockControls.d.ts.map +0 -1
- package/dist/src/shell/ClockControls.js.map +0 -1
- package/dist/src/shell/Code.d.ts.map +0 -1
- package/dist/src/shell/Code.js.map +0 -1
- package/dist/src/shell/CodeTab.d.ts.map +0 -1
- package/dist/src/shell/CodeTab.js.map +0 -1
- package/dist/src/shell/CodeText.d.ts.map +0 -1
- package/dist/src/shell/CodeText.js.map +0 -1
- package/dist/src/shell/ComponentPage.d.ts.map +0 -1
- package/dist/src/shell/ComponentPage.js.map +0 -1
- package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
- package/dist/src/shell/ControlKeyField.js.map +0 -1
- package/dist/src/shell/ControlRow.d.ts.map +0 -1
- package/dist/src/shell/ControlRow.js.map +0 -1
- package/dist/src/shell/Dock.d.ts.map +0 -1
- package/dist/src/shell/Dock.js.map +0 -1
- package/dist/src/shell/EventsTab.d.ts.map +0 -1
- package/dist/src/shell/EventsTab.js.map +0 -1
- package/dist/src/shell/Example.d.ts.map +0 -1
- package/dist/src/shell/Example.js.map +0 -1
- package/dist/src/shell/FrameView.d.ts.map +0 -1
- package/dist/src/shell/FrameView.js.map +0 -1
- package/dist/src/shell/HomePage.d.ts.map +0 -1
- package/dist/src/shell/HomePage.js.map +0 -1
- package/dist/src/shell/InfoTip.d.ts.map +0 -1
- package/dist/src/shell/InfoTip.js.map +0 -1
- package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
- package/dist/src/shell/InteractionsTab.js.map +0 -1
- package/dist/src/shell/LogicMark.d.ts.map +0 -1
- package/dist/src/shell/LogicMark.js.map +0 -1
- package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
- package/dist/src/shell/MatrixPicker.js.map +0 -1
- package/dist/src/shell/NamedViews.d.ts.map +0 -1
- package/dist/src/shell/NamedViews.js.map +0 -1
- package/dist/src/shell/PackageHtml.d.ts.map +0 -1
- package/dist/src/shell/PackageHtml.js.map +0 -1
- package/dist/src/shell/PartsTab.d.ts.map +0 -1
- package/dist/src/shell/PartsTab.js.map +0 -1
- package/dist/src/shell/PinnedControl.d.ts.map +0 -1
- package/dist/src/shell/PinnedControl.js.map +0 -1
- package/dist/src/shell/PropFields.d.ts.map +0 -1
- package/dist/src/shell/PropFields.js.map +0 -1
- package/dist/src/shell/PropsTab.d.ts.map +0 -1
- package/dist/src/shell/PropsTab.js.map +0 -1
- package/dist/src/shell/Segmented.d.ts.map +0 -1
- package/dist/src/shell/Segmented.js.map +0 -1
- package/dist/src/shell/Shell.d.ts.map +0 -1
- package/dist/src/shell/Shell.js.map +0 -1
- package/dist/src/shell/Sidebar.d.ts.map +0 -1
- package/dist/src/shell/Sidebar.js.map +0 -1
- package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
- package/dist/src/shell/SidebarEntries.js.map +0 -1
- package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
- package/dist/src/shell/SidebarHandle.js.map +0 -1
- package/dist/src/shell/SignatureReference.d.ts.map +0 -1
- package/dist/src/shell/SignatureReference.js.map +0 -1
- package/dist/src/shell/Stage.d.ts.map +0 -1
- package/dist/src/shell/Stage.js.map +0 -1
- package/dist/src/shell/StageTools.d.ts.map +0 -1
- package/dist/src/shell/StageTools.js.map +0 -1
- package/dist/src/shell/StageViewport.d.ts.map +0 -1
- package/dist/src/shell/StageViewport.js.map +0 -1
- package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
- package/dist/src/shell/StoryCodeBlock.js.map +0 -1
- package/dist/src/shell/StoryPicker.d.ts.map +0 -1
- package/dist/src/shell/StoryPicker.js.map +0 -1
- package/dist/src/shell/Toolbar.d.ts.map +0 -1
- package/dist/src/shell/Toolbar.js.map +0 -1
- package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
- package/dist/src/shell/ToolbarControl.js.map +0 -1
- package/dist/src/shell/UsedIn.d.ts.map +0 -1
- package/dist/src/shell/UsedIn.js.map +0 -1
- package/dist/src/shell/ViewMenu.d.ts.map +0 -1
- package/dist/src/shell/ViewMenu.js.map +0 -1
- package/dist/src/shell/WidthField.d.ts.map +0 -1
- package/dist/src/shell/WidthField.js.map +0 -1
- package/dist/src/shell/catalogueContext.d.ts.map +0 -1
- package/dist/src/shell/catalogueContext.js.map +0 -1
- package/dist/src/shell/codeTokens.d.ts.map +0 -1
- package/dist/src/shell/codeTokens.js.map +0 -1
- package/dist/src/shell/codeWriter.d.ts.map +0 -1
- package/dist/src/shell/codeWriter.js.map +0 -1
- package/dist/src/shell/compareVariants.d.ts.map +0 -1
- package/dist/src/shell/compareVariants.js.map +0 -1
- package/dist/src/shell/controlCycle.d.ts.map +0 -1
- package/dist/src/shell/controlCycle.js.map +0 -1
- package/dist/src/shell/dockTabs.d.ts.map +0 -1
- package/dist/src/shell/dockTabs.js.map +0 -1
- package/dist/src/shell/icons.d.ts.map +0 -1
- package/dist/src/shell/icons.js.map +0 -1
- package/dist/src/shell/keyboard.d.ts.map +0 -1
- package/dist/src/shell/keyboard.js.map +0 -1
- package/dist/src/shell/logicView.d.ts.map +0 -1
- package/dist/src/shell/logicView.js.map +0 -1
- package/dist/src/shell/mountShell.d.ts.map +0 -1
- package/dist/src/shell/mountShell.js.map +0 -1
- package/dist/src/shell/storyTouch.d.ts.map +0 -1
- package/dist/src/shell/storyTouch.js.map +0 -1
- package/dist/src/shell/strings.d.ts.map +0 -1
- package/dist/src/shell/strings.js.map +0 -1
- package/dist/src/shell/switchView.d.ts.map +0 -1
- package/dist/src/shell/switchView.js.map +0 -1
- package/dist/src/shell/treeSearch.d.ts.map +0 -1
- package/dist/src/shell/treeSearch.js.map +0 -1
- package/dist/src/shell/useAppearance.d.ts.map +0 -1
- package/dist/src/shell/useAppearance.js.map +0 -1
- package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
- package/dist/src/shell/useComponentDocs.js.map +0 -1
- package/dist/src/shell/useControlKeys.d.ts.map +0 -1
- package/dist/src/shell/useControlKeys.js.map +0 -1
- package/dist/src/shell/useCopy.d.ts.map +0 -1
- package/dist/src/shell/useCopy.js.map +0 -1
- package/dist/src/shell/useFold.d.ts.map +0 -1
- package/dist/src/shell/useFold.js.map +0 -1
- package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
- package/dist/src/shell/useFrameMessages.js.map +0 -1
- package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
- package/dist/src/shell/useFrameQueue.js.map +0 -1
- package/dist/src/shell/useFullPage.d.ts.map +0 -1
- package/dist/src/shell/useFullPage.js.map +0 -1
- package/dist/src/shell/useLiveView.d.ts.map +0 -1
- package/dist/src/shell/useLiveView.js.map +0 -1
- package/dist/src/shell/useLoaded.d.ts.map +0 -1
- package/dist/src/shell/useLoaded.js.map +0 -1
- package/dist/src/shell/usePageDoc.d.ts.map +0 -1
- package/dist/src/shell/usePageDoc.js.map +0 -1
- package/dist/src/shell/usePopover.d.ts.map +0 -1
- package/dist/src/shell/usePopover.js.map +0 -1
- package/dist/src/shell/useRecentPages.d.ts.map +0 -1
- package/dist/src/shell/useRecentPages.js.map +0 -1
- package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
- package/dist/src/shell/useScrollMemory.js.map +0 -1
- package/dist/src/shell/useShownView.d.ts.map +0 -1
- package/dist/src/shell/useShownView.js.map +0 -1
- package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
- package/dist/src/shell/useSidebarLayout.js.map +0 -1
- package/dist/src/shell/useStored.d.ts.map +0 -1
- package/dist/src/shell/useStored.js.map +0 -1
- package/dist/src/shell/useStoryCode.d.ts.map +0 -1
- package/dist/src/shell/useStoryCode.js.map +0 -1
- package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
- package/dist/src/shell/useStoryHeights.js.map +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
- package/dist/src/shell/useStoryIdsElement.js.map +0 -1
- package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
- package/dist/src/shell/useStoryKeys.js.map +0 -1
- package/dist/src/shell/useSystemDark.d.ts.map +0 -1
- package/dist/src/shell/useSystemDark.js.map +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
- package/dist/src/shell/useToolbarLayout.js.map +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
- package/dist/src/shell/useToolbarOverflow.js.map +0 -1
- package/dist/src/shell/useWorstCase.d.ts.map +0 -1
- package/dist/src/shell/useWorstCase.js.map +0 -1
- package/dist/src/shell/worstArgs.d.ts.map +0 -1
- package/dist/src/shell/worstArgs.js.map +0 -1
- package/dist/src/sourceFiles.d.ts.map +0 -1
- package/dist/src/sourceFiles.js.map +0 -1
- package/dist/src/spills.d.ts.map +0 -1
- package/dist/src/spills.js.map +0 -1
- package/dist/src/storyBackground.d.ts.map +0 -1
- package/dist/src/storyBackground.js.map +0 -1
- package/dist/src/storyCheck.d.ts.map +0 -1
- package/dist/src/storyCheck.js.map +0 -1
- package/dist/src/storyClock.d.ts.map +0 -1
- package/dist/src/storyClock.js.map +0 -1
- package/dist/src/storyGlobals.d.ts.map +0 -1
- package/dist/src/storyGlobals.js.map +0 -1
- package/dist/src/storyHeights.d.ts.map +0 -1
- package/dist/src/storyHeights.js.map +0 -1
- package/dist/src/storyIdsElement.d.ts.map +0 -1
- package/dist/src/storyIdsElement.js.map +0 -1
- package/dist/src/storyTexts.d.ts.map +0 -1
- package/dist/src/storyTexts.js.map +0 -1
- package/dist/src/storyTree.d.ts.map +0 -1
- package/dist/src/storyTree.js.map +0 -1
- package/dist/src/switches.d.ts.map +0 -1
- package/dist/src/switches.js.map +0 -1
- package/dist/src/toolbarLayout.d.ts.map +0 -1
- package/dist/src/toolbarLayout.js.map +0 -1
- package/dist/src/usedIn.d.ts.map +0 -1
- package/dist/src/usedIn.js.map +0 -1
- package/dist/src/viewState.d.ts.map +0 -1
- package/dist/src/viewState.js.map +0 -1
- package/dist/src/viewWords.d.ts.map +0 -1
- package/dist/src/viewWords.js.map +0 -1
- package/dist/src/vite/adapter.d.ts.map +0 -1
- package/dist/src/vite/adapter.js.map +0 -1
- package/dist/src/vite/agent.types.d.ts.map +0 -1
- package/dist/src/vite/agent.types.js.map +0 -1
- package/dist/src/vite/agentApi.d.ts.map +0 -1
- package/dist/src/vite/agentApi.js.map +0 -1
- package/dist/src/vite/agentRoutes.d.ts.map +0 -1
- package/dist/src/vite/agentRoutes.js.map +0 -1
- package/dist/src/vite/autoTitle.d.ts.map +0 -1
- package/dist/src/vite/autoTitle.js.map +0 -1
- package/dist/src/vite/componentPage.d.ts.map +0 -1
- package/dist/src/vite/componentPage.js.map +0 -1
- package/dist/src/vite/config.d.ts.map +0 -1
- package/dist/src/vite/config.js.map +0 -1
- package/dist/src/vite/configFile.d.ts.map +0 -1
- package/dist/src/vite/configFile.js.map +0 -1
- package/dist/src/vite/docsExtractor.d.ts.map +0 -1
- package/dist/src/vite/docsExtractor.js.map +0 -1
- package/dist/src/vite/docsProgram.d.ts.map +0 -1
- package/dist/src/vite/docsProgram.js.map +0 -1
- package/dist/src/vite/docsWorker.d.ts.map +0 -1
- package/dist/src/vite/docsWorker.js.map +0 -1
- package/dist/src/vite/forcedStates.d.ts.map +0 -1
- package/dist/src/vite/forcedStates.js.map +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
- package/dist/src/vite/forgebookPlugin.js.map +0 -1
- package/dist/src/vite/heightsRoute.d.ts.map +0 -1
- package/dist/src/vite/heightsRoute.js.map +0 -1
- package/dist/src/vite/highlightCode.d.ts.map +0 -1
- package/dist/src/vite/highlightCode.js.map +0 -1
- package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
- package/dist/src/vite/indexStoryFile.js.map +0 -1
- package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
- package/dist/src/vite/mcpProtocol.js.map +0 -1
- package/dist/src/vite/pages.d.ts.map +0 -1
- package/dist/src/vite/pages.js.map +0 -1
- package/dist/src/vite/prebundled.d.ts.map +0 -1
- package/dist/src/vite/prebundled.js.map +0 -1
- package/dist/src/vite/storyCode.d.ts.map +0 -1
- package/dist/src/vite/storyCode.js.map +0 -1
- package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
- package/dist/src/vite/storyFilesModule.js.map +0 -1
- package/dist/src/vite/storyMeta.d.ts.map +0 -1
- package/dist/src/vite/storyMeta.js.map +0 -1
- package/dist/src/vite/touchMedia.d.ts.map +0 -1
- package/dist/src/vite/touchMedia.js.map +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
- package/dist/src/vite/typeScriptPieces.js.map +0 -1
- package/dist/src/vite/usageGraph.d.ts.map +0 -1
- package/dist/src/vite/usageGraph.js.map +0 -1
- package/dist/src/vite/usageModule.d.ts.map +0 -1
- package/dist/src/vite/usageModule.js.map +0 -1
- package/dist/src/worstCase.d.ts.map +0 -1
- package/dist/src/worstCase.js.map +0 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { searchables, searchCatalogue } from "../search.js";
|
|
2
|
+
import { isSearchIndex, mergedSearchIndex } from "../searchIndex.js";
|
|
3
|
+
import { sourceSearchLoaders } from "../sourceFiles.js";
|
|
4
|
+
import { componentAddressOf, docPageAddressOf, storyAddressOf } from "../viewState.js";
|
|
5
|
+
import { settled } from "./agentRoutes.js";
|
|
6
|
+
/** How many results an answer gives unless asked: agents degrade with long context. */
|
|
7
|
+
const DEFAULT_LIMIT = 8;
|
|
8
|
+
/** How many results an answer can give. */
|
|
9
|
+
const MAX_LIMIT = 50;
|
|
10
|
+
/** How many hits each result lists. */
|
|
11
|
+
const HITS = 3;
|
|
12
|
+
/** A marked text as plain text. */
|
|
13
|
+
const plain = (text) => text.map((piece) => piece.text).join("");
|
|
14
|
+
/** The address a search's target opens. */
|
|
15
|
+
const addressOf = (target, pages, view) => {
|
|
16
|
+
if (target.kind === "story")
|
|
17
|
+
return storyAddressOf(pages.page, target.id, view);
|
|
18
|
+
const address = target.kind === "page"
|
|
19
|
+
? docPageAddressOf(pages.page, target.id, view)
|
|
20
|
+
: componentAddressOf(pages.page, target.id, view);
|
|
21
|
+
return target.anchor === undefined ? address : `${address}#${encodeURIComponent(target.anchor)}`;
|
|
22
|
+
};
|
|
23
|
+
/** A hit as the document gives it. */
|
|
24
|
+
const agentHit = (hit, pages, view) => ({
|
|
25
|
+
kind: hit.kind,
|
|
26
|
+
...(hit.label === undefined ? {} : { name: plain(hit.label) }),
|
|
27
|
+
text: plain(hit.snippet),
|
|
28
|
+
address: addressOf(hit.target, pages, view)
|
|
29
|
+
});
|
|
30
|
+
/** A result as the document gives it. */
|
|
31
|
+
const agentResult = (result, pages, view) => ({
|
|
32
|
+
kind: result.kind,
|
|
33
|
+
id: result.target.id,
|
|
34
|
+
name: plain(result.name),
|
|
35
|
+
place: result.place,
|
|
36
|
+
score: result.score,
|
|
37
|
+
matched: result.matched,
|
|
38
|
+
missed: result.missed,
|
|
39
|
+
reasons: result.reasons,
|
|
40
|
+
hits: result.hits.map((hit) => agentHit(hit, pages, view)),
|
|
41
|
+
hitCount: result.hitCount,
|
|
42
|
+
address: addressOf(result.target, pages, view)
|
|
43
|
+
});
|
|
44
|
+
/** A source's index, every group's read, with why one could not be. */
|
|
45
|
+
const indexOf = async (source) => {
|
|
46
|
+
const read = await Promise.all(sourceSearchLoaders(source).map((load) => settled(load)));
|
|
47
|
+
const problems = read.flatMap((each) => ("error" in each ? [`${source.name}: ${each.error}`] : []));
|
|
48
|
+
const indexes = read.flatMap((each) => ("value" in each && isSearchIndex(each.value) ? [each.value] : []));
|
|
49
|
+
return { index: mergedSearchIndex(indexes), problems };
|
|
50
|
+
};
|
|
51
|
+
/** The limit asked for, within what an answer can give. */
|
|
52
|
+
const limitOf = (text) => {
|
|
53
|
+
const limit = Number(text ?? DEFAULT_LIMIT);
|
|
54
|
+
return Number.isInteger(limit) && limit > 0 ? Math.min(limit, MAX_LIMIT) : DEFAULT_LIMIT;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* What a query finds across the catalogue.
|
|
58
|
+
*
|
|
59
|
+
* @param context - what the routes read.
|
|
60
|
+
*/
|
|
61
|
+
export const searchAnswer = async ({ tree, params, pages, view, loaded }) => {
|
|
62
|
+
const query = params.get("query") ?? "";
|
|
63
|
+
if (query.trim() === "")
|
|
64
|
+
return { status: 400, body: { error: "No words to look for" } };
|
|
65
|
+
const read = await Promise.all(loaded.sources.map(async (source) => ({ id: source.id, ...(await indexOf(source)) })));
|
|
66
|
+
const indexes = new Map(read.map(({ id, index }) => [id, index]));
|
|
67
|
+
const answer = searchCatalogue(searchables(tree, indexes), query, {
|
|
68
|
+
results: limitOf(params.get("limit")),
|
|
69
|
+
hits: HITS
|
|
70
|
+
});
|
|
71
|
+
const body = {
|
|
72
|
+
schema: 1,
|
|
73
|
+
query,
|
|
74
|
+
total: answer.total,
|
|
75
|
+
results: answer.results.map((result) => agentResult(result, pages, view)),
|
|
76
|
+
problems: read.flatMap(({ index, problems }) => [...problems, ...(index.problems ?? [])])
|
|
77
|
+
};
|
|
78
|
+
return { status: 200, body };
|
|
79
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Makes the dev server resolve a package on Node with the export conditions its pages resolve it with, so the stories
|
|
3
|
+
* and previews it loads for tools are the files the frames draw.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Vite gives its server environment conditions of its own (`module`, `node`): a catalogue's `resolve.conditions`
|
|
7
|
+
* reaches the pages only. A monorepo that points its packages at their sources with a condition (`source`) is then
|
|
8
|
+
* read from their builds on the server, or not at all where nothing is built, and a preview that imports one cannot
|
|
9
|
+
* load there. So the server takes the pages' conditions too, except those of another runtime (`browser`, which would
|
|
10
|
+
* pick a package's browser build on Node, `worker`, `react-native`). A plugin that names the server's conditions
|
|
11
|
+
* itself (`ssr.resolve.conditions`, `environments.ssr.resolve.conditions`) keeps them. The hook runs after every other
|
|
12
|
+
* plugin's, so the conditions a framework's or the catalogue's plugins add are read as well; one a plugin sets in its
|
|
13
|
+
* `configEnvironment` hook is not. Only the `forgebook` command's server has it: an app that runs the catalogue's
|
|
14
|
+
* plugin in a Vite configuration of its own names the server's conditions there.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { type Plugin, type UserConfig } from "vite";
|
|
19
|
+
/**
|
|
20
|
+
* The conditions the server resolves with for this configuration, or `undefined` to leave Vite's: none named for the
|
|
21
|
+
* pages, the server's named, or a server that runs as a web worker, which Vite gives the pages' conditions already.
|
|
22
|
+
*
|
|
23
|
+
* @param config - Vite's configuration, every plugin's included.
|
|
24
|
+
*/
|
|
25
|
+
export declare const serverConditionsOf: (config: UserConfig) => readonly string[] | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The plugin.
|
|
28
|
+
*
|
|
29
|
+
* @returns a plugin that sets the server environment's conditions after the other plugins set theirs.
|
|
30
|
+
*/
|
|
31
|
+
export declare const serverConditions: () => Plugin;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Makes the dev server resolve a package on Node with the export conditions its pages resolve it with, so the stories
|
|
3
|
+
* and previews it loads for tools are the files the frames draw.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Vite gives its server environment conditions of its own (`module`, `node`): a catalogue's `resolve.conditions`
|
|
7
|
+
* reaches the pages only. A monorepo that points its packages at their sources with a condition (`source`) is then
|
|
8
|
+
* read from their builds on the server, or not at all where nothing is built, and a preview that imports one cannot
|
|
9
|
+
* load there. So the server takes the pages' conditions too, except those of another runtime (`browser`, which would
|
|
10
|
+
* pick a package's browser build on Node, `worker`, `react-native`). A plugin that names the server's conditions
|
|
11
|
+
* itself (`ssr.resolve.conditions`, `environments.ssr.resolve.conditions`) keeps them. The hook runs after every other
|
|
12
|
+
* plugin's, so the conditions a framework's or the catalogue's plugins add are read as well; one a plugin sets in its
|
|
13
|
+
* `configEnvironment` hook is not. Only the `forgebook` command's server has it: an app that runs the catalogue's
|
|
14
|
+
* plugin in a Vite configuration of its own names the server's conditions there.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { defaultServerConditions } from "vite";
|
|
19
|
+
/**
|
|
20
|
+
* The conditions that name a build for another runtime than Node's: a package's browser build, a worker's, a native
|
|
21
|
+
* app's, another server runtime's. Node cannot run them, so the server leaves them out.
|
|
22
|
+
*/
|
|
23
|
+
const OTHER_RUNTIMES = new Set([
|
|
24
|
+
"browser",
|
|
25
|
+
"worker",
|
|
26
|
+
"react-native",
|
|
27
|
+
"deno",
|
|
28
|
+
"bun",
|
|
29
|
+
"workerd",
|
|
30
|
+
"edge-light"
|
|
31
|
+
]);
|
|
32
|
+
/**
|
|
33
|
+
* The conditions the server resolves with for this configuration, or `undefined` to leave Vite's: none named for the
|
|
34
|
+
* pages, the server's named, or a server that runs as a web worker, which Vite gives the pages' conditions already.
|
|
35
|
+
*
|
|
36
|
+
* @param config - Vite's configuration, every plugin's included.
|
|
37
|
+
*/
|
|
38
|
+
export const serverConditionsOf = (config) => {
|
|
39
|
+
const pages = config.environments?.["client"]?.resolve?.conditions ?? config.resolve?.conditions;
|
|
40
|
+
if (pages === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
if (config.ssr?.target === "webworker")
|
|
43
|
+
return undefined;
|
|
44
|
+
if (config.ssr?.resolve?.conditions !== undefined)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (config.environments?.["ssr"]?.resolve?.conditions !== undefined)
|
|
47
|
+
return undefined;
|
|
48
|
+
const forNode = pages.filter((condition) => !OTHER_RUNTIMES.has(condition));
|
|
49
|
+
return [...new Set([...forNode, ...defaultServerConditions])];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* The plugin.
|
|
53
|
+
*
|
|
54
|
+
* @returns a plugin that sets the server environment's conditions after the other plugins set theirs.
|
|
55
|
+
*/
|
|
56
|
+
export const serverConditions = () => ({
|
|
57
|
+
name: "forgebook:server-conditions",
|
|
58
|
+
// a build loads nothing on the server, and an environment added to it would reach every plugin's hooks
|
|
59
|
+
apply: "serve",
|
|
60
|
+
config: {
|
|
61
|
+
order: "post",
|
|
62
|
+
handler: (config) => {
|
|
63
|
+
const conditions = serverConditionsOf(config);
|
|
64
|
+
return conditions === undefined
|
|
65
|
+
? undefined
|
|
66
|
+
: { environments: { ssr: { resolve: { conditions: [...conditions] } } } };
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hook's or a function's signature, read from its types and TSDoc: what a story about logic documents first. Shared
|
|
3
|
+
* by the frameworks' docs modules.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import ts from "typescript-6";
|
|
8
|
+
import type { FunctionSignatureDocs } from "../componentDocs.ts";
|
|
9
|
+
/**
|
|
10
|
+
* A hook's or a function's signature, read at the expression that names it: its type parameters, each parameter as
|
|
11
|
+
* the source writes it (a destructured one by its pattern, a rest one marked) with its `@param` text, and the return
|
|
12
|
+
* type with its `@returns` text. An overloaded function gives its first signature.
|
|
13
|
+
*
|
|
14
|
+
* @param symbol - the function's declared symbol.
|
|
15
|
+
* @param expression - where the code names it.
|
|
16
|
+
* @param checker - the program's checker.
|
|
17
|
+
*/
|
|
18
|
+
export declare const signatureDocs: (symbol: ts.Symbol, expression: ts.Expression, checker: ts.TypeChecker) => FunctionSignatureDocs | undefined;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hook's or a function's signature, read from its types and TSDoc: what a story about logic documents first. Shared
|
|
3
|
+
* by the frameworks' docs modules.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import ts from "typescript-6";
|
|
8
|
+
/**
|
|
9
|
+
* A type as the source writes it, on one line.
|
|
10
|
+
*
|
|
11
|
+
* @param node - the type's node.
|
|
12
|
+
*/
|
|
13
|
+
const writtenText = (node) => node.getText().replace(/\s+/g, " ").trim();
|
|
14
|
+
/**
|
|
15
|
+
* A JSDoc tag's text on one line.
|
|
16
|
+
*
|
|
17
|
+
* @param comment - the tag's comment.
|
|
18
|
+
*/
|
|
19
|
+
const tagText = (comment) => (ts.getTextOfJSDocComment(comment) ?? "").replace(/^-\s*/, "").replace(/\s+/g, " ").trim();
|
|
20
|
+
/**
|
|
21
|
+
* A hook's or a function's signature, read at the expression that names it: its type parameters, each parameter as
|
|
22
|
+
* the source writes it (a destructured one by its pattern, a rest one marked) with its `@param` text, and the return
|
|
23
|
+
* type with its `@returns` text. An overloaded function gives its first signature.
|
|
24
|
+
*
|
|
25
|
+
* @param symbol - the function's declared symbol.
|
|
26
|
+
* @param expression - where the code names it.
|
|
27
|
+
* @param checker - the program's checker.
|
|
28
|
+
*/
|
|
29
|
+
export const signatureDocs = (symbol, expression, checker) => {
|
|
30
|
+
const [signature] = checker.getTypeOfSymbolAtLocation(symbol, expression).getCallSignatures();
|
|
31
|
+
if (signature === undefined)
|
|
32
|
+
return undefined;
|
|
33
|
+
// a signature the checker made (a mapped or an intersected type) has no declaration
|
|
34
|
+
const declaration = signature.getDeclaration();
|
|
35
|
+
// a hook typed through an alias (`const useX: UseX = …`) has its comment on its own declaration, not the alias's
|
|
36
|
+
const ownTags = (symbol.declarations ?? []).flatMap((each) => [...ts.getJSDocTags(each)]);
|
|
37
|
+
const ownParameterTag = (name) => ownTags.filter(ts.isJSDocParameterTag).find((tag) => tag.name.getText() === name);
|
|
38
|
+
const parameters = signature.parameters.map((parameter) => {
|
|
39
|
+
const node = parameter.valueDeclaration;
|
|
40
|
+
const written = node !== undefined && ts.isParameter(node) ? node : undefined;
|
|
41
|
+
const tag = (written === undefined ? undefined : ts.getJSDocParameterTags(written)[0]) ??
|
|
42
|
+
ownParameterTag(parameter.getName());
|
|
43
|
+
return {
|
|
44
|
+
// a destructured parameter has no name of its own: the checker calls it `__0`
|
|
45
|
+
name: written === undefined || ts.isIdentifier(written.name)
|
|
46
|
+
? parameter.getName()
|
|
47
|
+
: writtenText(written.name),
|
|
48
|
+
type: written?.type === undefined
|
|
49
|
+
? checker.typeToString(checker.getTypeOfSymbolAtLocation(parameter, expression))
|
|
50
|
+
: writtenText(written.type),
|
|
51
|
+
description: tagText(tag?.comment),
|
|
52
|
+
isOptional: written?.questionToken !== undefined || written?.initializer !== undefined,
|
|
53
|
+
isRest: written?.dotDotDotToken !== undefined
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
const returnType = declaration?.type;
|
|
57
|
+
return {
|
|
58
|
+
typeParameters: (declaration?.typeParameters ?? []).map(writtenText),
|
|
59
|
+
parameters,
|
|
60
|
+
returns: returnType === undefined ? checker.typeToString(signature.getReturnType()) : writtenText(returnType),
|
|
61
|
+
returnsDescription: tagText(((declaration === undefined ? undefined : ts.getJSDocReturnTag(declaration)) ??
|
|
62
|
+
ownTags.find(ts.isJSDocReturnTag))?.comment)
|
|
63
|
+
};
|
|
64
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type ParsedTokens } from "./designTokens.ts";
|
|
2
|
+
/** What a source's module says of its tokens, its paths as written. */
|
|
3
|
+
export type DeclaredSource = {
|
|
4
|
+
/** The source's id, when written plainly. */
|
|
5
|
+
readonly id: string | undefined;
|
|
6
|
+
/** Its tokens files, the base first. */
|
|
7
|
+
readonly tokens: readonly {
|
|
8
|
+
readonly file: string;
|
|
9
|
+
readonly mode: string | undefined;
|
|
10
|
+
}[];
|
|
11
|
+
/** What cannot be read of tokens it does declare. */
|
|
12
|
+
readonly problems: readonly string[];
|
|
13
|
+
/** Why the module could not be read, so whether it declares tokens is not known. */
|
|
14
|
+
readonly unread?: string;
|
|
15
|
+
};
|
|
16
|
+
/** A tokens file to read. */
|
|
17
|
+
export type TokensFileToRead = {
|
|
18
|
+
/** Its absolute path. */
|
|
19
|
+
readonly path: string;
|
|
20
|
+
/** The theme it belongs to; none for the base. */
|
|
21
|
+
readonly mode: string | undefined;
|
|
22
|
+
/** What a problem calls it. */
|
|
23
|
+
readonly label: string;
|
|
24
|
+
/** The source it comes from; none for the catalogue's own. */
|
|
25
|
+
readonly source?: string;
|
|
26
|
+
};
|
|
27
|
+
/** A source's tokens files, ready to read. */
|
|
28
|
+
export type SourceTokens = {
|
|
29
|
+
/** Its id, when written plainly. */
|
|
30
|
+
readonly id: string | undefined;
|
|
31
|
+
/** Its tokens files. */
|
|
32
|
+
readonly files: readonly TokensFileToRead[];
|
|
33
|
+
/** What cannot be read of tokens it does declare. */
|
|
34
|
+
readonly problems: readonly string[];
|
|
35
|
+
/** Why its module could not be read, so whether it declares tokens is not known. */
|
|
36
|
+
readonly unread?: string;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* What a source's module declares, from its text.
|
|
40
|
+
*
|
|
41
|
+
* @param file - the module's path, for the parser (its extension says TypeScript or JSX).
|
|
42
|
+
* @param text - the module's text.
|
|
43
|
+
*/
|
|
44
|
+
export declare const declaredSource: (file: string, text: string) => DeclaredSource;
|
|
45
|
+
/**
|
|
46
|
+
* What the source in a module gives, its paths absolute.
|
|
47
|
+
*
|
|
48
|
+
* @param file - the module's absolute path.
|
|
49
|
+
* @param name - what names the module, for the problems and the files' labels (`@acme/ui/stories`).
|
|
50
|
+
*/
|
|
51
|
+
export declare const sourceTokensIn: (file: string, name: string) => SourceTokens;
|
|
52
|
+
/**
|
|
53
|
+
* Reads tokens files from disk.
|
|
54
|
+
*
|
|
55
|
+
* @param files - the files: each source's, then the catalogue's own.
|
|
56
|
+
*/
|
|
57
|
+
export declare const readTokenFiles: (files: readonly TokensFileToRead[]) => ParsedTokens;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the module of a package's source declares, read without running it: its id and its tokens files; and tokens files
|
|
3
|
+
* read from disk, for the catalogue's answers and for `forgebook docs`.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* A source's module imports the stories' index, its texts and whatever its named values need, and only a catalogue's
|
|
7
|
+
* bundler answers those imports, so running it would let a broken story take the tokens down, and `forgebook docs` has
|
|
8
|
+
* no bundler at all. The text is enough when `export const source` is an object written plainly. A source built by code
|
|
9
|
+
* gives no id, and a `tokens` key inside it is a problem, named: its tokens would otherwise vanish in silence.
|
|
10
|
+
*
|
|
11
|
+
* A module that cannot be read says nothing either way, so it is `unread`, apart from `problems`: a tool shows it, but
|
|
12
|
+
* only tokens known to be declared stop a check, or every catalogue would fail on a source mid-edit that has none.
|
|
13
|
+
*
|
|
14
|
+
* A source's paths stay inside its package. A dependency writes them and the answers travel, so a path leading out would
|
|
15
|
+
* read files the dev server's `server.fs` never serves.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
20
|
+
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
21
|
+
import { parseSync } from "vite";
|
|
22
|
+
import { readTokens } from "./designTokens.js";
|
|
23
|
+
import { propertyValue, unwrapped } from "./indexFields.js";
|
|
24
|
+
/** What to do about tokens the module's text does not give. */
|
|
25
|
+
const NOT_PLAIN = "tokens are read without running the module: write them as a list of strings or `{ file, mode }` in `export const source = { … }`";
|
|
26
|
+
/** What a top-level `export const source = …` holds, if the statement is one. */
|
|
27
|
+
const sourceValue = (statement) => {
|
|
28
|
+
if (statement.type !== "ExportNamedDeclaration" || statement.declaration?.type !== "VariableDeclaration")
|
|
29
|
+
return undefined;
|
|
30
|
+
for (const declarator of statement.declaration.declarations) {
|
|
31
|
+
if (declarator.id.type === "Identifier" && declarator.id.name === "source" && declarator.init !== null)
|
|
32
|
+
return unwrapped(declarator.init);
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
};
|
|
36
|
+
/** Whether a syntax tree holds a `tokens` key: how a source built by code still shows it means tokens. */
|
|
37
|
+
const holdsTokensKey = (node) => {
|
|
38
|
+
if (Array.isArray(node))
|
|
39
|
+
return node.some(holdsTokensKey);
|
|
40
|
+
if (typeof node !== "object" || node === null)
|
|
41
|
+
return false;
|
|
42
|
+
const isKey = "type" in node &&
|
|
43
|
+
node.type === "Property" &&
|
|
44
|
+
"key" in node &&
|
|
45
|
+
typeof node.key === "object" &&
|
|
46
|
+
node.key !== null &&
|
|
47
|
+
(("name" in node.key && node.key.name === "tokens") ||
|
|
48
|
+
("value" in node.key && node.key.value === "tokens"));
|
|
49
|
+
return isKey || Object.values(node).some(holdsTokensKey);
|
|
50
|
+
};
|
|
51
|
+
/** A property's text, when it is written as one. */
|
|
52
|
+
const plainText = (object, name) => {
|
|
53
|
+
const value = propertyValue(object, name);
|
|
54
|
+
return value?.type === "Literal" && typeof value.value === "string" ? value.value : undefined;
|
|
55
|
+
};
|
|
56
|
+
/** One entry of the list, or none when it is not written plainly. */
|
|
57
|
+
const tokensEntry = (element) => {
|
|
58
|
+
if (element === null || element.type === "SpreadElement")
|
|
59
|
+
return undefined;
|
|
60
|
+
const entry = unwrapped(element);
|
|
61
|
+
if (entry.type === "Literal" && typeof entry.value === "string")
|
|
62
|
+
return { file: entry.value, mode: undefined };
|
|
63
|
+
if (entry.type !== "ObjectExpression")
|
|
64
|
+
return undefined;
|
|
65
|
+
const file = plainText(entry, "file");
|
|
66
|
+
const mode = plainText(entry, "mode");
|
|
67
|
+
return file === undefined || mode === undefined ? undefined : { file, mode };
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* What a source's module declares, from its text.
|
|
71
|
+
*
|
|
72
|
+
* @param file - the module's path, for the parser (its extension says TypeScript or JSX).
|
|
73
|
+
* @param text - the module's text.
|
|
74
|
+
*/
|
|
75
|
+
export const declaredSource = (file, text) => {
|
|
76
|
+
const { program, errors } = parseSync(file, text);
|
|
77
|
+
if (errors.length > 0) {
|
|
78
|
+
const unread = `it cannot be parsed: ${errors[0]?.message ?? ""}`;
|
|
79
|
+
return { id: undefined, tokens: [], problems: [], unread };
|
|
80
|
+
}
|
|
81
|
+
const value = program.body.map(sourceValue).find((each) => each !== undefined);
|
|
82
|
+
if (value?.type !== "ObjectExpression")
|
|
83
|
+
return { id: undefined, tokens: [], problems: holdsTokensKey(value ?? program.body) ? [NOT_PLAIN] : [] };
|
|
84
|
+
const object = value;
|
|
85
|
+
const id = plainText(object, "id");
|
|
86
|
+
const list = propertyValue(object, "tokens");
|
|
87
|
+
if (list === undefined)
|
|
88
|
+
return { id, tokens: [], problems: [] };
|
|
89
|
+
if (list.type !== "ArrayExpression")
|
|
90
|
+
return { id, tokens: [], problems: [NOT_PLAIN] };
|
|
91
|
+
const entries = list.elements.map(tokensEntry);
|
|
92
|
+
return {
|
|
93
|
+
id,
|
|
94
|
+
tokens: entries.filter((entry) => entry !== undefined),
|
|
95
|
+
problems: entries.includes(undefined) ? [NOT_PLAIN] : []
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
/** The folder of the package a module is in: the nearest with a manifest, or the module's own. */
|
|
99
|
+
const packageRoot = (file) => {
|
|
100
|
+
const start = dirname(file);
|
|
101
|
+
for (let dir = start; dir !== dirname(dir); dir = dirname(dir)) {
|
|
102
|
+
if (existsSync(join(dir, "package.json")))
|
|
103
|
+
return dir;
|
|
104
|
+
}
|
|
105
|
+
return start;
|
|
106
|
+
};
|
|
107
|
+
/** Whether a path, its links followed where it exists, is inside a folder. */
|
|
108
|
+
const isInside = (root, path) => {
|
|
109
|
+
const real = (each) => (existsSync(each) ? realpathSync(each) : each);
|
|
110
|
+
const fromRoot = relative(real(root), real(path));
|
|
111
|
+
return fromRoot !== ".." && !fromRoot.startsWith(`..${sep}`) && !isAbsolute(fromRoot);
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* What the source in a module gives, its paths absolute.
|
|
115
|
+
*
|
|
116
|
+
* @param file - the module's absolute path.
|
|
117
|
+
* @param name - what names the module, for the problems and the files' labels (`@acme/ui/stories`).
|
|
118
|
+
*/
|
|
119
|
+
export const sourceTokensIn = (file, name) => {
|
|
120
|
+
let declared;
|
|
121
|
+
try {
|
|
122
|
+
declared = declaredSource(file, readFileSync(file, "utf8"));
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
126
|
+
return { id: undefined, files: [], problems: [], unread: `${name}: ${reason}` };
|
|
127
|
+
}
|
|
128
|
+
const source = declared.id ?? name;
|
|
129
|
+
const root = packageRoot(file);
|
|
130
|
+
const located = declared.tokens.map((each) => ({ ...each, path: resolve(dirname(file), each.file) }));
|
|
131
|
+
const outside = located.filter(({ path }) => !isInside(root, path));
|
|
132
|
+
return {
|
|
133
|
+
id: declared.id,
|
|
134
|
+
files: located
|
|
135
|
+
.filter(({ path }) => isInside(root, path))
|
|
136
|
+
.map(({ file: written, mode, path }) => ({ path, mode, label: `${name}: ${written}`, source })),
|
|
137
|
+
problems: [...declared.problems, ...outside.map((each) => `${each.file} is outside the package`)].map((problem) => `${name}: ${problem}`),
|
|
138
|
+
...(declared.unread === undefined ? {} : { unread: `${name}: ${declared.unread}` })
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
/** A file's content as a reading's input, or none with a problem. */
|
|
142
|
+
const fileInput = (file, unread) => {
|
|
143
|
+
const { path, mode, label, source } = file;
|
|
144
|
+
try {
|
|
145
|
+
const content = JSON.parse(readFileSync(path, "utf8"));
|
|
146
|
+
return [{ label, mode, file: content, ...(source === undefined ? {} : { source }) }];
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
// the parser's message quotes the file, and a path may not lead to tokens at all
|
|
150
|
+
const reason = error instanceof SyntaxError ? "it is not JSON" : String(error);
|
|
151
|
+
unread.push(`${label}: ${reason}`);
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Reads tokens files from disk.
|
|
157
|
+
*
|
|
158
|
+
* @param files - the files: each source's, then the catalogue's own.
|
|
159
|
+
*/
|
|
160
|
+
export const readTokenFiles = (files) => {
|
|
161
|
+
const unread = [];
|
|
162
|
+
const { tokens, problems, clashes } = readTokens(files.flatMap((file) => fileInput(file, unread)));
|
|
163
|
+
return { tokens, problems: [...unread, ...problems], clashes };
|
|
164
|
+
};
|
|
@@ -25,4 +25,3 @@ export declare const dedented: (text: string, indent: number) => string;
|
|
|
25
25
|
* @returns the texts by export name, or a message saying why the file cannot be read.
|
|
26
26
|
*/
|
|
27
27
|
export declare const storyCode: (file: string, text: string) => Readonly<Record<string, string>> | string;
|
|
28
|
-
//# sourceMappingURL=storyCode.d.ts.map
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @module
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
12
|
+
import { parseStoryFile } from "./storyParse.js";
|
|
13
13
|
/** An expression without the TypeScript wrappers around it (`satisfies`, `as`, parentheses). */
|
|
14
14
|
const unwrapped = (expression) => {
|
|
15
15
|
if (expression.type === "TSSatisfiesExpression" ||
|
|
@@ -61,7 +61,7 @@ const renderText = (declarator, text) => {
|
|
|
61
61
|
* @returns the texts by export name, or a message saying why the file cannot be read.
|
|
62
62
|
*/
|
|
63
63
|
export const storyCode = (file, text) => {
|
|
64
|
-
const { program, errors } =
|
|
64
|
+
const { program, errors } = parseStoryFile(file, text);
|
|
65
65
|
const [error] = errors;
|
|
66
66
|
if (error !== undefined)
|
|
67
67
|
return `${file} does not parse: ${error.message}`;
|
|
@@ -77,4 +77,3 @@ export const storyCode = (file, text) => {
|
|
|
77
77
|
}
|
|
78
78
|
return code;
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=storyCode.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A story file's named exports, read from its parsed source: the names the index takes as stories.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Kept apart from `indexStoryFile.ts`, which reads each export's fields. Pure.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { ESTree } from "vite";
|
|
10
|
+
/**
|
|
11
|
+
* One named export of the file: its exported name, the local name it points at (none for a re-export from another
|
|
12
|
+
* file), whether its statement declares it (`export const A = …`, not `export { A }`), and where the statement starts.
|
|
13
|
+
*/
|
|
14
|
+
export type NamedExport = {
|
|
15
|
+
/** The name it is exported as. */
|
|
16
|
+
readonly exportName: string;
|
|
17
|
+
/** The local name it points at; none for a re-export from another file. */
|
|
18
|
+
readonly local: string | undefined;
|
|
19
|
+
/** Whether its statement declares it (`export const A = …`), not only names it (`export { A }`). */
|
|
20
|
+
readonly isDeclared: boolean;
|
|
21
|
+
/** Where its statement starts. */
|
|
22
|
+
readonly start: number;
|
|
23
|
+
};
|
|
24
|
+
/** An export's or an import's name: an identifier's, or a string's (`export { A as "a story" }`). */
|
|
25
|
+
export declare const moduleName: (name: ESTree.ModuleExportName) => string;
|
|
26
|
+
/**
|
|
27
|
+
* The file's named exports that exist when it runs, in their order: declared ones and re-exports (`export { A as B }`,
|
|
28
|
+
* from this file or another); never the default export, a type, or the names of an `export *`.
|
|
29
|
+
*
|
|
30
|
+
* @param program - the parsed file.
|
|
31
|
+
*/
|
|
32
|
+
export declare const namedExports: (program: ESTree.Program) => NamedExport[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** An export's or an import's name: an identifier's, or a string's (`export { A as "a story" }`). */
|
|
2
|
+
export const moduleName = (name) => name.type === "Literal" ? String(name.value) : name.name;
|
|
3
|
+
/**
|
|
4
|
+
* The file's named exports that exist when it runs, in their order: declared ones and re-exports (`export { A as B }`,
|
|
5
|
+
* from this file or another); never the default export, a type, or the names of an `export *`.
|
|
6
|
+
*
|
|
7
|
+
* @param program - the parsed file.
|
|
8
|
+
*/
|
|
9
|
+
export const namedExports = (program) => program.body.flatMap((statement) => {
|
|
10
|
+
if (statement.type !== "ExportNamedDeclaration" || statement.exportKind === "type")
|
|
11
|
+
return [];
|
|
12
|
+
const { declaration, start } = statement;
|
|
13
|
+
if (declaration?.type === "VariableDeclaration") {
|
|
14
|
+
return declaration.declarations.flatMap((declarator) => declarator.id.type === "Identifier"
|
|
15
|
+
? [{ exportName: declarator.id.name, local: declarator.id.name, isDeclared: true, start }]
|
|
16
|
+
: []);
|
|
17
|
+
}
|
|
18
|
+
if (declaration?.type === "FunctionDeclaration" && declaration.id !== null)
|
|
19
|
+
return [{ exportName: declaration.id.name, local: declaration.id.name, isDeclared: true, start }];
|
|
20
|
+
return statement.specifiers.flatMap((specifier) => {
|
|
21
|
+
const exportName = moduleName(specifier.exported);
|
|
22
|
+
if (specifier.exportKind === "type" || exportName === "default")
|
|
23
|
+
return [];
|
|
24
|
+
const local = statement.source === null ? moduleName(specifier.local) : undefined;
|
|
25
|
+
return [{ exportName, local, isDeclared: false, start }];
|
|
26
|
+
});
|
|
27
|
+
});
|