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,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A module's JSON kept out of a build's JavaScript: gzipped in a file of its own, unpacked when the module loads
|
|
3
|
+
* (`packedText.ts`).
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* A static catalogue's "Used in" is read by few visits and compresses to a tenth, so a build writes it as a file and
|
|
7
|
+
* the module keeps only its address; a story file's docs, code and page are written the same way (`builtTexts.ts`). A
|
|
8
|
+
* dev server answers with the JSON itself.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import { createHash } from "node:crypto";
|
|
13
|
+
import { extname } from "node:path";
|
|
14
|
+
import { fileURLToPath } from "node:url";
|
|
15
|
+
import { gzipSync } from "node:zlib";
|
|
16
|
+
import { codeLiteral, codeOfJson } from "../codeLiteral.js";
|
|
17
|
+
import { VITE_PATHS } from "./vitePaths.js";
|
|
18
|
+
/**
|
|
19
|
+
* The module the page unpacks with, by its own path: the generated code imports it as a file of this package, so it is
|
|
20
|
+
* no public subpath and a project need not resolve the package by name.
|
|
21
|
+
*/
|
|
22
|
+
const PACKED_TEXT = VITE_PATHS.normalize(fileURLToPath(new URL(`../packedText${extname(import.meta.url)}`, import.meta.url)));
|
|
23
|
+
/** The JSON as code of the same value, on a dev server. */
|
|
24
|
+
export const inlineJson = (json) => codeOfJson(json);
|
|
25
|
+
/**
|
|
26
|
+
* The name a build gives a JSON document's gzipped file: its content's hash, so a host may keep it for ever. Twelve
|
|
27
|
+
* hex digits: a build writes up to three per story file, and two documents of one name would show one in place of the
|
|
28
|
+
* other with no error.
|
|
29
|
+
*
|
|
30
|
+
* @param json - the document.
|
|
31
|
+
*/
|
|
32
|
+
export const packedFileName = (json) => `assets/${createHash("sha256").update(json).digest("hex").slice(0, 12)}.bin`;
|
|
33
|
+
/**
|
|
34
|
+
* A JSON document gzipped, as a build writes it.
|
|
35
|
+
*
|
|
36
|
+
* @param json - the document.
|
|
37
|
+
*/
|
|
38
|
+
export const gzippedJson = (json) =>
|
|
39
|
+
// gzip's default level: a higher one takes twice as long on a large index for the same size
|
|
40
|
+
gzipSync(json);
|
|
41
|
+
/**
|
|
42
|
+
* The code of a function that makes the loader of a packed file by its name (`packedFileName`): the module the page
|
|
43
|
+
* unpacks with loads on the first such load, never with the code that holds the loaders. A loader keeps its answer,
|
|
44
|
+
* as an imported module's default is kept, and forgets a failure, so the next load asks again.
|
|
45
|
+
*
|
|
46
|
+
* @param name - the function's name in the generated code.
|
|
47
|
+
*/
|
|
48
|
+
export const packedLoaderMaker = (name) => [
|
|
49
|
+
`const ${name} = (file) => {`,
|
|
50
|
+
" let loading;",
|
|
51
|
+
" return () => {",
|
|
52
|
+
` loading ??= import(${codeLiteral(PACKED_TEXT)})`,
|
|
53
|
+
" .then((module) => module.packedJson(import.meta.env.BASE_URL + file))",
|
|
54
|
+
" .catch((error) => {",
|
|
55
|
+
" loading = undefined;",
|
|
56
|
+
" throw error;",
|
|
57
|
+
" });",
|
|
58
|
+
" return loading;",
|
|
59
|
+
" };",
|
|
60
|
+
"};"
|
|
61
|
+
].join("\n");
|
|
62
|
+
/**
|
|
63
|
+
* The JSON in a gzipped file named by its content, for a build. The module's value is the promise of it, which its
|
|
64
|
+
* loader (`import(…).then((module) => module.default)`) waits for: no top-level await, which a catalogue's lower
|
|
65
|
+
* `build.target` would refuse.
|
|
66
|
+
*
|
|
67
|
+
* @param emit - writes the file.
|
|
68
|
+
*/
|
|
69
|
+
export const packedJsonOf = (emit) => (json) => {
|
|
70
|
+
const fileName = packedFileName(json);
|
|
71
|
+
emit({ type: "asset", fileName, source: gzippedJson(json) });
|
|
72
|
+
const address = `import.meta.env.BASE_URL + ${codeLiteral(fileName)}`;
|
|
73
|
+
return `import(${codeLiteral(PACKED_TEXT)}).then((module) => module.packedJson(${address}))`;
|
|
74
|
+
};
|
package/dist/src/vite/pages.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import type { FramesPlacement } from "../frameOrigins.ts";
|
|
1
2
|
import { type ResolvedConfig } from "./configFile.ts";
|
|
3
|
+
import { type VitePaths } from "./vitePaths.ts";
|
|
2
4
|
/** The pages, by their file name. */
|
|
3
5
|
export declare const PAGE_FILES: readonly ["index.html", "frame.html"];
|
|
4
6
|
/** A page's file name. */
|
|
5
7
|
export type PageFile = (typeof PAGE_FILES)[number];
|
|
6
8
|
/** The module the pages read the configuration's data from. */
|
|
7
9
|
export declare const CONFIG_MODULE = "virtual:forgebook/config";
|
|
10
|
+
/** The module the shell reads the design tokens from, imported on first use: a page that shows none never loads it. */
|
|
11
|
+
export declare const TOKENS_MODULE = "virtual:forgebook/tokens";
|
|
8
12
|
/**
|
|
9
13
|
* The entries the pages load, by page: file names in the configuration's folder, never written to disk. Named as
|
|
10
14
|
* files rather than virtual modules because the build names a page's chunk and its style sheet after its entry, and a
|
|
@@ -15,47 +19,97 @@ export declare const PAGE_ENTRIES: Readonly<Record<PageFile, string>>;
|
|
|
15
19
|
export declare const STORIES_SOURCE_FILE = ".forgebook-stories.ts";
|
|
16
20
|
/**
|
|
17
21
|
* The file name, in the configuration's folder, of the module the dev server loads to answer tools and agents: the
|
|
18
|
-
* sources
|
|
22
|
+
* sources, as the frame gets them (never written to disk).
|
|
19
23
|
*/
|
|
20
24
|
export declare const AGENT_SOURCES_FILE = ".forgebook-agent.ts";
|
|
21
|
-
/**
|
|
22
|
-
export
|
|
25
|
+
/** A module the plugin generates in the configuration's folder: a page, a page's entry, or one of the two sources. */
|
|
26
|
+
export type PageModule = {
|
|
27
|
+
readonly kind: "page";
|
|
28
|
+
readonly page: PageFile;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: "entry";
|
|
31
|
+
readonly page: PageFile;
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: "stories-source";
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "agent-sources";
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* A generated module's path, in Vite's form: what the pages import, what Vite's ids name.
|
|
39
|
+
*
|
|
40
|
+
* @param dir - the configuration's folder.
|
|
41
|
+
* @param file - the module's file name (`PAGE_FILES`, `PAGE_ENTRIES`, `STORIES_SOURCE_FILE`, `AGENT_SOURCES_FILE`).
|
|
42
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
43
|
+
*/
|
|
44
|
+
export declare const pageModulePath: (dir: string, file: string, paths?: VitePaths) => string;
|
|
45
|
+
/**
|
|
46
|
+
* The generated module a path names, when it names one: an id from Vite (`C:/app/.forgebook-shell.ts` on Windows) or
|
|
47
|
+
* a path from Node (`C:\app\frame.html`, as the build's inputs may arrive) both match.
|
|
48
|
+
*
|
|
49
|
+
* @param path - the id or path.
|
|
50
|
+
* @param dir - the configuration's folder.
|
|
51
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
52
|
+
*/
|
|
53
|
+
export declare const pageModuleOf: (path: string, dir: string, paths?: VitePaths) => PageModule | undefined;
|
|
23
54
|
/**
|
|
24
55
|
* A page's HTML: its title, the frame's head tags, the root the entry mounts in.
|
|
25
56
|
*
|
|
26
57
|
* @param page - the page.
|
|
27
58
|
* @param config - the configuration.
|
|
59
|
+
* @param placement - where the frames run, which the frame's load guard tells its errors by.
|
|
28
60
|
*/
|
|
29
|
-
export declare const pageHtml: (page: PageFile, config: ResolvedConfig) => string;
|
|
61
|
+
export declare const pageHtml: (page: PageFile, config: ResolvedConfig, placement: FramesPlacement) => string;
|
|
30
62
|
/**
|
|
31
63
|
* The configuration's data, as the pages' module exports it.
|
|
32
64
|
*
|
|
33
65
|
* @param config - the configuration.
|
|
66
|
+
* @param frames - where the frames run: known on the dev server once both of its ports listen.
|
|
67
|
+
*/
|
|
68
|
+
export declare const configModule: (config: ResolvedConfig, frames: FramesPlacement) => string;
|
|
69
|
+
/** The module the entry loads the written home's view from, on first use. */
|
|
70
|
+
export declare const WRITTEN_HOME_MODULE = "forgebook/shell/home";
|
|
71
|
+
/** The module the entry loads the code that draws the plugins' views from, on first use. */
|
|
72
|
+
export declare const PLUGIN_HOSTS_MODULE = "forgebook/shell/plugin-hosts";
|
|
73
|
+
/**
|
|
74
|
+
* Whether a catalogue lists a plugin with a view in the shell: a tab or a docs block.
|
|
75
|
+
*
|
|
76
|
+
* @param config - the configuration.
|
|
34
77
|
*/
|
|
35
|
-
export declare const
|
|
78
|
+
export declare const hasPluginViews: (config: ResolvedConfig) => boolean;
|
|
36
79
|
/**
|
|
37
80
|
* The shell's entry: the shell mounted with the configuration's data, the logo, the sources and the code writer.
|
|
38
81
|
*
|
|
39
82
|
* @param config - the configuration.
|
|
40
83
|
*/
|
|
41
84
|
export declare const shellEntry: (config: ResolvedConfig) => string;
|
|
85
|
+
/** How a frame's entry gets the address of axe's script (`axeScript.ts`). */
|
|
86
|
+
export type AxeAddress = {
|
|
87
|
+
/** The imports it needs. */
|
|
88
|
+
readonly imports: readonly string[];
|
|
89
|
+
/** The expression that gives the address. */
|
|
90
|
+
readonly value: string;
|
|
91
|
+
};
|
|
42
92
|
/**
|
|
43
93
|
* The frame's entry: the framework's frame mounted with the sources, the configuration's data and the previews.
|
|
44
94
|
*
|
|
45
95
|
* @param config - the configuration.
|
|
96
|
+
* @param axe - how the entry gets the address of axe's script, for the Accessibility card; none when it cannot be
|
|
97
|
+
* found, which leaves the card to say so.
|
|
46
98
|
*/
|
|
47
|
-
export declare const frameEntry: (config: ResolvedConfig) => string;
|
|
99
|
+
export declare const frameEntry: (config: ResolvedConfig, axe?: AxeAddress) => string;
|
|
48
100
|
/**
|
|
49
|
-
* The module the dev server loads to answer tools and agents: the sources
|
|
50
|
-
*
|
|
101
|
+
* The module the dev server loads to answer tools and agents: the sources the frame mounts (`sources`), with the same
|
|
102
|
+
* imports the pages use. The previews are loaded beside it, each on its own (`previewRunner.ts`): a browser's code may
|
|
103
|
+
* keep one from loading on the server.
|
|
51
104
|
*
|
|
52
105
|
* @param config - the configuration.
|
|
53
106
|
*/
|
|
54
107
|
export declare const agentSourcesModule: (config: ResolvedConfig) => string;
|
|
55
108
|
/**
|
|
56
|
-
* The source of the project's own stories:
|
|
109
|
+
* The source of the project's own stories and docs pages: its `stories` as one group of story files and its `docs` as
|
|
110
|
+
* one group of docs pages, each imported by its patterns (`FILES_SPECIFIER_PREFIX`), so a `!` pattern leaves files out
|
|
111
|
+
* of what all the others list and a file two patterns list comes once; named after the catalogue.
|
|
57
112
|
*
|
|
58
113
|
* @param config - the configuration.
|
|
59
114
|
*/
|
|
60
115
|
export declare const storiesSourceModule: (config: ResolvedConfig) => string;
|
|
61
|
-
//# sourceMappingURL=pages.d.ts.map
|
package/dist/src/vite/pages.js
CHANGED
|
@@ -11,12 +11,22 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { codeLiteral } from "../codeLiteral.js";
|
|
15
|
+
import { OWN_SOURCE_ID } from "../docPages.js";
|
|
16
|
+
import { FRAME_STARTED_ATTRIBUTE, STATUS_ATTRIBUTE } from "../frame/frameStatus.js";
|
|
17
|
+
import { LOAD_RELOADS_KEY } from "../frame/staleModule.js";
|
|
18
|
+
import { PREVIEWS_EVENT } from "../hotModules.js";
|
|
15
19
|
import { PLAY_TOOLS_PACKAGES } from "./configFile.js";
|
|
20
|
+
import { pluginFrameModule } from "./pluginConfig.js";
|
|
21
|
+
import { DOCS_PAGES_SPECIFIER_PREFIX, FILES_SPECIFIER_PREFIX, storyFilesGroupText } from "./storyFilesModule.js";
|
|
22
|
+
import { HOME_QUERY } from "./textQueries.js";
|
|
23
|
+
import { VITE_PATHS } from "./vitePaths.js";
|
|
16
24
|
/** The pages, by their file name. */
|
|
17
25
|
export const PAGE_FILES = ["index.html", "frame.html"];
|
|
18
26
|
/** The module the pages read the configuration's data from. */
|
|
19
27
|
export const CONFIG_MODULE = "virtual:forgebook/config";
|
|
28
|
+
/** The module the shell reads the design tokens from, imported on first use: a page that shows none never loads it. */
|
|
29
|
+
export const TOKENS_MODULE = "virtual:forgebook/tokens";
|
|
20
30
|
/**
|
|
21
31
|
* The entries the pages load, by page: file names in the configuration's folder, never written to disk. Named as
|
|
22
32
|
* files rather than virtual modules because the build names a page's chunk and its style sheet after its entry, and a
|
|
@@ -30,24 +40,139 @@ export const PAGE_ENTRIES = {
|
|
|
30
40
|
export const STORIES_SOURCE_FILE = ".forgebook-stories.ts";
|
|
31
41
|
/**
|
|
32
42
|
* The file name, in the configuration's folder, of the module the dev server loads to answer tools and agents: the
|
|
33
|
-
* sources
|
|
43
|
+
* sources, as the frame gets them (never written to disk).
|
|
34
44
|
*/
|
|
35
45
|
export const AGENT_SOURCES_FILE = ".forgebook-agent.ts";
|
|
36
|
-
/**
|
|
37
|
-
|
|
46
|
+
/**
|
|
47
|
+
* A generated module's path, in Vite's form: what the pages import, what Vite's ids name.
|
|
48
|
+
*
|
|
49
|
+
* @param dir - the configuration's folder.
|
|
50
|
+
* @param file - the module's file name (`PAGE_FILES`, `PAGE_ENTRIES`, `STORIES_SOURCE_FILE`, `AGENT_SOURCES_FILE`).
|
|
51
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
52
|
+
*/
|
|
53
|
+
export const pageModulePath = (dir, file, paths = VITE_PATHS) => paths.join(dir, file);
|
|
54
|
+
/**
|
|
55
|
+
* The generated module a path names, when it names one: an id from Vite (`C:/app/.forgebook-shell.ts` on Windows) or
|
|
56
|
+
* a path from Node (`C:\app\frame.html`, as the build's inputs may arrive) both match.
|
|
57
|
+
*
|
|
58
|
+
* @param path - the id or path.
|
|
59
|
+
* @param dir - the configuration's folder.
|
|
60
|
+
* @param paths - the path functions; the running system's unless a test names another.
|
|
61
|
+
*/
|
|
62
|
+
export const pageModuleOf = (path, dir, paths = VITE_PATHS) => {
|
|
63
|
+
const named = paths.normalize(path);
|
|
64
|
+
const isAt = (file) => named === pageModulePath(dir, file, paths);
|
|
65
|
+
const entry = PAGE_FILES.find((page) => isAt(PAGE_ENTRIES[page]));
|
|
66
|
+
if (entry !== undefined)
|
|
67
|
+
return { kind: "entry", page: entry };
|
|
68
|
+
const page = PAGE_FILES.find((candidate) => isAt(candidate));
|
|
69
|
+
if (page !== undefined)
|
|
70
|
+
return { kind: "page", page };
|
|
71
|
+
if (isAt(STORIES_SOURCE_FILE))
|
|
72
|
+
return { kind: "stories-source" };
|
|
73
|
+
if (isAt(AGENT_SOURCES_FILE))
|
|
74
|
+
return { kind: "agent-sources" };
|
|
75
|
+
return undefined;
|
|
76
|
+
};
|
|
38
77
|
/**
|
|
39
78
|
* Text set in HTML: its `<`, `>`, `&` and quotes escaped.
|
|
40
79
|
*
|
|
41
80
|
* @param text - the text.
|
|
42
81
|
*/
|
|
43
82
|
const escaped = (text) => text.replace(/[&<>"]/g, (character) => `&#${character.charCodeAt(0)};`);
|
|
83
|
+
/**
|
|
84
|
+
* What a frame shows when its code fails before the frame starts: a preview or a source that throws while it loads, or
|
|
85
|
+
* a module that cannot be loaded at all. The frame's own code never runs then, so without this the frame stays blank
|
|
86
|
+
* and its shell waits. Plain script in the page, since a module that failed cannot report anything; it stands down
|
|
87
|
+
* once the frame has started (`FRAME_STARTED_ATTRIBUTE`), when the frame shows its own errors. It reads only errors
|
|
88
|
+
* thrown by code and module scripts that failed to load: an image, a style sheet or a classic script of the `head`
|
|
89
|
+
* (an analytics tag a blocker refuses) is not the catalogue's code.
|
|
90
|
+
*
|
|
91
|
+
* A module that could not be loaded is loaded again first, up to three times, one, two then four seconds later, once per
|
|
92
|
+
* page load, counted in the session's storage by the frame's page and story until the frame draws its story
|
|
93
|
+
* (`staleModule.ts` clears the count) or the guard gives up: in development a library served as source asks for
|
|
94
|
+
* thousands of modules, and the browser refuses some while the other frames load (`ERR_INSUFFICIENT_RESOURCES`).
|
|
95
|
+
*
|
|
96
|
+
* It tells the shell only on the catalogue's origin, worked out as `pageOrigins` does for a frame from the placement
|
|
97
|
+
* and the frame's own address, never from the address's query: a page that framed the story must not read its errors.
|
|
98
|
+
*
|
|
99
|
+
* @param placement - where the frames run.
|
|
100
|
+
*/
|
|
101
|
+
const frameLoadGuard = (placement) => `(function () {
|
|
102
|
+
var RELOAD_DELAY = 1000;
|
|
103
|
+
var RELOADS = 3;
|
|
104
|
+
var PLACEMENT = ${codeLiteral(placement)};
|
|
105
|
+
var root = document.documentElement;
|
|
106
|
+
var key = ${codeLiteral(LOAD_RELOADS_KEY)} + location.pathname + "?story=" + (new URLSearchParams(location.search).get("story") || "");
|
|
107
|
+
var isReloading = false;
|
|
108
|
+
function hasStarted() {
|
|
109
|
+
return root.hasAttribute(${codeLiteral(FRAME_STARTED_ATTRIBUTE)}) || root.hasAttribute(${codeLiteral(STATUS_ATTRIBUTE)});
|
|
110
|
+
}
|
|
111
|
+
function catalogueOrigin() {
|
|
112
|
+
if (PLACEMENT.kind === "origins") return PLACEMENT.catalogue;
|
|
113
|
+
var own = new URL(location.href);
|
|
114
|
+
if (PLACEMENT.kind === "ports") own.port = String(PLACEMENT.catalogue);
|
|
115
|
+
return own.origin;
|
|
116
|
+
}
|
|
117
|
+
function forget() {
|
|
118
|
+
try {
|
|
119
|
+
sessionStorage.removeItem(key);
|
|
120
|
+
} catch (error) {
|
|
121
|
+
// nothing to forget where the storage refuses access
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function show(message) {
|
|
125
|
+
if (hasStarted()) return;
|
|
126
|
+
forget();
|
|
127
|
+
var box = document.createElement("div");
|
|
128
|
+
box.className = "forgebook-frame-error";
|
|
129
|
+
box.setAttribute("role", "alert");
|
|
130
|
+
var text = document.createElement("p");
|
|
131
|
+
text.className = "forgebook-frame-error__message";
|
|
132
|
+
text.textContent = message;
|
|
133
|
+
box.appendChild(text);
|
|
134
|
+
document.getElementById("root").replaceChildren(box);
|
|
135
|
+
root.setAttribute(${codeLiteral(STATUS_ATTRIBUTE)}, "error");
|
|
136
|
+
var storyId = new URLSearchParams(location.search).get("story") || "";
|
|
137
|
+
if (parent !== window) parent.postMessage({ type: "forgebook:error", storyId: storyId, message: message }, catalogueOrigin());
|
|
138
|
+
}
|
|
139
|
+
function reloadAgain() {
|
|
140
|
+
if (isReloading) return true;
|
|
141
|
+
var done;
|
|
142
|
+
try {
|
|
143
|
+
done = Number(sessionStorage.getItem(key) || "0");
|
|
144
|
+
if (done >= RELOADS) return false;
|
|
145
|
+
sessionStorage.setItem(key, String(done + 1));
|
|
146
|
+
} catch (error) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
isReloading = true;
|
|
150
|
+
setTimeout(function () {
|
|
151
|
+
if (!hasStarted()) location.reload();
|
|
152
|
+
}, RELOAD_DELAY * Math.pow(2, done));
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
addEventListener("error", function (event) {
|
|
156
|
+
if (hasStarted()) return;
|
|
157
|
+
var target = event.target;
|
|
158
|
+
if (target && target.tagName === "SCRIPT" && target.type === "module") {
|
|
159
|
+
if (reloadAgain()) return;
|
|
160
|
+
show("The catalogue's code could not be loaded (" + target.src + "): see the console");
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (event instanceof ErrorEvent) {
|
|
164
|
+
show("The catalogue's code failed while it loaded: " + (event.error && event.error.message ? event.error.message : event.message));
|
|
165
|
+
}
|
|
166
|
+
}, true);
|
|
167
|
+
})();`;
|
|
44
168
|
/**
|
|
45
169
|
* A page's HTML: its title, the frame's head tags, the root the entry mounts in.
|
|
46
170
|
*
|
|
47
171
|
* @param page - the page.
|
|
48
172
|
* @param config - the configuration.
|
|
173
|
+
* @param placement - where the frames run, which the frame's load guard tells its errors by.
|
|
49
174
|
*/
|
|
50
|
-
export const pageHtml = (page, config) => [
|
|
175
|
+
export const pageHtml = (page, config, placement) => [
|
|
51
176
|
"<!doctype html>",
|
|
52
177
|
'<html lang="en">',
|
|
53
178
|
" <head>",
|
|
@@ -55,9 +180,16 @@ export const pageHtml = (page, config) => [
|
|
|
55
180
|
' <meta name="viewport" content="width=device-width, initial-scale=1" />',
|
|
56
181
|
` <title>${escaped(page === "index.html" ? config.title : "Story")}</title>`,
|
|
57
182
|
...(page === "frame.html" && config.head !== "" ? [config.head] : []),
|
|
183
|
+
...(page === "frame.html" && config.shell.frameCss !== ""
|
|
184
|
+
? [` <style>${config.shell.frameCss}</style>`]
|
|
185
|
+
: []),
|
|
186
|
+
...(page === "index.html" && config.shell.themeCss !== ""
|
|
187
|
+
? [` <style>${config.shell.themeCss}</style>`]
|
|
188
|
+
: []),
|
|
58
189
|
" </head>",
|
|
59
190
|
" <body>",
|
|
60
191
|
' <div id="root"></div>',
|
|
192
|
+
...(page === "frame.html" ? [` <script>${frameLoadGuard(placement)}</script>`] : []),
|
|
61
193
|
` <script type="module" src="/${PAGE_ENTRIES[page]}"></script>`,
|
|
62
194
|
" </body>",
|
|
63
195
|
"</html>",
|
|
@@ -67,16 +199,18 @@ export const pageHtml = (page, config) => [
|
|
|
67
199
|
* The configuration's data, as the pages' module exports it.
|
|
68
200
|
*
|
|
69
201
|
* @param config - the configuration.
|
|
202
|
+
* @param frames - where the frames run: known on the dev server once both of its ports listen.
|
|
70
203
|
*/
|
|
71
|
-
export const configModule = (config) => {
|
|
204
|
+
export const configModule = (config, frames) => {
|
|
72
205
|
const data = {
|
|
73
206
|
title: config.title,
|
|
74
207
|
heights: config.heights,
|
|
75
208
|
switches: config.switches,
|
|
76
209
|
languages: config.languages,
|
|
77
|
-
lists: config.lists
|
|
210
|
+
lists: config.lists,
|
|
211
|
+
frames
|
|
78
212
|
};
|
|
79
|
-
return `export default ${
|
|
213
|
+
return `export default ${codeLiteral(data)};`;
|
|
80
214
|
};
|
|
81
215
|
/**
|
|
82
216
|
* The imports of the sources, and the list they make: the project's own stories first, then each package's.
|
|
@@ -84,13 +218,65 @@ export const configModule = (config) => {
|
|
|
84
218
|
* @param config - the configuration.
|
|
85
219
|
*/
|
|
86
220
|
const sourcesCode = (config) => {
|
|
87
|
-
const
|
|
88
|
-
const
|
|
221
|
+
const hasOwn = config.stories.length > 0 || config.docs.length > 0;
|
|
222
|
+
const own = hasOwn ? [pageModulePath(config.dir, STORIES_SOURCE_FILE)] : [];
|
|
223
|
+
const specifiers = [...own, ...config.sources];
|
|
89
224
|
return {
|
|
90
|
-
imports: specifiers.map((specifier, index) => `import { source as source${index} } from ${
|
|
225
|
+
imports: specifiers.map((specifier, index) => `import { source as source${index} } from ${codeLiteral(specifier)};`),
|
|
91
226
|
list: `[${specifiers.map((_specifier, index) => `source${index}`).join(", ")}]`
|
|
92
227
|
};
|
|
93
228
|
};
|
|
229
|
+
/** The module the entry loads the written home's view from, on first use. */
|
|
230
|
+
export const WRITTEN_HOME_MODULE = "forgebook/shell/home";
|
|
231
|
+
/**
|
|
232
|
+
* The shell's written home, as the entry writes it: loaded as the home opens, with its text, so a catalogue without
|
|
233
|
+
* one pays nothing for it, and the shell's own code holds nothing of it.
|
|
234
|
+
*
|
|
235
|
+
* @param home - the home's absolute path.
|
|
236
|
+
*/
|
|
237
|
+
const writtenHomeCode = (home) => [
|
|
238
|
+
"() =>",
|
|
239
|
+
` import(${codeLiteral(WRITTEN_HOME_MODULE)}).then((module) =>`,
|
|
240
|
+
` module.writtenHome(() => import(${codeLiteral(`${home}${HOME_QUERY}`)}).then((page) => page.default))`,
|
|
241
|
+
" )"
|
|
242
|
+
].join("\n");
|
|
243
|
+
/** The module the entry loads the code that draws the plugins' views from, on first use. */
|
|
244
|
+
export const PLUGIN_HOSTS_MODULE = "forgebook/shell/plugin-hosts";
|
|
245
|
+
/**
|
|
246
|
+
* Whether a catalogue lists a plugin with a view in the shell: a tab or a docs block.
|
|
247
|
+
*
|
|
248
|
+
* @param config - the configuration.
|
|
249
|
+
*/
|
|
250
|
+
export const hasPluginViews = (config) => config.plugins.some((plugin) => (plugin.tabs ?? []).length > 0 || (plugin.docBlocks ?? []).length > 0);
|
|
251
|
+
/**
|
|
252
|
+
* The shell's list of the plugins' tabs and docs blocks, each with the import that loads its view when it is first
|
|
253
|
+
* needed, and the loader of the code that draws them; nothing for a catalogue without any, whose entry is then what it
|
|
254
|
+
* would be with no plugin and whose build holds none of that code.
|
|
255
|
+
*
|
|
256
|
+
* @param config - the configuration.
|
|
257
|
+
*/
|
|
258
|
+
const pluginViewLines = (config) => {
|
|
259
|
+
const lines = config.plugins.flatMap((plugin) => {
|
|
260
|
+
const tabs = (plugin.tabs ?? []).map((tab) => `{ id: ${codeLiteral(tab.id)}, label: ${codeLiteral(tab.label)}, ` +
|
|
261
|
+
// a tab with no condition shows on every story: it has no `when` to write
|
|
262
|
+
(tab.when === undefined ? "" : `when: ${codeLiteral(tab.when)}, `) +
|
|
263
|
+
`load: () => import(${codeLiteral(tab.view)}) }`);
|
|
264
|
+
const blocks = (plugin.docBlocks ?? []).map((block) => `{ fence: ${codeLiteral(block.fence)}, load: () => import(${codeLiteral(block.view)}) }`);
|
|
265
|
+
return tabs.length === 0 && blocks.length === 0
|
|
266
|
+
? []
|
|
267
|
+
: [
|
|
268
|
+
` { id: ${codeLiteral(plugin.id)}, tabs: [${tabs.join(", ")}], docBlocks: [${blocks.join(", ")}] },`
|
|
269
|
+
];
|
|
270
|
+
});
|
|
271
|
+
return lines.length === 0
|
|
272
|
+
? []
|
|
273
|
+
: [
|
|
274
|
+
" plugins: [",
|
|
275
|
+
...lines,
|
|
276
|
+
" ],",
|
|
277
|
+
` pluginHosts: () => import(${codeLiteral(PLUGIN_HOSTS_MODULE)}).then((module) => module.pluginHosts),`
|
|
278
|
+
];
|
|
279
|
+
};
|
|
94
280
|
/**
|
|
95
281
|
* The shell's entry: the shell mounted with the configuration's data, the logo, the sources and the code writer.
|
|
96
282
|
*
|
|
@@ -100,21 +286,33 @@ export const shellEntry = (config) => {
|
|
|
100
286
|
const sources = sourcesCode(config);
|
|
101
287
|
return [
|
|
102
288
|
'import { mountShell } from "forgebook/shell";',
|
|
103
|
-
`import { codeOf } from ${
|
|
104
|
-
`import config from ${
|
|
105
|
-
...(config.logo === undefined ? [] : [`import logo from ${
|
|
289
|
+
`import { codeOf } from ${codeLiteral(config.framework.pages.code)};`,
|
|
290
|
+
`import config from ${codeLiteral(CONFIG_MODULE)};`,
|
|
291
|
+
...(config.logo === undefined ? [] : [`import logo from ${codeLiteral(`${config.logo}?url`)};`]),
|
|
106
292
|
...sources.imports,
|
|
293
|
+
...config.shell.styleSheets.map((file) => `import ${codeLiteral(file)};`),
|
|
107
294
|
'const root = document.getElementById("root");',
|
|
108
295
|
"if (root !== null)",
|
|
109
296
|
" mountShell(root, {",
|
|
110
297
|
" title: config.title,",
|
|
111
298
|
...(config.logo === undefined ? [] : [" logo,"]),
|
|
299
|
+
...(config.shell.hasBranding ? [] : [" hasBranding: false,"]),
|
|
112
300
|
...(config.heights === undefined ? [] : [" heights: config.heights,"]),
|
|
301
|
+
...(config.home === undefined ? [] : [` home: ${writtenHomeCode(config.home)},`]),
|
|
113
302
|
` sources: ${sources.list},`,
|
|
114
303
|
' frameUrl: "frame.html",',
|
|
304
|
+
" frames: config.frames,",
|
|
115
305
|
" languages: config.languages,",
|
|
116
306
|
...(config.switches === undefined ? [] : [" switches: config.switches,"]),
|
|
117
307
|
" lists: config.lists,",
|
|
308
|
+
...pluginViewLines(config),
|
|
309
|
+
...(config.framework.addressTexts === undefined
|
|
310
|
+
? []
|
|
311
|
+
: [` addressTexts: ${codeLiteral(config.framework.addressTexts)},`]),
|
|
312
|
+
// a source may declare tokens of its own, read with the catalogue's
|
|
313
|
+
...(config.tokens.length === 0 && config.sources.length === 0
|
|
314
|
+
? []
|
|
315
|
+
: [` loadTokens: () => import(${codeLiteral(TOKENS_MODULE)}).then((module) => module.default),`]),
|
|
118
316
|
" codeOf",
|
|
119
317
|
" });",
|
|
120
318
|
""
|
|
@@ -125,7 +323,7 @@ export const shellEntry = (config) => {
|
|
|
125
323
|
* catalogue whose stories have no play never loads them.
|
|
126
324
|
*/
|
|
127
325
|
const playToolsLoader = () => {
|
|
128
|
-
const imports = PLAY_TOOLS_PACKAGES.map((name) => `import(${
|
|
326
|
+
const imports = PLAY_TOOLS_PACKAGES.map((name) => `import(${codeLiteral(name)})`).join(", ");
|
|
129
327
|
return [
|
|
130
328
|
" playTools: async () => {",
|
|
131
329
|
` const [dom, events] = await Promise.all([${imports}]);`,
|
|
@@ -133,60 +331,100 @@ const playToolsLoader = () => {
|
|
|
133
331
|
" },"
|
|
134
332
|
].join("\n");
|
|
135
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* What the frame's entry runs on a dev server to take the edits of its previews and of what they import, which the frame
|
|
336
|
+
* draws in place (`hotModules.ts`); without it, an edit of a component a preview imports through a library's index
|
|
337
|
+
* reloads every open page.
|
|
338
|
+
*
|
|
339
|
+
* @param previews - the previews' files, as the entry imports them.
|
|
340
|
+
*/
|
|
341
|
+
const previewsHot = (previews) => previews.length === 0
|
|
342
|
+
? []
|
|
343
|
+
: [
|
|
344
|
+
"if (import.meta.hot)",
|
|
345
|
+
// plain JSON, unlike every other value here: Vite reads the accepted files as the text between the quotes,
|
|
346
|
+
// escapes undecoded, and resolves an escaped path as no file; this module is never set inline in a page
|
|
347
|
+
` import.meta.hot.accept(${JSON.stringify(previews)}, (next) =>`,
|
|
348
|
+
` window.dispatchEvent(new CustomEvent(${codeLiteral(PREVIEWS_EVENT)}, { detail: { next } }))`,
|
|
349
|
+
" );"
|
|
350
|
+
];
|
|
136
351
|
/**
|
|
137
352
|
* The frame's entry: the framework's frame mounted with the sources, the configuration's data and the previews.
|
|
138
353
|
*
|
|
139
354
|
* @param config - the configuration.
|
|
355
|
+
* @param axe - how the entry gets the address of axe's script, for the Accessibility card; none when it cannot be
|
|
356
|
+
* found, which leaves the card to say so.
|
|
140
357
|
*/
|
|
141
|
-
export const frameEntry = (config) => {
|
|
358
|
+
export const frameEntry = (config, axe) => {
|
|
142
359
|
const sources = sourcesCode(config);
|
|
360
|
+
const frames = config.plugins.flatMap((plugin) => {
|
|
361
|
+
const frame = pluginFrameModule(plugin, config.framework.name);
|
|
362
|
+
return frame === undefined ? [] : [{ id: plugin.id, frame }];
|
|
363
|
+
});
|
|
143
364
|
return [
|
|
144
|
-
`import { mountFrame } from ${
|
|
145
|
-
`import config from ${
|
|
365
|
+
`import { mountFrame } from ${codeLiteral(config.framework.pages.frame)};`,
|
|
366
|
+
`import config from ${codeLiteral(CONFIG_MODULE)};`,
|
|
367
|
+
...(axe?.imports ?? []),
|
|
146
368
|
...sources.imports,
|
|
147
|
-
...config.previews.map((file, index) => `import * as preview${index} from ${
|
|
369
|
+
...config.previews.map((file, index) => `import * as preview${index} from ${codeLiteral(file)};`),
|
|
370
|
+
...frames.map((plugin, index) => `import { frame as pluginFrame${index} } from ${codeLiteral(plugin.frame)};`),
|
|
148
371
|
'const root = document.getElementById("root");',
|
|
149
372
|
"if (root !== null)",
|
|
150
373
|
" void mountFrame(root, {",
|
|
151
374
|
` sources: ${sources.list},`,
|
|
375
|
+
...(axe === undefined ? [] : [` axeUrl: ${axe.value},`]),
|
|
152
376
|
" languages: config.languages,",
|
|
153
377
|
...(config.switches === undefined ? [] : [" switches: config.switches,"]),
|
|
154
378
|
" lists: config.lists,",
|
|
379
|
+
" frames: config.frames,",
|
|
155
380
|
...(config.hasPlayTools ? [playToolsLoader()] : []),
|
|
381
|
+
...(frames.length === 0
|
|
382
|
+
? []
|
|
383
|
+
: [
|
|
384
|
+
` plugins: [${frames
|
|
385
|
+
.map((plugin, index) => `{ id: ${codeLiteral(plugin.id)}, create: pluginFrame${index} }`)
|
|
386
|
+
.join(", ")}],`
|
|
387
|
+
]),
|
|
156
388
|
` previews: [${config.previews.map((_file, index) => `preview${index}`).join(", ")}]`,
|
|
157
389
|
" });",
|
|
390
|
+
...previewsHot(config.previews),
|
|
158
391
|
""
|
|
159
392
|
].join("\n");
|
|
160
393
|
};
|
|
161
394
|
/**
|
|
162
|
-
* The module the dev server loads to answer tools and agents: the sources
|
|
163
|
-
*
|
|
395
|
+
* The module the dev server loads to answer tools and agents: the sources the frame mounts (`sources`), with the same
|
|
396
|
+
* imports the pages use. The previews are loaded beside it, each on its own (`previewRunner.ts`): a browser's code may
|
|
397
|
+
* keep one from loading on the server.
|
|
164
398
|
*
|
|
165
399
|
* @param config - the configuration.
|
|
166
400
|
*/
|
|
167
401
|
export const agentSourcesModule = (config) => {
|
|
168
402
|
const sources = sourcesCode(config);
|
|
169
|
-
return [
|
|
170
|
-
...sources.imports,
|
|
171
|
-
...config.previews.map((file, index) => `import * as preview${index} from ${JSON.stringify(file)};`),
|
|
172
|
-
`export const sources = ${sources.list};`,
|
|
173
|
-
`export const previews = [${config.previews.map((_file, index) => `preview${index}`).join(", ")}];`,
|
|
174
|
-
""
|
|
175
|
-
].join("\n");
|
|
403
|
+
return [...sources.imports, `export const sources = ${sources.list};`, ""].join("\n");
|
|
176
404
|
};
|
|
177
405
|
/**
|
|
178
|
-
* The source of the project's own stories:
|
|
406
|
+
* The source of the project's own stories and docs pages: its `stories` as one group of story files and its `docs` as
|
|
407
|
+
* one group of docs pages, each imported by its patterns (`FILES_SPECIFIER_PREFIX`), so a `!` pattern leaves files out
|
|
408
|
+
* of what all the others list and a file two patterns list comes once; named after the catalogue.
|
|
179
409
|
*
|
|
180
410
|
* @param config - the configuration.
|
|
181
411
|
*/
|
|
182
|
-
export const storiesSourceModule = (config) =>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
412
|
+
export const storiesSourceModule = (config) => {
|
|
413
|
+
// the configuration's folder in Vite's form, as the plugin names an importer's: the patterns are relative to it
|
|
414
|
+
const folder = VITE_PATHS.normalize(config.dir);
|
|
415
|
+
const group = (prefix, patterns) => codeLiteral(`${prefix}${storyFilesGroupText(folder, patterns)}`);
|
|
416
|
+
const hasStories = config.stories.length > 0;
|
|
417
|
+
const hasDocs = config.docs.length > 0;
|
|
418
|
+
return [
|
|
419
|
+
...(hasStories ? [`import files from ${group(FILES_SPECIFIER_PREFIX, config.stories)};`] : []),
|
|
420
|
+
...(hasDocs ? [`import docs from ${group(DOCS_PAGES_SPECIFIER_PREFIX, config.docs)};`] : []),
|
|
421
|
+
"export const source = {",
|
|
422
|
+
` id: ${codeLiteral(OWN_SOURCE_ID)},`,
|
|
423
|
+
` name: ${codeLiteral(config.title)},`,
|
|
424
|
+
` files: [${hasStories ? "files" : ""}],`,
|
|
425
|
+
...(hasDocs ? [" docs: [docs],"] : []),
|
|
426
|
+
" sheets: { required: [], theme: [], restyled: [] }",
|
|
427
|
+
"};",
|
|
428
|
+
""
|
|
429
|
+
].join("\n");
|
|
430
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ts from "typescript-6";
|
|
2
|
+
/** From now on a kept parse is checked against its file before it is reused. */
|
|
3
|
+
export declare const checkFileChanges: () => void;
|
|
4
|
+
/** Whether files may change while the programs read them: a dev server's, or any reader told of an edit. */
|
|
5
|
+
export declare const mayFilesChange: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* The function a compiler host parses files with, keeping what it parsed for the next program that parses alike.
|
|
8
|
+
*
|
|
9
|
+
* @param options - the program's compiler options.
|
|
10
|
+
* @param parse - the host's own parse.
|
|
11
|
+
*/
|
|
12
|
+
export declare const keptParse: (options: ts.CompilerOptions, parse: ts.CompilerHost["getSourceFile"]) => ts.CompilerHost["getSourceFile"];
|
|
13
|
+
/**
|
|
14
|
+
* Lets go every kept parse no program still holds: the limit on programs then bounds the parsed files too.
|
|
15
|
+
*
|
|
16
|
+
* @param programs - the programs kept.
|
|
17
|
+
*/
|
|
18
|
+
export declare const keepParsesOf: (programs: Iterable<ts.Program>) => void;
|