forgebook 0.1.7 → 0.2.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 +906 -23
- 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 +161 -40
- package/dist/bin/forgebook/agentText.d.ts +74 -3
- package/dist/bin/forgebook/agentText.js +192 -8
- package/dist/bin/forgebook/agents.md +145 -7
- 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 +23 -11
- 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 -16
- 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 +24 -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 +88 -24
- 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 +128 -29
- 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/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 +57 -21
- package/dist/src/catalogue.js +34 -15
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +86 -1
- package/dist/src/componentDocs.js +33 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +2 -2
- 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 +162 -63
- 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/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +0 -1
- package/dist/src/frame/touchEvents.js +0 -1
- 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 +4 -30
- 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 +46 -0
- package/dist/src/propGroups.js +59 -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 +12 -4
- package/dist/src/shell/ApiReference.js +74 -19
- 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 +45 -7
- package/dist/src/shell/ComponentPage.js +107 -49
- 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 +9 -0
- package/dist/src/shell/LogicMark.js +5 -0
- 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/PropsTab.d.ts +11 -2
- package/dist/src/shell/PropsTab.js +31 -5
- 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 +292 -84
- 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 +10 -2
- package/dist/src/shell/SidebarEntries.js +3 -3
- 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 +25 -0
- package/dist/src/shell/SignatureReference.js +25 -0
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +121 -60
- 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 +126 -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 +9 -3
- package/dist/src/shell/Toolbar.js +12 -7
- 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 +3 -3
- package/dist/src/shell/compareVariants.js +6 -5
- 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 +451 -0
- package/dist/src/shell/dockTabs.d.ts +15 -4
- package/dist/src/shell/dockTabs.js +69 -26
- 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 +4 -1
- package/dist/src/shell/icons.js +4 -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 +24 -0
- package/dist/src/shell/logicView.js +39 -0
- 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/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 +310 -136
- 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 +62 -80
- package/dist/src/shell/strings.js +60 -79
- 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/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/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 +35 -0
- package/dist/src/shell/useShownView.js +36 -0
- 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 +12 -2
- 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 +0 -1
- 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 +88 -25
- package/dist/src/storyTree.js +219 -126
- 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 +37 -9
- package/dist/src/viewState.js +67 -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 +281 -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 +131 -8
- 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 +167 -24
- 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 +142 -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 +65 -9
- package/dist/src/vite/configFile.js +182 -28
- 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 +50 -0
- package/dist/src/vite/docPagesModule.js +118 -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 +44 -3
- package/dist/src/vite/docsExtractor.js +160 -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/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 +1 -2
- package/dist/src/vite/forgebookPlugin.js +330 -263
- 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 +326 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -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 +24 -0
- package/dist/src/vite/heightsRoute.js +42 -0
- 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 +168 -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 +20 -19
- package/dist/src/vite/indexStoryFile.js +172 -201
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +110 -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 +87 -0
- package/dist/src/vite/originGuard.js +163 -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 +63 -10
- package/dist/src/vite/pages.js +264 -33
- 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 +20 -0
- package/dist/src/vite/pluginIds.js +61 -0
- package/dist/src/vite/pluginModules.d.ts +140 -0
- package/dist/src/vite/pluginModules.js +176 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +28 -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 +40 -0
- package/dist/src/vite/searchModule.js +212 -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 +56 -4
- package/dist/src/vite/storyFilesModule.js +122 -34
- 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/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 +20 -0
- package/dist/src/vite/textQueries.js +20 -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 +66 -3
- 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/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/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/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/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/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,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The paths a story file's docs can change with, so a kept answer (`diskCache.ts`) is reused only while they are
|
|
3
|
+
* unchanged: what the story file reaches through its imports, type imports and `import()` types included, and the
|
|
4
|
+
* folders those sit in (a file added there may be what an import now finds); the files its imports name that
|
|
5
|
+
* TypeScript does not read (a `.svelte` or `.vue` component), read for their own imports too; the manifest of each
|
|
6
|
+
* installed package it imports, and the lock file, which every installed type hangs on; and the configurations that
|
|
7
|
+
* decided how it is read.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Run in the docs' worker, after the docs were read. The imports are found as TypeScript's own pre-pass finds them
|
|
11
|
+
* (`preProcessFile`), so an import only a type uses still counts, and resolved with the options the file is read with
|
|
12
|
+
* (`compilerOptionsFor`), without a program of their own. A package of the workspace, which an install links into
|
|
13
|
+
* `node_modules`, is followed into its sources: its real path is outside `node_modules`. A group's story files share one
|
|
14
|
+
* walk, so "Used in" reads each file once.
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { dirname, isAbsolute, resolve } from "node:path";
|
|
19
|
+
import ts from "typescript-6";
|
|
20
|
+
import { compilerOptionsFor, configurationFiles } from "./docsProgram.js";
|
|
21
|
+
/** The files a package manager rewrites when it installs. */
|
|
22
|
+
const LOCK_FILES = ["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lock", "bun.lockb"];
|
|
23
|
+
/** Whether a path is inside a `node_modules` folder. */
|
|
24
|
+
const isInstalled = (path) => path.replaceAll("\\", "/").includes("/node_modules/");
|
|
25
|
+
/** The text after `*` of a `paths` pattern that matches a specifier, or none. */
|
|
26
|
+
const matchedStar = (pattern, specifier) => {
|
|
27
|
+
const star = pattern.indexOf("*");
|
|
28
|
+
if (star < 0)
|
|
29
|
+
return pattern === specifier ? "" : undefined;
|
|
30
|
+
const [before, after] = [pattern.slice(0, star), pattern.slice(star + 1)];
|
|
31
|
+
return specifier.startsWith(before) &&
|
|
32
|
+
specifier.endsWith(after) &&
|
|
33
|
+
specifier.length >= before.length + after.length
|
|
34
|
+
? specifier.slice(before.length, specifier.length - after.length)
|
|
35
|
+
: undefined;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Where a specifier TypeScript could not resolve points through the configuration's `paths` (`@/Button.vue`), as the
|
|
39
|
+
* first candidate that exists: a framework's component file, which TypeScript does not read.
|
|
40
|
+
*
|
|
41
|
+
* @param specifier - the import's specifier.
|
|
42
|
+
* @param options - the compiler options.
|
|
43
|
+
*/
|
|
44
|
+
const mappedPath = (specifier, options) => {
|
|
45
|
+
const base = options["pathsBasePath"];
|
|
46
|
+
const folder = typeof base === "string" ? base : options.baseUrl;
|
|
47
|
+
if (folder === undefined)
|
|
48
|
+
return undefined;
|
|
49
|
+
for (const [pattern, targets] of Object.entries(options.paths ?? {})) {
|
|
50
|
+
const star = matchedStar(pattern, specifier);
|
|
51
|
+
if (star === undefined)
|
|
52
|
+
continue;
|
|
53
|
+
for (const target of targets) {
|
|
54
|
+
const candidate = resolve(folder, target.replaceAll("*", star));
|
|
55
|
+
if (ts.sys.fileExists(candidate))
|
|
56
|
+
return candidate;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
};
|
|
61
|
+
/** The manifest of the installed package a file belongs to. */
|
|
62
|
+
const manifestOf = (file) => ts.findConfigFile(dirname(file), ts.sys.fileExists, "package.json");
|
|
63
|
+
/**
|
|
64
|
+
* Where an import points: what TypeScript resolves it to, else the path a relative import names, else where the
|
|
65
|
+
* configuration's `paths` lead it; none for a package TypeScript cannot find.
|
|
66
|
+
*
|
|
67
|
+
* @param specifier - the import's specifier.
|
|
68
|
+
* @param file - the importing file.
|
|
69
|
+
* @param options - the compiler options it is read with.
|
|
70
|
+
* @param cache - the module resolution cache of the walk.
|
|
71
|
+
*/
|
|
72
|
+
const importTarget = (specifier, file, options, cache) => {
|
|
73
|
+
const resolved = ts.resolveModuleName(specifier, file, options, ts.sys, cache).resolvedModule;
|
|
74
|
+
if (resolved !== undefined)
|
|
75
|
+
return resolved.resolvedFileName;
|
|
76
|
+
return specifier.startsWith(".") ? resolve(dirname(file), specifier) : mappedPath(specifier, options);
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* What one file names: its imports resolved outside `node_modules` (followed), its installed packages' manifests, the
|
|
80
|
+
* files TypeScript does not read (followed for their own imports), the missing ones as paths, and the files its
|
|
81
|
+
* `/// <reference path>` names.
|
|
82
|
+
*
|
|
83
|
+
* @param file - the file.
|
|
84
|
+
* @param options - the compiler options it is read with.
|
|
85
|
+
* @param cache - the module resolution cache of the walk.
|
|
86
|
+
*/
|
|
87
|
+
const namedBy = (file, options, cache) => {
|
|
88
|
+
const text = ts.sys.readFile(file);
|
|
89
|
+
if (text === undefined)
|
|
90
|
+
return { followed: [], named: [] };
|
|
91
|
+
const { importedFiles, referencedFiles } = ts.preProcessFile(text, true, true);
|
|
92
|
+
const targets = importedFiles.flatMap(({ fileName }) => importTarget(fileName, file, options, cache) ?? []);
|
|
93
|
+
const installed = targets.filter(isInstalled);
|
|
94
|
+
const own = targets.filter((target) => !isInstalled(target));
|
|
95
|
+
const references = referencedFiles
|
|
96
|
+
.map(({ fileName }) => (isAbsolute(fileName) ? fileName : resolve(dirname(file), fileName)))
|
|
97
|
+
.filter((path) => !isInstalled(path));
|
|
98
|
+
return {
|
|
99
|
+
followed: [...own.filter((target) => ts.sys.fileExists(target)), ...references],
|
|
100
|
+
named: [
|
|
101
|
+
...installed.flatMap((target) => manifestOf(target) ?? []),
|
|
102
|
+
...own.filter((target) => !ts.sys.fileExists(target))
|
|
103
|
+
]
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Adds to `paths` what one story file reaches, with the folders the reached files sit in.
|
|
108
|
+
*
|
|
109
|
+
* @param storyFile - the story file.
|
|
110
|
+
* @param walk - the walk's options, cache, files already read and paths found.
|
|
111
|
+
*/
|
|
112
|
+
const walkFrom = (storyFile, walk) => {
|
|
113
|
+
const queue = [storyFile];
|
|
114
|
+
while (queue.length > 0) {
|
|
115
|
+
const file = queue.pop() ?? "";
|
|
116
|
+
if (walk.reached.has(file))
|
|
117
|
+
continue;
|
|
118
|
+
walk.reached.add(file);
|
|
119
|
+
// in the system's form, so one path read through two spellings is stamped once
|
|
120
|
+
walk.paths.add(resolve(file));
|
|
121
|
+
walk.paths.add(resolve(dirname(file)));
|
|
122
|
+
// a framework's component file is read for its imports too, as plain text
|
|
123
|
+
const { followed, named } = namedBy(file, walk.options, walk.cache);
|
|
124
|
+
queue.push(...followed);
|
|
125
|
+
for (const path of named)
|
|
126
|
+
walk.paths.add(resolve(path));
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* The paths a group of story files' docs can change with, read in one walk.
|
|
131
|
+
*
|
|
132
|
+
* @param storyFiles - the story files.
|
|
133
|
+
*/
|
|
134
|
+
export const docsDependencies = (storyFiles) => {
|
|
135
|
+
const paths = new Set();
|
|
136
|
+
const reached = new Set();
|
|
137
|
+
const caches = new Map();
|
|
138
|
+
for (const storyFile of storyFiles) {
|
|
139
|
+
const options = compilerOptionsFor(storyFile);
|
|
140
|
+
const cache = caches.get(options) ?? ts.createModuleResolutionCache(dirname(storyFile), (name) => name, options);
|
|
141
|
+
caches.set(options, cache);
|
|
142
|
+
walkFrom(storyFile, { options, cache, reached, paths });
|
|
143
|
+
for (const path of configurationFiles(storyFile))
|
|
144
|
+
paths.add(path);
|
|
145
|
+
const locks = LOCK_FILES.flatMap((name) => ts.findConfigFile(dirname(storyFile), ts.sys.fileExists, name) ?? []);
|
|
146
|
+
for (const lock of locks)
|
|
147
|
+
paths.add(lock);
|
|
148
|
+
}
|
|
149
|
+
return [...paths];
|
|
150
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { StoryComponentResult } from "./adapter.ts";
|
|
2
|
+
import { type PathStamp } from "./diskCache.ts";
|
|
2
3
|
import type { UsageGraph, UsageRequestFile } from "./usageGraph.ts";
|
|
3
4
|
/** What the extractor answers for a story file: its component's docs, none, or why it cannot be read. */
|
|
4
5
|
export type DocsResult = StoryComponentResult;
|
|
@@ -34,6 +35,11 @@ export type DocsResponse = {
|
|
|
34
35
|
readonly id: number;
|
|
35
36
|
/** The extractor's result. */
|
|
36
37
|
readonly result: DocsResult;
|
|
38
|
+
/**
|
|
39
|
+
* The paths it can change with, stamped (`docsDependencies.ts`); none when it is not to be kept: a story file
|
|
40
|
+
* that cannot be read, or one of them changed while it was read.
|
|
41
|
+
*/
|
|
42
|
+
readonly stamps: readonly PathStamp[] | undefined;
|
|
37
43
|
} | {
|
|
38
44
|
/** A group of story files' usage. */
|
|
39
45
|
readonly kind: "usage";
|
|
@@ -41,6 +47,8 @@ export type DocsResponse = {
|
|
|
41
47
|
readonly id: number;
|
|
42
48
|
/** The facts, or why they cannot be read. */
|
|
43
49
|
readonly result: UsageResult;
|
|
50
|
+
/** The paths they can change with, stamped; none when they are not to be kept. */
|
|
51
|
+
readonly stamps: readonly PathStamp[] | undefined;
|
|
44
52
|
};
|
|
45
53
|
/** The docs, read off the dev server's thread. */
|
|
46
54
|
export type DocsExtractor = {
|
|
@@ -48,10 +56,18 @@ export type DocsExtractor = {
|
|
|
48
56
|
readonly extract: (storyFile: string) => Promise<DocsResult>;
|
|
49
57
|
/** What a group of story files' stories render, and the import graph they reach. */
|
|
50
58
|
readonly usage: (files: readonly UsageRequestFile[]) => Promise<UsageResult>;
|
|
51
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Builds the program that holds a story file ahead of its first read, while the worker has nothing else to do, when
|
|
61
|
+
* the disk keeps no docs: a first start, or a build, starts the worker while Vite still loads the pages.
|
|
62
|
+
*/
|
|
52
63
|
readonly warm: (storyFile: string) => void;
|
|
53
64
|
/** Tells the worker a source file changed, so the next read sees it. */
|
|
54
65
|
readonly changed: () => void;
|
|
66
|
+
/**
|
|
67
|
+
* Tells it a source file was added or removed: a kept answer is not read again this session, since a new file can
|
|
68
|
+
* change what a file's imports find or what holds for every file (a declaration) without touching what it read.
|
|
69
|
+
*/
|
|
70
|
+
readonly listed: () => void;
|
|
55
71
|
/** Ends the worker; a later request starts a new one. */
|
|
56
72
|
readonly close: () => Promise<void>;
|
|
57
73
|
};
|
|
@@ -59,12 +75,37 @@ export type DocsExtractor = {
|
|
|
59
75
|
export type DocsWorkerData = {
|
|
60
76
|
/** The URL of the module exporting the framework's `extractStoryComponent`. */
|
|
61
77
|
readonly docsModule: string;
|
|
78
|
+
/**
|
|
79
|
+
* Whether every story's docs will be read, as in a build: each program then holds its whole configuration at once,
|
|
80
|
+
* rather than what was asked for so far, which a dev server showing one component at a time needs.
|
|
81
|
+
*/
|
|
82
|
+
readonly readsEverything: boolean;
|
|
83
|
+
/** Whether its answers are kept on disk, so it stamps what each was read from; a build's are not. */
|
|
84
|
+
readonly keepsAnswers: boolean;
|
|
62
85
|
};
|
|
86
|
+
/** How an extractor reads. */
|
|
87
|
+
export type DocsExtractorOptions = {
|
|
88
|
+
/** Whether every story's docs will be read, as in a build; a dev server's reads by default. */
|
|
89
|
+
readonly readsEverything?: boolean;
|
|
90
|
+
/** Where answers are kept between starts (`diskCache.ts`); none reads every time. */
|
|
91
|
+
readonly cacheFolder?: string;
|
|
92
|
+
/**
|
|
93
|
+
* How long the worker stays with nothing to do before it ends, in milliseconds; `IDLE_MS` by default. A build's
|
|
94
|
+
* never ends before the build does.
|
|
95
|
+
*/
|
|
96
|
+
readonly idleMs?: number;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* How long a dev server's worker stays with nothing to do, in milliseconds, before it ends. Its programs are the
|
|
100
|
+
* largest thing the server holds: a session that stops reading docs gives their memory back, while one that edits and
|
|
101
|
+
* looks keeps them, renewed after each edit rather than built again (seconds, in a large monorepo).
|
|
102
|
+
*/
|
|
103
|
+
export declare const IDLE_MS: number;
|
|
63
104
|
/**
|
|
64
105
|
* A docs extractor with its worker, started on its first request.
|
|
65
106
|
*
|
|
66
107
|
* @param docsModule - the URL of the framework's docs module (`FrameworkAdapter.docsModule`).
|
|
108
|
+
* @param options - how it reads, and where it keeps what it read.
|
|
67
109
|
* @returns the extractor.
|
|
68
110
|
*/
|
|
69
|
-
export declare const createDocsExtractor: (docsModule: string) => DocsExtractor;
|
|
70
|
-
//# sourceMappingURL=docsExtractor.d.ts.map
|
|
111
|
+
export declare const createDocsExtractor: (docsModule: string, { readsEverything, cacheFolder, idleMs }?: DocsExtractorOptions) => DocsExtractor;
|
|
@@ -3,52 +3,139 @@
|
|
|
3
3
|
* (`docsWorker.ts`) so the dev server keeps answering while a package's TypeScript program is built.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
* One worker per plugin, started on the first request
|
|
7
|
-
* source file changes (`changed`, which the dev server's watcher sends).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* ends
|
|
6
|
+
* One worker per plugin, started on the first request the disk cannot answer: its programs make every later read
|
|
7
|
+
* quick, until a source file changes (`changed`, which the dev server's watcher sends). A TypeScript program is the
|
|
8
|
+
* largest thing the server holds, and an answer kept on disk from an earlier start (`diskCache.ts`, with the files it
|
|
9
|
+
* was read from, `docsDependencies.ts`) needs none: a pattern's first story starts the worker early (`warm`) only when
|
|
10
|
+
* the disk keeps no docs at all (a first start, a build), one warm-up at a time and only while nothing waits. For the
|
|
11
|
+
* same reason a dev server's worker left with nothing to do ends (`IDLE_MS`), so the memory a first start took does
|
|
12
|
+
* not stay with the server until it stops. Requests are answered in order. The worker never keeps the process alive
|
|
13
|
+
* (`unref`), and `close` ends it when the build or the server ends.
|
|
12
14
|
*
|
|
13
15
|
* @module
|
|
14
16
|
*/
|
|
15
|
-
import { extname } from "node:path";
|
|
17
|
+
import { dirname, extname, join } from "node:path";
|
|
18
|
+
import { fileURLToPath } from "node:url";
|
|
16
19
|
import { Worker } from "node:worker_threads";
|
|
20
|
+
import { packageResolver } from "./configFile.js";
|
|
21
|
+
import { codeStamp, diskCache } from "./diskCache.js";
|
|
17
22
|
/**
|
|
18
23
|
* The worker's module, beside this one and with its extension: `.ts` in the sources, whose types Node strips, `.js`
|
|
19
24
|
* once built for npm, where Node strips none.
|
|
20
25
|
*/
|
|
21
26
|
const WORKER_URL = new URL(`./docsWorker${extname(import.meta.url)}`, import.meta.url);
|
|
27
|
+
/** Whether what a cache file holds is a story file's docs, never a message. */
|
|
28
|
+
const isKeptDocs = (value) => typeof value === "object" && value !== null && "docs" in value;
|
|
29
|
+
/** Whether what a cache file holds is a group's usage, never a message. */
|
|
30
|
+
const isKeptUsage = (value) => typeof value === "object" && value !== null && "files" in value && "imports" in value;
|
|
31
|
+
/**
|
|
32
|
+
* The worker's young generation on a dev server, in MB. V8 sizes it for throughput, but a program's heap survives
|
|
33
|
+
* its collections, so a large young generation is mostly empty memory the worker keeps; a dev server reads one
|
|
34
|
+
* component at a time, where collecting more often costs little.
|
|
35
|
+
*/
|
|
36
|
+
const YOUNG_GENERATION_MB = 8;
|
|
37
|
+
/**
|
|
38
|
+
* How long a dev server's worker stays with nothing to do, in milliseconds, before it ends. Its programs are the
|
|
39
|
+
* largest thing the server holds: a session that stops reading docs gives their memory back, while one that edits and
|
|
40
|
+
* looks keeps them, renewed after each edit rather than built again (seconds, in a large monorepo).
|
|
41
|
+
*/
|
|
42
|
+
export const IDLE_MS = 5 * 60_000;
|
|
43
|
+
/**
|
|
44
|
+
* The worker's young generation in a build, in MB: a build reads every story's docs in one go, and with the dev
|
|
45
|
+
* server's small one it would spend much of that time collecting garbage.
|
|
46
|
+
*/
|
|
47
|
+
const BUILD_YOUNG_GENERATION_MB = 64;
|
|
48
|
+
/**
|
|
49
|
+
* The stamp of the code that reads the docs: the worker's folder, the framework's docs module's and the compiler's
|
|
50
|
+
* version; none when the module is not a file whose folder can be read, which keeps nothing.
|
|
51
|
+
*
|
|
52
|
+
* @param docsModule - the URL of the framework's docs module.
|
|
53
|
+
*/
|
|
54
|
+
const codeStampOf = (docsModule) => {
|
|
55
|
+
try {
|
|
56
|
+
const workerFolder = dirname(fileURLToPath(WORKER_URL));
|
|
57
|
+
// the compiler's version too: it reads every answer
|
|
58
|
+
const compiler = packageResolver(workerFolder)("typescript-6");
|
|
59
|
+
return codeStamp([workerFolder, dirname(fileURLToPath(docsModule))], compiler === undefined ? [] : [compiler]);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
22
65
|
/**
|
|
23
66
|
* A docs extractor with its worker, started on its first request.
|
|
24
67
|
*
|
|
25
68
|
* @param docsModule - the URL of the framework's docs module (`FrameworkAdapter.docsModule`).
|
|
69
|
+
* @param options - how it reads, and where it keeps what it read.
|
|
26
70
|
* @returns the extractor.
|
|
27
71
|
*/
|
|
28
|
-
export const createDocsExtractor = (docsModule) => {
|
|
72
|
+
export const createDocsExtractor = (docsModule, { readsEverything = false, cacheFolder, idleMs = IDLE_MS } = {}) => {
|
|
73
|
+
// the code that writes the answers: this package's and the framework's docs, whose edit or new version is a miss
|
|
74
|
+
const code = cacheFolder === undefined ? undefined : codeStampOf(docsModule);
|
|
75
|
+
const cacheOf = (kind, isValue) => cacheFolder === undefined || code === undefined
|
|
76
|
+
? undefined
|
|
77
|
+
: diskCache(join(cacheFolder, kind), code, isValue);
|
|
78
|
+
const docsCache = cacheOf("docs", isKeptDocs);
|
|
79
|
+
const usageCache = cacheOf("usage", isKeptUsage);
|
|
29
80
|
let worker;
|
|
30
81
|
let nextId = 0;
|
|
31
|
-
//
|
|
82
|
+
// the changes the watcher reported: an answer read across one may have read a file before it changed, so it is not kept
|
|
83
|
+
let changes = 0;
|
|
84
|
+
// whether kept answers are read: until a source file is added or removed while the server runs
|
|
85
|
+
let isKeptRead = true;
|
|
86
|
+
// a group's usage asked again before the worker answered (its "Used in" and its reach), by request and changes
|
|
87
|
+
const usageAsked = new Map();
|
|
88
|
+
// every request sent and not answered yet, a warm-up's included (none reads its answer)
|
|
32
89
|
const pending = new Map();
|
|
33
|
-
// the warm-ups not sent yet: one goes out only when nothing is pending
|
|
90
|
+
// the warm-ups not sent yet: one goes out only when nothing is pending, so a read never waits behind them all
|
|
34
91
|
const warmUps = [];
|
|
92
|
+
let idle;
|
|
93
|
+
// ends the worker once nothing is asked of it for a while; a request in the meantime keeps it
|
|
94
|
+
const stopWhenIdle = () => {
|
|
95
|
+
clearTimeout(idle);
|
|
96
|
+
// a build reads every story, and a quiet stretch in it would build every program again
|
|
97
|
+
if (readsEverything || pending.size > 0 || warmUps.length > 0)
|
|
98
|
+
return;
|
|
99
|
+
idle = setTimeout(() => {
|
|
100
|
+
const running = worker;
|
|
101
|
+
worker = undefined;
|
|
102
|
+
void running?.terminate();
|
|
103
|
+
}, idleMs);
|
|
104
|
+
idle.unref();
|
|
105
|
+
};
|
|
106
|
+
const sendWarmUp = () => {
|
|
107
|
+
if (pending.size > 0)
|
|
108
|
+
return;
|
|
109
|
+
const storyFile = warmUps.shift();
|
|
110
|
+
if (storyFile !== undefined)
|
|
111
|
+
send({ kind: "extract", id: nextId++, storyFile }, () => sendWarmUp());
|
|
112
|
+
};
|
|
35
113
|
const started = () => {
|
|
114
|
+
clearTimeout(idle);
|
|
36
115
|
if (worker !== undefined)
|
|
37
116
|
return worker;
|
|
38
|
-
const workerData = { docsModule };
|
|
39
|
-
const created = new Worker(WORKER_URL, {
|
|
117
|
+
const workerData = { docsModule, readsEverything, keepsAnswers: code !== undefined };
|
|
118
|
+
const created = new Worker(WORKER_URL, {
|
|
119
|
+
workerData,
|
|
120
|
+
resourceLimits: {
|
|
121
|
+
maxYoungGenerationSizeMb: readsEverything ? BUILD_YOUNG_GENERATION_MB : YOUNG_GENERATION_MB
|
|
122
|
+
}
|
|
123
|
+
});
|
|
40
124
|
created.unref();
|
|
41
125
|
created.on("message", (response) => {
|
|
42
126
|
pending.get(response.id)?.(response);
|
|
43
127
|
pending.delete(response.id);
|
|
44
128
|
sendWarmUp();
|
|
129
|
+
stopWhenIdle();
|
|
45
130
|
});
|
|
46
131
|
// a worker that dies answers every request still waiting with why, and the next request starts a new one
|
|
47
132
|
created.on("error", (error) => {
|
|
48
133
|
for (const resolve of pending.values())
|
|
49
134
|
resolve(`The docs' worker stopped: ${error.message}`);
|
|
50
135
|
pending.clear();
|
|
51
|
-
worker
|
|
136
|
+
// a worker ended when idle and replaced since leaves the new one in place
|
|
137
|
+
if (worker === created)
|
|
138
|
+
worker = undefined;
|
|
52
139
|
});
|
|
53
140
|
worker = created;
|
|
54
141
|
return created;
|
|
@@ -60,27 +147,75 @@ export const createDocsExtractor = (docsModule) => {
|
|
|
60
147
|
pending.set(request.id, resolve);
|
|
61
148
|
started().postMessage(request);
|
|
62
149
|
};
|
|
63
|
-
const extract = (storyFile, resolve) => send({ kind: "extract", id: nextId++, storyFile }, (response) => resolve(typeof response === "string" || response.kind !== "extract" ? String(response) : response.result));
|
|
64
|
-
const sendWarmUp = () => {
|
|
65
|
-
if (pending.size > 0)
|
|
66
|
-
return;
|
|
67
|
-
const storyFile = warmUps.shift();
|
|
68
|
-
if (storyFile !== undefined)
|
|
69
|
-
extract(storyFile, () => undefined);
|
|
70
|
-
};
|
|
71
150
|
return {
|
|
72
|
-
extract: (storyFile) => new Promise((resolve) =>
|
|
73
|
-
|
|
151
|
+
extract: (storyFile) => new Promise((resolve) => {
|
|
152
|
+
const kept = isKeptRead ? docsCache?.read(storyFile) : undefined;
|
|
153
|
+
if (kept !== undefined) {
|
|
154
|
+
resolve(kept);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const asked = changes;
|
|
158
|
+
send({ kind: "extract", id: nextId++, storyFile }, (response) => {
|
|
159
|
+
if (typeof response === "string" || response.kind !== "extract") {
|
|
160
|
+
resolve(String(response));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const { result, stamps } = response;
|
|
164
|
+
if (typeof result !== "string" && stamps !== undefined && changes === asked)
|
|
165
|
+
docsCache?.write(storyFile, result, stamps);
|
|
166
|
+
resolve(result);
|
|
167
|
+
});
|
|
168
|
+
}),
|
|
169
|
+
usage: (files) => {
|
|
170
|
+
// a group is its story files and what each renders: the same files with other stories are another group
|
|
171
|
+
const key = JSON.stringify(files);
|
|
172
|
+
const asked = changes;
|
|
173
|
+
const pending = usageAsked.get(`${asked}:${key}`);
|
|
174
|
+
if (pending !== undefined)
|
|
175
|
+
return pending;
|
|
176
|
+
const read = new Promise((resolve) => {
|
|
177
|
+
const kept = isKeptRead ? usageCache?.read(key) : undefined;
|
|
178
|
+
if (kept !== undefined) {
|
|
179
|
+
resolve(kept);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
send({ kind: "usage", id: nextId++, files }, (response) => {
|
|
183
|
+
if (typeof response === "string" || response.kind !== "usage") {
|
|
184
|
+
resolve(String(response));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const { result, stamps } = response;
|
|
188
|
+
if (typeof result !== "string" && stamps !== undefined && changes === asked)
|
|
189
|
+
usageCache?.write(key, result, stamps);
|
|
190
|
+
resolve(result);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
usageAsked.set(`${asked}:${key}`, read);
|
|
194
|
+
void read.finally(() => usageAsked.delete(`${asked}:${key}`));
|
|
195
|
+
return read;
|
|
196
|
+
},
|
|
197
|
+
changed: () => {
|
|
198
|
+
changes += 1;
|
|
199
|
+
// a worker not started yet has no program to renew
|
|
200
|
+
const request = { kind: "changed" };
|
|
201
|
+
worker?.postMessage(request);
|
|
202
|
+
},
|
|
74
203
|
warm: (storyFile) => {
|
|
204
|
+
// only a first start, which the disk can answer nothing for: a later one reads each page's docs from the disk
|
|
205
|
+
// and builds a program only for one it misses, so it stays without one until then
|
|
206
|
+
if (isKeptRead && docsCache !== undefined && !docsCache.isEmpty())
|
|
207
|
+
return;
|
|
75
208
|
warmUps.push(storyFile);
|
|
76
209
|
sendWarmUp();
|
|
77
210
|
},
|
|
78
|
-
|
|
79
|
-
|
|
211
|
+
listed: () => {
|
|
212
|
+
isKeptRead = false;
|
|
213
|
+
changes += 1;
|
|
80
214
|
const request = { kind: "changed" };
|
|
81
215
|
worker?.postMessage(request);
|
|
82
216
|
},
|
|
83
217
|
close: async () => {
|
|
218
|
+
clearTimeout(idle);
|
|
84
219
|
const running = worker;
|
|
85
220
|
worker = undefined;
|
|
86
221
|
warmUps.length = 0;
|
|
@@ -88,4 +223,3 @@ export const createDocsExtractor = (docsModule) => {
|
|
|
88
223
|
}
|
|
89
224
|
};
|
|
90
225
|
};
|
|
91
|
-
//# sourceMappingURL=docsExtractor.js.map
|
|
@@ -6,16 +6,86 @@ export type DocsProgram = {
|
|
|
6
6
|
/** Its type checker. */
|
|
7
7
|
readonly checker: ts.TypeChecker;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* What TypeScript reads in place of files it cannot read itself: a framework's components, each written as the
|
|
11
|
+
* TypeScript it amounts to, under a name beside the component (`Badge.svelte.ts` for `Badge.svelte`), so an import of the
|
|
12
|
+
* component resolves to it as TypeScript resolves any import.
|
|
13
|
+
*/
|
|
14
|
+
export type ProgramSources = {
|
|
15
|
+
/** The sources' name, which keeps their programs apart from the plain ones (`svelte`). */
|
|
16
|
+
readonly name: string;
|
|
17
|
+
/**
|
|
18
|
+
* The text of a file that is not on disk.
|
|
19
|
+
*
|
|
20
|
+
* @param fileName - the file TypeScript asks for.
|
|
21
|
+
* @returns its text, or none for a file read from disk.
|
|
22
|
+
*/
|
|
23
|
+
readonly textOf: (fileName: string) => string | undefined;
|
|
24
|
+
/** The declarations every program holds besides its sources, which the written text refers to. */
|
|
25
|
+
readonly roots: readonly string[];
|
|
26
|
+
/** Compiler options over the configuration's (JavaScript allowed, for components written without TypeScript). */
|
|
27
|
+
readonly options: ts.CompilerOptions;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* How many programs are kept. A program holds all its package reaches, hundreds of megabytes in a monorepo whose
|
|
31
|
+
* `tsconfig` paths lead to every package's sources, and one is made per `tsconfig.json`: kept without a limit they fill
|
|
32
|
+
* the worker's heap, it stops, and every story still waiting gets that error instead of its docs. Making one again
|
|
33
|
+
* takes a second or so, which is the cheaper of the two.
|
|
34
|
+
*/
|
|
35
|
+
export declare const KEPT_PROGRAMS = 4;
|
|
36
|
+
/**
|
|
37
|
+
* From now on a program holds what was asked for and what that imports, not its whole configuration: a dev server shows
|
|
38
|
+
* one component at a time. A reader of everything asks for it (`programFor`'s `reach`).
|
|
39
|
+
*/
|
|
40
|
+
export declare const readAskedFilesOnly: () => void;
|
|
41
|
+
/** What a program is read for: what the asked file reaches, or every file of its configuration. */
|
|
42
|
+
export type ProgramReach = "asked" | "whole";
|
|
43
|
+
/** How a file's program is read. */
|
|
44
|
+
export type ProgramOptions = {
|
|
45
|
+
/** The files read in place of a framework's components; none for a plain program. */
|
|
46
|
+
readonly sources?: ProgramSources;
|
|
47
|
+
/**
|
|
48
|
+
* What the reader needs: what the file reaches (a component's docs, the default), or every file of its
|
|
49
|
+
* configuration (a group's "Used in"); either way a build's programs hold every file.
|
|
50
|
+
*/
|
|
51
|
+
readonly reach?: ProgramReach;
|
|
52
|
+
};
|
|
9
53
|
/** Marks every program as maybe holding an edited file: each is renewed on its next read. */
|
|
10
54
|
export declare const markSourcesChanged: () => void;
|
|
11
55
|
/**
|
|
12
|
-
* The
|
|
13
|
-
*
|
|
56
|
+
* The files besides a source's own imports that what is read of it can change with: every configuration looked at to
|
|
57
|
+
* find the one that holds it (up its folders, with the projects they reference) and those they extend, and the files
|
|
58
|
+
* that hold for every file of that configuration (its declarations, its augmentations). Kept answers are checked
|
|
59
|
+
* against them (`diskCache.ts`).
|
|
60
|
+
*
|
|
61
|
+
* @param file - an absolute path to a source file.
|
|
62
|
+
*/
|
|
63
|
+
export declare const configurationFiles: (file: string) => string[];
|
|
64
|
+
/**
|
|
65
|
+
* The compiler options a file is read with, as `programFor` finds its configuration, without making a program: its
|
|
66
|
+
* imports resolve with them.
|
|
14
67
|
*
|
|
15
68
|
* @param file - an absolute path to a source file.
|
|
69
|
+
*/
|
|
70
|
+
export declare const compilerOptionsFor: (file: string) => ts.CompilerOptions;
|
|
71
|
+
/**
|
|
72
|
+
* The program that holds a file: the one of the first configuration up its folders (or a project it references) that
|
|
73
|
+
* lists it; else the nearest one's, when the file reaches it through an import; else the one the files no
|
|
74
|
+
* configuration holds share (`FALLBACK_OPTIONS`, or the nearest configuration's with JavaScript allowed).
|
|
75
|
+
*
|
|
76
|
+
* @param file - an absolute path to a source file, or to a file the sources write.
|
|
77
|
+
* @param options - the sources a framework writes, and what the reader needs.
|
|
16
78
|
* @returns the program, or a message when the configuration above it cannot be read.
|
|
17
79
|
*/
|
|
18
|
-
export declare const programFor: (file: string) => DocsProgram | string;
|
|
80
|
+
export declare const programFor: (file: string, { sources, reach }?: ProgramOptions) => DocsProgram | string;
|
|
81
|
+
/**
|
|
82
|
+
* The configuration that holds a file, as `programFor` finds it; empty for a file none holds: what "Used in" groups a
|
|
83
|
+
* library's story files by, to read one configuration at a time.
|
|
84
|
+
*
|
|
85
|
+
* @internal
|
|
86
|
+
* @param file - an absolute path to a source file.
|
|
87
|
+
*/
|
|
88
|
+
export declare const configurationOf: (file: string) => string;
|
|
19
89
|
/**
|
|
20
90
|
* The first paragraph of a symbol's TSDoc.
|
|
21
91
|
*
|
|
@@ -24,13 +94,13 @@ export declare const programFor: (file: string) => DocsProgram | string;
|
|
|
24
94
|
*/
|
|
25
95
|
export declare const summaryOf: (symbol: ts.Symbol, checker: ts.TypeChecker) => string;
|
|
26
96
|
/**
|
|
27
|
-
*
|
|
28
|
-
* component's own TSDoc is often a bare name ("A button."); its file's comment says what it is and does.
|
|
97
|
+
* Each of a TSDoc tag's texts, for a tag that can be written more than once.
|
|
29
98
|
*
|
|
30
|
-
* @param
|
|
31
|
-
* @
|
|
99
|
+
* @param symbol - a declared symbol.
|
|
100
|
+
* @param checker - the program's type checker.
|
|
101
|
+
* @param name - the tag (`useWhen`).
|
|
32
102
|
*/
|
|
33
|
-
export declare const
|
|
103
|
+
export declare const tagsOf: (symbol: ts.Symbol, checker: ts.TypeChecker, name: string) => string[];
|
|
34
104
|
/**
|
|
35
105
|
* A TSDoc tag's text, without the backticks it is often written in.
|
|
36
106
|
*
|
|
@@ -39,4 +109,14 @@ export declare const moduleSummaryOf: (sourceFile: ts.SourceFile) => string;
|
|
|
39
109
|
* @param name - the tag (`defaultValue`).
|
|
40
110
|
*/
|
|
41
111
|
export declare const tagOf: (symbol: ts.Symbol, checker: ts.TypeChecker, name: string) => string | undefined;
|
|
42
|
-
|
|
112
|
+
/**
|
|
113
|
+
* The component asked for among a file's: the one named, or the only one.
|
|
114
|
+
*
|
|
115
|
+
* @param components - the names of the components the file exports.
|
|
116
|
+
* @param exportName - the export asked for; the file's only component when none.
|
|
117
|
+
* @param file - the file, for the message.
|
|
118
|
+
* @returns the name, or a message naming the components when there is none or several.
|
|
119
|
+
*/
|
|
120
|
+
export declare const chosenExport: (components: readonly string[], exportName: string | undefined, file: string) => string | {
|
|
121
|
+
readonly problem: string;
|
|
122
|
+
};
|