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,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The files the docs' TypeScript programs parse, kept between programs and shared by every configuration that parses
|
|
3
|
+
* alike, as TypeScript's language service groups them.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* A renewed program reuses a file only when its compiler host hands back the same object, so without a kept parse
|
|
7
|
+
* every renewal parses everything again; and in a monorepo whose paths lead every package to every other's sources,
|
|
8
|
+
* each package's program holds the same thousands of files. A kept parse is reused while the file is unchanged, told by
|
|
9
|
+
* its change time and size (`stampOf`), which a write moves even when it keeps the modification time. A build, which
|
|
10
|
+
* changes no file, skips that check until something says files may change (`checkFileChanges`).
|
|
11
|
+
*
|
|
12
|
+
* The standard library's declarations and `@types` packages are parsed without their documentation: most of what
|
|
13
|
+
* `lib.dom.d.ts` and a framework's types weigh, which no component's docs read. Other declarations in `node_modules`
|
|
14
|
+
* keep theirs, since a catalogue may document an installed library.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { statSync } from "node:fs";
|
|
19
|
+
import { dirname } from "node:path";
|
|
20
|
+
import ts from "typescript-6";
|
|
21
|
+
/** What tells which configurations parse a file alike, as TypeScript's language service groups them. */
|
|
22
|
+
const DOCUMENT_REGISTRY = ts.createDocumentRegistry();
|
|
23
|
+
/** The parsed files of each way of parsing, by file name and version. */
|
|
24
|
+
const parsedFiles = new Map();
|
|
25
|
+
/** Whether files may change while they are kept: a dev server's, or any reader told of an edit. */
|
|
26
|
+
let mayChange = false;
|
|
27
|
+
/** From now on a kept parse is checked against its file before it is reused. */
|
|
28
|
+
export const checkFileChanges = () => {
|
|
29
|
+
mayChange = true;
|
|
30
|
+
};
|
|
31
|
+
/** Whether files may change while the programs read them: a dev server's, or any reader told of an edit. */
|
|
32
|
+
export const mayFilesChange = () => mayChange;
|
|
33
|
+
/**
|
|
34
|
+
* A file's stamp: its change time, in nanoseconds, and its size; none for a file that is not there.
|
|
35
|
+
*
|
|
36
|
+
* @param fileName - the file.
|
|
37
|
+
*/
|
|
38
|
+
const stampOf = (fileName) => {
|
|
39
|
+
const stats = statSync(fileName, { bigint: true, throwIfNoEntry: false });
|
|
40
|
+
return stats === undefined ? undefined : `${stats.ctimeNs}:${stats.size}`;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Whether a file's documentation is left out of its parse: the standard library's, or an `@types` package's.
|
|
44
|
+
*
|
|
45
|
+
* @param fileName - the file, as TypeScript names it (forward slashes).
|
|
46
|
+
* @param libraryFolder - the standard library's folder, the same way.
|
|
47
|
+
*/
|
|
48
|
+
const isUndocumented = (fileName, libraryFolder) => dirname(fileName) === libraryFolder || fileName.includes("/node_modules/@types/");
|
|
49
|
+
/**
|
|
50
|
+
* The function a compiler host parses files with, keeping what it parsed for the next program that parses alike.
|
|
51
|
+
*
|
|
52
|
+
* @param options - the program's compiler options.
|
|
53
|
+
* @param parse - the host's own parse.
|
|
54
|
+
*/
|
|
55
|
+
export const keptParse = (options, parse) => {
|
|
56
|
+
const libraryFolder = dirname(ts.getDefaultLibFilePath(options)).replaceAll("\\", "/");
|
|
57
|
+
const shared = DOCUMENT_REGISTRY.getKeyForCompilationSettings(options);
|
|
58
|
+
const kept = parsedFiles.get(shared) ?? new Map();
|
|
59
|
+
parsedFiles.set(shared, kept);
|
|
60
|
+
return (fileName, languageVersion, onError, shouldCreate) => {
|
|
61
|
+
const stamp = mayChange ? stampOf(fileName) : undefined;
|
|
62
|
+
const version = typeof languageVersion === "object" ? languageVersion : { languageVersion };
|
|
63
|
+
const entry = `${fileName}|${version.languageVersion}|${version.impliedNodeFormat ?? ""}`;
|
|
64
|
+
const known = kept.get(entry);
|
|
65
|
+
if (known !== undefined && known.stamp === stamp && shouldCreate !== true)
|
|
66
|
+
return known.file;
|
|
67
|
+
const file = parse(fileName, isUndocumented(fileName, libraryFolder)
|
|
68
|
+
? { ...version, jsDocParsingMode: ts.JSDocParsingMode.ParseNone }
|
|
69
|
+
: version, onError, shouldCreate);
|
|
70
|
+
kept.set(entry, { stamp, file });
|
|
71
|
+
return file;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Lets go every kept parse no program still holds: the limit on programs then bounds the parsed files too.
|
|
76
|
+
*
|
|
77
|
+
* @param programs - the programs kept.
|
|
78
|
+
*/
|
|
79
|
+
export const keepParsesOf = (programs) => {
|
|
80
|
+
const held = new Set();
|
|
81
|
+
for (const program of programs)
|
|
82
|
+
for (const file of program.getSourceFiles())
|
|
83
|
+
held.add(file);
|
|
84
|
+
for (const [shared, kept] of parsedFiles) {
|
|
85
|
+
for (const [entry, parsed] of kept)
|
|
86
|
+
if (parsed.file === undefined || !held.has(parsed.file))
|
|
87
|
+
kept.delete(entry);
|
|
88
|
+
if (kept.size === 0)
|
|
89
|
+
parsedFiles.delete(shared);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The languages outside the TypeScript family that a component's documentation writes, split into coloured pieces: CSS,
|
|
3
|
+
* SCSS, JSON, shell and HTML.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Each is a short list of patterns tried in order at every position, since a page shows short examples and colouring
|
|
7
|
+
* them needs no parser: a general highlighter would add 9 MB to every install for five small grammars. The patterns
|
|
8
|
+
* take negated classes and no nested repetition, so a long text cannot slow them down.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { CodePiece } from "./typeScriptPieces.ts";
|
|
13
|
+
/**
|
|
14
|
+
* A piece of documentation's code as coloured pieces.
|
|
15
|
+
*
|
|
16
|
+
* @param code - the code.
|
|
17
|
+
* @param language - its language, as a Markdown fence names it.
|
|
18
|
+
* @returns the pieces, or none for a language with no grammar here.
|
|
19
|
+
*/
|
|
20
|
+
export declare const grammarPieces: (code: string, language: string) => readonly CodePiece[] | undefined;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/** A quoted string, either quote, on one line. */
|
|
2
|
+
const QUOTED = /"(?:[^"\\\n]|\\.)*"|'(?:[^'\\\n]|\\.)*'/y;
|
|
3
|
+
/** A number, with a CSS unit when it has one. */
|
|
4
|
+
const NUMBER = /-?\b\d+(?:\.\d+)?(?:[a-zA-Z]+|%)?/y;
|
|
5
|
+
/** The rules of CSS, which SCSS extends. */
|
|
6
|
+
const CSS_RULES = [
|
|
7
|
+
[/\/\*[\s\S]*?\*\//y, "comment"],
|
|
8
|
+
[QUOTED, "string"],
|
|
9
|
+
[/@[\w-]+/y, "keyword"],
|
|
10
|
+
[/#[0-9a-fA-F]{3,8}\b/y, "number"],
|
|
11
|
+
[/[.#][a-zA-Z_][\w-]*/y, "type"],
|
|
12
|
+
[/--[\w-]+/y, "property"],
|
|
13
|
+
[/[a-zA-Z-]+(?=[ \t]*:[ \t])/y, "property"],
|
|
14
|
+
[NUMBER, "number"]
|
|
15
|
+
];
|
|
16
|
+
/** The rules of SCSS: line comments and variables on top of CSS. */
|
|
17
|
+
const SCSS_RULES = [
|
|
18
|
+
[/\/\/[^\n]*/y, "comment"],
|
|
19
|
+
[/\$[\w-]+/y, "property"],
|
|
20
|
+
...CSS_RULES
|
|
21
|
+
];
|
|
22
|
+
/** The rules of JSON: a string before a colon is a key. */
|
|
23
|
+
const JSON_RULES = [
|
|
24
|
+
[/"(?:[^"\\\n]|\\.)*"(?=[ \t]*:)/y, "property"],
|
|
25
|
+
[QUOTED, "string"],
|
|
26
|
+
[/\b(?:true|false|null)\b/y, "keyword"],
|
|
27
|
+
[NUMBER, "number"]
|
|
28
|
+
];
|
|
29
|
+
/** The rules of a shell. */
|
|
30
|
+
const SHELL_RULES = [
|
|
31
|
+
[/(?<![^\s])#[^\n]*/y, "comment"],
|
|
32
|
+
[QUOTED, "string"],
|
|
33
|
+
[/\$\{[^}\n]*\}|\$\w+/y, "property"],
|
|
34
|
+
[/\b(?:if|then|else|elif|fi|for|in|do|done|while|case|esac|function|export|return|cd|echo)\b/y, "keyword"]
|
|
35
|
+
];
|
|
36
|
+
/** The rules inside an HTML tag, whose name comes first. */
|
|
37
|
+
const TAG_RULES = [
|
|
38
|
+
[/(?<=<\/?)[\w:.-]+/y, "tag"],
|
|
39
|
+
[QUOTED, "string"],
|
|
40
|
+
[/[\w:.-]+(?==)/y, "attribute"]
|
|
41
|
+
];
|
|
42
|
+
/** The grammars, by the names a Markdown fence gives them. */
|
|
43
|
+
const GRAMMARS = {
|
|
44
|
+
css: CSS_RULES,
|
|
45
|
+
scss: SCSS_RULES,
|
|
46
|
+
json: JSON_RULES,
|
|
47
|
+
bash: SHELL_RULES,
|
|
48
|
+
sh: SHELL_RULES,
|
|
49
|
+
shell: SHELL_RULES,
|
|
50
|
+
zsh: SHELL_RULES
|
|
51
|
+
};
|
|
52
|
+
/** The names of HTML. */
|
|
53
|
+
const HTML_NAMES = new Set(["html", "xml", "svg"]);
|
|
54
|
+
/** The rule that matches at a position, with its length. */
|
|
55
|
+
const matchAt = (code, index, rules) => {
|
|
56
|
+
for (const [pattern, role] of rules) {
|
|
57
|
+
pattern.lastIndex = index;
|
|
58
|
+
const found = pattern.exec(code);
|
|
59
|
+
if (found !== null && found[0] !== "")
|
|
60
|
+
return { role, length: found[0].length };
|
|
61
|
+
}
|
|
62
|
+
return undefined;
|
|
63
|
+
};
|
|
64
|
+
/** Pieces with the plain text between them joined, so an example makes few spans. */
|
|
65
|
+
const piecesOf = (code, rules) => {
|
|
66
|
+
const pieces = [];
|
|
67
|
+
let plainFrom = 0;
|
|
68
|
+
let index = 0;
|
|
69
|
+
while (index < code.length) {
|
|
70
|
+
const match = matchAt(code, index, rules);
|
|
71
|
+
if (match === undefined) {
|
|
72
|
+
index += 1;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
if (plainFrom < index)
|
|
76
|
+
pieces.push({ text: code.slice(plainFrom, index) });
|
|
77
|
+
pieces.push({ text: code.slice(index, index + match.length), role: match.role });
|
|
78
|
+
index += match.length;
|
|
79
|
+
plainFrom = index;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (plainFrom < code.length)
|
|
83
|
+
pieces.push({ text: code.slice(plainFrom) });
|
|
84
|
+
return pieces;
|
|
85
|
+
};
|
|
86
|
+
/** HTML: comments and tags are coloured, and the text between them is left as it is. */
|
|
87
|
+
const htmlPieces = (code) => {
|
|
88
|
+
const pieces = [];
|
|
89
|
+
let index = 0;
|
|
90
|
+
for (const part of code.matchAll(/<!--[\s\S]*?-->|<[^>]*>/g)) {
|
|
91
|
+
if (part.index > index)
|
|
92
|
+
pieces.push({ text: code.slice(index, part.index) });
|
|
93
|
+
const isComment = part[0].startsWith("<!--");
|
|
94
|
+
pieces.push(...(isComment ? [{ text: part[0], role: "comment" }] : piecesOf(part[0], TAG_RULES)));
|
|
95
|
+
index = part.index + part[0].length;
|
|
96
|
+
}
|
|
97
|
+
if (index < code.length)
|
|
98
|
+
pieces.push({ text: code.slice(index) });
|
|
99
|
+
return pieces;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* A piece of documentation's code as coloured pieces.
|
|
103
|
+
*
|
|
104
|
+
* @param code - the code.
|
|
105
|
+
* @param language - its language, as a Markdown fence names it.
|
|
106
|
+
* @returns the pieces, or none for a language with no grammar here.
|
|
107
|
+
*/
|
|
108
|
+
export const grammarPieces = (code, language) => {
|
|
109
|
+
if (HTML_NAMES.has(language))
|
|
110
|
+
return htmlPieces(code);
|
|
111
|
+
const rules = Object.hasOwn(GRAMMARS, language) ? GRAMMARS[language] : undefined;
|
|
112
|
+
return rules === undefined ? undefined : piecesOf(code, rules);
|
|
113
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ForgebookPlugin } from "../plugin.ts";
|
|
2
|
+
import { type ViewSwitch } from "../switches.ts";
|
|
3
|
+
import type { PluginsDocument } from "./agent.types.ts";
|
|
4
|
+
/** The versions of the contract this Forgebook speaks. */
|
|
5
|
+
export declare const SUPPORTED_PLUGIN_API_VERSIONS: readonly number[];
|
|
6
|
+
/**
|
|
7
|
+
* The module a plugin runs in a catalogue's frames, or none.
|
|
8
|
+
*
|
|
9
|
+
* @param plugin - the plugin.
|
|
10
|
+
* @param framework - the catalogue's framework.
|
|
11
|
+
*/
|
|
12
|
+
export declare const pluginFrameModule: (plugin: ForgebookPlugin, framework: string) => string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Why a list of plugins cannot be used, or none.
|
|
15
|
+
*
|
|
16
|
+
* @param plugins - the configuration's plugins.
|
|
17
|
+
* @param framework - the catalogue's framework.
|
|
18
|
+
* @param dir - the configuration's folder.
|
|
19
|
+
*/
|
|
20
|
+
export declare const pluginsProblem: (plugins: readonly ForgebookPlugin[], framework: string, dir: string) => string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* The catalogue's switches with the plugins' after them: a plugin adds to the catalogue's and never takes the place of
|
|
23
|
+
* the theme and the contrast it would have by default. The catalogue's own switch of the same id wins.
|
|
24
|
+
*
|
|
25
|
+
* @param switches - the catalogue's, merged with its presets'; none when neither declares any.
|
|
26
|
+
* @param plugins - the plugins.
|
|
27
|
+
*/
|
|
28
|
+
export declare const withPluginSwitches: (switches: readonly ViewSwitch[] | undefined, plugins: readonly ForgebookPlugin[]) => readonly ViewSwitch[] | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Every module of the plugins that pages import, for pre-bundling an installed plugin.
|
|
31
|
+
*
|
|
32
|
+
* @param plugins - the plugins.
|
|
33
|
+
* @param framework - the catalogue's framework.
|
|
34
|
+
*/
|
|
35
|
+
export declare const pluginModules: (plugins: readonly ForgebookPlugin[], framework: string) => string[];
|
|
36
|
+
/**
|
|
37
|
+
* The fences the plugins add, for the docs pages' compiler.
|
|
38
|
+
*
|
|
39
|
+
* @param plugins - the plugins.
|
|
40
|
+
*/
|
|
41
|
+
export declare const pluginFences: (plugins: readonly ForgebookPlugin[]) => readonly string[];
|
|
42
|
+
/**
|
|
43
|
+
* The plugins as tools and agents read them.
|
|
44
|
+
*
|
|
45
|
+
* @param plugins - the plugins.
|
|
46
|
+
*/
|
|
47
|
+
export declare const pluginsDocument: (plugins: readonly ForgebookPlugin[]) => PluginsDocument;
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plugins a configuration lists, checked on Node before anything is generated from them, and what they add to it.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* A configuration is code nobody type-checked against this version, and what it names ends up in generated imports and
|
|
6
|
+
* in the address, so every plugin is read as `unknown`-shaped data here: one whose contract this Forgebook does not
|
|
7
|
+
* speak, or that collides with another or with Forgebook itself, stops the catalogue with a message that names it,
|
|
8
|
+
* rather than breaking a page later.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { existsSync } from "node:fs";
|
|
13
|
+
import { createRequire } from "node:module";
|
|
14
|
+
import { join, resolve } from "node:path";
|
|
15
|
+
import { PANEL_TAB_IDS } from "../catalogue.js";
|
|
16
|
+
import { DEFAULT_SWITCHES } from "../switches.js";
|
|
17
|
+
/** The versions of the contract this Forgebook speaks. */
|
|
18
|
+
export const SUPPORTED_PLUGIN_API_VERSIONS = [1];
|
|
19
|
+
/**
|
|
20
|
+
* The fences a plugin may not take: a page's own, and the languages people write code in, which would stop being code on
|
|
21
|
+
* every page of the catalogue.
|
|
22
|
+
*/
|
|
23
|
+
const OWN_FENCES = [
|
|
24
|
+
...[
|
|
25
|
+
"story",
|
|
26
|
+
"props",
|
|
27
|
+
"bash",
|
|
28
|
+
"c",
|
|
29
|
+
"cpp",
|
|
30
|
+
"css",
|
|
31
|
+
"diff",
|
|
32
|
+
"go",
|
|
33
|
+
"html",
|
|
34
|
+
"java",
|
|
35
|
+
"js",
|
|
36
|
+
"json",
|
|
37
|
+
"jsx",
|
|
38
|
+
"kotlin"
|
|
39
|
+
],
|
|
40
|
+
...["markdown", "md", "mdx", "php", "python", "py", "ruby", "rust", "scss", "sh", "shell", "sql", "swift"],
|
|
41
|
+
...["text", "toml", "ts", "tsx", "txt", "xml", "yaml", "yml"]
|
|
42
|
+
];
|
|
43
|
+
/** A plugin's id: lower-case words and hyphens. */
|
|
44
|
+
const NAME = /^[a-z][a-z0-9-]*$/;
|
|
45
|
+
/**
|
|
46
|
+
* The first of some names that is there twice, or not one of the plugin's.
|
|
47
|
+
*
|
|
48
|
+
* @param plugin - the plugin's id.
|
|
49
|
+
* @param names - the names.
|
|
50
|
+
* @param seen - the names of every plugin so far.
|
|
51
|
+
* @param what - what a name names, for the message.
|
|
52
|
+
*/
|
|
53
|
+
const namesProblem = (plugin, names, seen, what) => {
|
|
54
|
+
for (const name of names) {
|
|
55
|
+
if (name !== plugin && !(name.startsWith(`${plugin}-`) && NAME.test(name)))
|
|
56
|
+
return `${what} "${name}" must be "${plugin}", or start with "${plugin}-"`;
|
|
57
|
+
if (seen.has(name))
|
|
58
|
+
return `${what} "${name}" is given twice`;
|
|
59
|
+
seen.add(name);
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* The module a plugin runs in a catalogue's frames, or none.
|
|
65
|
+
*
|
|
66
|
+
* @param plugin - the plugin.
|
|
67
|
+
* @param framework - the catalogue's framework.
|
|
68
|
+
*/
|
|
69
|
+
export const pluginFrameModule = (plugin, framework) => typeof plugin.frame === "object" ? plugin.frame[framework] : plugin.frame;
|
|
70
|
+
/** A package's name, from a specifier of it (`@acme/ui/browser` → `@acme/ui`). */
|
|
71
|
+
const packageOf = (specifier) => specifier
|
|
72
|
+
.split("/")
|
|
73
|
+
.slice(0, specifier.startsWith("@") ? 2 : 1)
|
|
74
|
+
.join("/");
|
|
75
|
+
/**
|
|
76
|
+
* Whether a project installs a package, by its folder: a browser-only package may hide even its manifest from Node.
|
|
77
|
+
*
|
|
78
|
+
* @param dir - the configuration's folder.
|
|
79
|
+
* @param name - the package.
|
|
80
|
+
*/
|
|
81
|
+
const isPackageInstalled = (dir, name) => (createRequire(resolve(dir, "package.json")).resolve.paths(name) ?? []).some((folder) => existsSync(join(folder, name)));
|
|
82
|
+
/**
|
|
83
|
+
* Why a plugin's fields do not have their shape, or none: a configuration is not type-checked, and a field read as
|
|
84
|
+
* what it is not would otherwise stop the catalogue with a bare `TypeError`.
|
|
85
|
+
*
|
|
86
|
+
* @param plugin - the plugin.
|
|
87
|
+
*/
|
|
88
|
+
const shapeProblem = (plugin) => {
|
|
89
|
+
const lists = [
|
|
90
|
+
plugin.tabs,
|
|
91
|
+
plugin.switches,
|
|
92
|
+
plugin.docBlocks,
|
|
93
|
+
plugin.browserDependencies
|
|
94
|
+
];
|
|
95
|
+
if (lists.some((list) => list !== undefined && !Array.isArray(list)))
|
|
96
|
+
return `the plugin "${plugin.id}" gives a list that is no list`;
|
|
97
|
+
const named = [
|
|
98
|
+
...(plugin.tabs ?? []).map((tab) => tab?.id),
|
|
99
|
+
...(plugin.switches ?? []).map((each) => each?.id),
|
|
100
|
+
...(plugin.docBlocks ?? []).map((block) => block?.fence)
|
|
101
|
+
];
|
|
102
|
+
if (named.some((name) => typeof name !== "string"))
|
|
103
|
+
return `the plugin "${plugin.id}" adds something with no id`;
|
|
104
|
+
const { frame } = plugin;
|
|
105
|
+
const isFrame = frame === undefined || typeof frame === "string" || (typeof frame === "object" && frame !== null);
|
|
106
|
+
return isFrame ? undefined : `the plugin "${plugin.id}" names a frame that is no specifier`;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Why one plugin cannot be used, or none.
|
|
110
|
+
*
|
|
111
|
+
* @param plugin - the plugin.
|
|
112
|
+
* @param framework - the catalogue's framework.
|
|
113
|
+
* @param dir - the configuration's folder.
|
|
114
|
+
*/
|
|
115
|
+
const pluginProblem = (plugin, framework, dir) => {
|
|
116
|
+
if (!SUPPORTED_PLUGIN_API_VERSIONS.includes(plugin.apiVersion)) {
|
|
117
|
+
return (`the plugin "${plugin.id}" is written for version ${String(plugin.apiVersion)} of the plugin API, and this ` +
|
|
118
|
+
`Forgebook speaks version ${SUPPORTED_PLUGIN_API_VERSIONS.join(", ")}: update one of them`);
|
|
119
|
+
}
|
|
120
|
+
if (typeof plugin.frame === "object" && plugin.frame[framework] === undefined) {
|
|
121
|
+
const frameworks = Object.keys(plugin.frame).join(", ");
|
|
122
|
+
return `the plugin "${plugin.id}" runs in frames of ${frameworks}, and this catalogue is ${framework}`;
|
|
123
|
+
}
|
|
124
|
+
const modules = [
|
|
125
|
+
...(plugin.tabs ?? []).map((tab) => tab.view),
|
|
126
|
+
...(plugin.docBlocks ?? []).map((block) => block.view),
|
|
127
|
+
...(plugin.frame === undefined ? [] : [pluginFrameModule(plugin, framework)])
|
|
128
|
+
];
|
|
129
|
+
if (modules.some((module) => typeof module !== "string" || module === ""))
|
|
130
|
+
return `the plugin "${plugin.id}" names a module that is no specifier`;
|
|
131
|
+
const missing = (plugin.browserDependencies ?? [])
|
|
132
|
+
.map(packageOf)
|
|
133
|
+
.find((name) => !isPackageInstalled(dir, name));
|
|
134
|
+
return missing === undefined
|
|
135
|
+
? undefined
|
|
136
|
+
: `the plugin "${plugin.id}" needs the package ${missing}, which this project does not install`;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Why a list of plugins cannot be used, or none.
|
|
140
|
+
*
|
|
141
|
+
* @param plugins - the configuration's plugins.
|
|
142
|
+
* @param framework - the catalogue's framework.
|
|
143
|
+
* @param dir - the configuration's folder.
|
|
144
|
+
*/
|
|
145
|
+
export const pluginsProblem = (plugins, framework, dir) => {
|
|
146
|
+
const ids = new Set();
|
|
147
|
+
const tabs = new Set(PANEL_TAB_IDS);
|
|
148
|
+
const switches = new Set();
|
|
149
|
+
const fences = new Set(OWN_FENCES);
|
|
150
|
+
for (const plugin of plugins) {
|
|
151
|
+
const { id } = plugin;
|
|
152
|
+
if (typeof id !== "string" || !NAME.test(id))
|
|
153
|
+
return `the plugin "${String(id)}" must be lower-case words and hyphens`;
|
|
154
|
+
if (ids.has(id))
|
|
155
|
+
return `the plugin "${id}" is given twice`;
|
|
156
|
+
ids.add(id);
|
|
157
|
+
const problem = shapeProblem(plugin) ??
|
|
158
|
+
pluginProblem(plugin, framework, dir) ??
|
|
159
|
+
namesProblem(id, (plugin.tabs ?? []).map((tab) => tab.id), tabs, "the tab") ??
|
|
160
|
+
namesProblem(id, (plugin.switches ?? []).map((each) => each.id), switches, "the switch") ??
|
|
161
|
+
namesProblem(id, (plugin.docBlocks ?? []).map((block) => block.fence), fences, "the docs block");
|
|
162
|
+
if (problem !== undefined)
|
|
163
|
+
return problem;
|
|
164
|
+
}
|
|
165
|
+
return undefined;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* The catalogue's switches with the plugins' after them: a plugin adds to the catalogue's and never takes the place of
|
|
169
|
+
* the theme and the contrast it would have by default. The catalogue's own switch of the same id wins.
|
|
170
|
+
*
|
|
171
|
+
* @param switches - the catalogue's, merged with its presets'; none when neither declares any.
|
|
172
|
+
* @param plugins - the plugins.
|
|
173
|
+
*/
|
|
174
|
+
export const withPluginSwitches = (switches, plugins) => {
|
|
175
|
+
const added = plugins.flatMap((plugin) => plugin.switches ?? []);
|
|
176
|
+
if (added.length === 0)
|
|
177
|
+
return switches;
|
|
178
|
+
const own = switches ?? DEFAULT_SWITCHES;
|
|
179
|
+
return [...own, ...added.filter((each) => !own.some((other) => other.id === each.id))];
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Every module of the plugins that pages import, for pre-bundling an installed plugin.
|
|
183
|
+
*
|
|
184
|
+
* @param plugins - the plugins.
|
|
185
|
+
* @param framework - the catalogue's framework.
|
|
186
|
+
*/
|
|
187
|
+
export const pluginModules = (plugins, framework) => plugins.flatMap((plugin) => {
|
|
188
|
+
const frame = pluginFrameModule(plugin, framework);
|
|
189
|
+
return [
|
|
190
|
+
...(plugin.tabs ?? []).map((tab) => tab.view),
|
|
191
|
+
...(plugin.docBlocks ?? []).map((block) => block.view),
|
|
192
|
+
...(frame === undefined ? [] : [frame])
|
|
193
|
+
];
|
|
194
|
+
});
|
|
195
|
+
/**
|
|
196
|
+
* The fences the plugins add, for the docs pages' compiler.
|
|
197
|
+
*
|
|
198
|
+
* @param plugins - the plugins.
|
|
199
|
+
*/
|
|
200
|
+
export const pluginFences = (plugins) => plugins.flatMap((plugin) => (plugin.docBlocks ?? []).map((block) => block.fence));
|
|
201
|
+
/**
|
|
202
|
+
* The plugins as tools and agents read them.
|
|
203
|
+
*
|
|
204
|
+
* @param plugins - the plugins.
|
|
205
|
+
*/
|
|
206
|
+
export const pluginsDocument = (plugins) => ({
|
|
207
|
+
schema: 1,
|
|
208
|
+
apiVersions: SUPPORTED_PLUGIN_API_VERSIONS,
|
|
209
|
+
plugins: plugins.map((plugin) => ({
|
|
210
|
+
id: plugin.id,
|
|
211
|
+
tabs: (plugin.tabs ?? []).map((tab) => ({
|
|
212
|
+
id: tab.id,
|
|
213
|
+
label: tab.label,
|
|
214
|
+
...(tab.when === undefined ? {} : { when: tab.when })
|
|
215
|
+
})),
|
|
216
|
+
switches: (plugin.switches ?? []).map((each) => each.id),
|
|
217
|
+
docBlocks: (plugin.docBlocks ?? []).map((block) => block.fence),
|
|
218
|
+
runsInFrames: plugin.frame !== undefined
|
|
219
|
+
}))
|
|
220
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** The id of a group of docs pages: virtual, with the declaring module's folder and the patterns after it. */
|
|
2
|
+
export declare const DOCS_PAGES_PREFIX = "\0virtual:forgebook-docs-pages:";
|
|
3
|
+
/**
|
|
4
|
+
* The id of a pattern's module, when an import asks for one: its story files, or its docs pages.
|
|
5
|
+
*
|
|
6
|
+
* @param source - the import's specifier.
|
|
7
|
+
* @param folder - the importing module's folder.
|
|
8
|
+
*/
|
|
9
|
+
export declare const patternId: (source: string, folder: string) => string | null;
|
|
10
|
+
/**
|
|
11
|
+
* The id of a virtual module the plugin makes (the configuration's data, the tokens, a group's "Used in", reach,
|
|
12
|
+
* search indexes or texts), when the import names one.
|
|
13
|
+
*
|
|
14
|
+
* @param source - the import's specifier.
|
|
15
|
+
*/
|
|
16
|
+
export declare const virtualId: (source: string) => string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Whether an id names a group's module: one whose patterns are written in the id itself, so that whoever writes the id
|
|
19
|
+
* chooses what the plugin reads.
|
|
20
|
+
*
|
|
21
|
+
* @param id - the module's id.
|
|
22
|
+
*/
|
|
23
|
+
export declare const isGroupId: (id: string) => boolean;
|
|
24
|
+
/** The resolved id of the configuration's data module. */
|
|
25
|
+
export declare const CONFIG_ID = "\0virtual:forgebook/config";
|
|
26
|
+
/** The resolved id of the design tokens' module. */
|
|
27
|
+
export declare const TOKENS_ID = "\0virtual:forgebook/tokens";
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ids of the modules the plugin makes: a pattern's story files or docs pages, the configuration's data, the design
|
|
3
|
+
* tokens, a group's "Used in", reach and texts. Pure: a specifier in, an id out.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { CONFIG_MODULE, TOKENS_MODULE } from "./pages.js";
|
|
8
|
+
import { FILES_PREFIX } from "./pluginModules.js";
|
|
9
|
+
import { DOCS_PAGES_SPECIFIER_PREFIX, FILES_SPECIFIER_PREFIX, GROUP_SEPARATOR, PAGES_SEARCH_PREFIX, REACH_PREFIX, SEARCH_PREFIX, storyFilesGroupText, TEXTS_PREFIX, USAGE_PREFIX } from "./storyFilesModule.js";
|
|
10
|
+
/** The query that asks for the story files a pattern matches (`../src/**\/*.stories.tsx?forgebook-files`). */
|
|
11
|
+
const FILES_QUERY = "?forgebook-files";
|
|
12
|
+
/** The query that asks for the docs pages a pattern matches (`./docs/*.md?forgebook-docs-pages`). */
|
|
13
|
+
const DOCS_PAGES_QUERY = "?forgebook-docs-pages";
|
|
14
|
+
/** The id of a group of docs pages: virtual, with the declaring module's folder and the patterns after it. */
|
|
15
|
+
export const DOCS_PAGES_PREFIX = `\0${DOCS_PAGES_SPECIFIER_PREFIX}`;
|
|
16
|
+
/**
|
|
17
|
+
* The id of a `?forgebook-files` module: its prefix, then its group (`storyFilesGroupText`), which holds no `..`.
|
|
18
|
+
*
|
|
19
|
+
* @param folder - the importing module's folder.
|
|
20
|
+
* @param pattern - the pattern as the import writes it.
|
|
21
|
+
*/
|
|
22
|
+
const filesId = (folder, pattern) => `${FILES_PREFIX}${storyFilesGroupText(folder, [pattern])}`;
|
|
23
|
+
/**
|
|
24
|
+
* The id of a pattern's module, when an import asks for one: its story files, or its docs pages.
|
|
25
|
+
*
|
|
26
|
+
* @param source - the import's specifier.
|
|
27
|
+
* @param folder - the importing module's folder.
|
|
28
|
+
*/
|
|
29
|
+
export const patternId = (source, folder) => {
|
|
30
|
+
// the separator of a group's id: a folder that holds it would read back as patterns of its own
|
|
31
|
+
if (folder.includes(GROUP_SEPARATOR))
|
|
32
|
+
return null;
|
|
33
|
+
if (source.endsWith(FILES_QUERY))
|
|
34
|
+
return filesId(folder, source.slice(0, -FILES_QUERY.length));
|
|
35
|
+
if (!source.endsWith(DOCS_PAGES_QUERY))
|
|
36
|
+
return null;
|
|
37
|
+
const pattern = source.slice(0, -DOCS_PAGES_QUERY.length);
|
|
38
|
+
return `${DOCS_PAGES_PREFIX}${storyFilesGroupText(folder, [pattern])}`;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* The specifiers' prefixes of a group's virtual modules: the group named by its patterns (story files or docs pages),
|
|
42
|
+
* its "Used in", its reach, its search indexes, its texts.
|
|
43
|
+
*/
|
|
44
|
+
const VIRTUAL_PREFIXES = [
|
|
45
|
+
FILES_SPECIFIER_PREFIX,
|
|
46
|
+
DOCS_PAGES_SPECIFIER_PREFIX,
|
|
47
|
+
USAGE_PREFIX,
|
|
48
|
+
REACH_PREFIX,
|
|
49
|
+
SEARCH_PREFIX,
|
|
50
|
+
PAGES_SEARCH_PREFIX,
|
|
51
|
+
TEXTS_PREFIX
|
|
52
|
+
];
|
|
53
|
+
/**
|
|
54
|
+
* The id of a virtual module the plugin makes (the configuration's data, the tokens, a group's "Used in", reach,
|
|
55
|
+
* search indexes or texts), when the import names one.
|
|
56
|
+
*
|
|
57
|
+
* @param source - the import's specifier.
|
|
58
|
+
*/
|
|
59
|
+
export const virtualId = (source) => {
|
|
60
|
+
if (source === CONFIG_MODULE)
|
|
61
|
+
return CONFIG_ID;
|
|
62
|
+
if (source === TOKENS_MODULE)
|
|
63
|
+
return TOKENS_ID;
|
|
64
|
+
return VIRTUAL_PREFIXES.some((prefix) => source.startsWith(prefix)) ? `\0${source}` : undefined;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Whether an id names a group's module: one whose patterns are written in the id itself, so that whoever writes the id
|
|
68
|
+
* chooses what the plugin reads.
|
|
69
|
+
*
|
|
70
|
+
* @param id - the module's id.
|
|
71
|
+
*/
|
|
72
|
+
export const isGroupId = (id) => VIRTUAL_PREFIXES.some((prefix) => id.startsWith(`\0${prefix}`));
|
|
73
|
+
/** The resolved id of the configuration's data module. */
|
|
74
|
+
export const CONFIG_ID = `\0${CONFIG_MODULE}`;
|
|
75
|
+
/** The resolved id of the design tokens' module. */
|
|
76
|
+
export const TOKENS_ID = `\0${TOKENS_MODULE}`;
|