forgebook 0.1.3 → 0.1.4
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 +74 -6
- package/dist/bin/forgebook/agentClient.d.ts +17 -0
- package/dist/bin/forgebook/agentClient.d.ts.map +1 -1
- package/dist/bin/forgebook/agentClient.js +21 -0
- package/dist/bin/forgebook/agentClient.js.map +1 -1
- package/dist/bin/forgebook/agentLoopCommands.d.mts +9 -0
- package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -0
- package/dist/bin/forgebook/agentLoopCommands.mjs +217 -0
- package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -0
- package/dist/bin/forgebook/agentText.d.ts +37 -1
- package/dist/bin/forgebook/agentText.d.ts.map +1 -1
- package/dist/bin/forgebook/agentText.js +49 -2
- package/dist/bin/forgebook/agentText.js.map +1 -1
- package/dist/bin/forgebook/agents.md +46 -0
- package/dist/bin/forgebook/agentsText.d.ts +29 -0
- package/dist/bin/forgebook/agentsText.d.ts.map +1 -0
- package/dist/bin/forgebook/agentsText.js +48 -0
- package/dist/bin/forgebook/agentsText.js.map +1 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts +51 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts.map +1 -0
- package/dist/bin/forgebook/catalogueCommands.js +90 -0
- package/dist/bin/forgebook/catalogueCommands.js.map +1 -0
- package/dist/bin/forgebook/errorsRun.d.ts +27 -0
- package/dist/bin/forgebook/errorsRun.d.ts.map +1 -0
- package/dist/bin/forgebook/errorsRun.js +60 -0
- package/dist/bin/forgebook/errorsRun.js.map +1 -0
- package/dist/bin/forgebook/forgebook.mjs +109 -84
- package/dist/bin/forgebook/forgebook.mjs.map +1 -1
- package/dist/bin/forgebook/importers/storybook.d.ts +53 -0
- package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -0
- package/dist/bin/forgebook/importers/storybook.js +318 -0
- package/dist/bin/forgebook/importers/storybook.js.map +1 -0
- package/dist/bin/forgebook/initCommands.d.mts +9 -0
- package/dist/bin/forgebook/initCommands.d.mts.map +1 -0
- package/dist/bin/forgebook/initCommands.mjs +86 -0
- package/dist/bin/forgebook/initCommands.mjs.map +1 -0
- package/dist/bin/forgebook/initConfig.d.ts +22 -0
- package/dist/bin/forgebook/initConfig.d.ts.map +1 -0
- package/dist/bin/forgebook/initConfig.js +51 -0
- package/dist/bin/forgebook/initConfig.js.map +1 -0
- package/dist/bin/forgebook/mcpTools.d.ts +29 -3
- package/dist/bin/forgebook/mcpTools.d.ts.map +1 -1
- package/dist/bin/forgebook/mcpTools.js +130 -7
- package/dist/bin/forgebook/mcpTools.js.map +1 -1
- package/dist/bin/forgebook/newStories.d.ts +27 -0
- package/dist/bin/forgebook/newStories.d.ts.map +1 -0
- package/dist/bin/forgebook/newStories.js +109 -0
- package/dist/bin/forgebook/newStories.js.map +1 -0
- package/dist/bin/forgebook/newStoriesFile.d.ts +18 -0
- package/dist/bin/forgebook/newStoriesFile.d.ts.map +1 -0
- package/dist/bin/forgebook/newStoriesFile.js +58 -0
- package/dist/bin/forgebook/newStoriesFile.js.map +1 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts +39 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -0
- package/dist/bin/forgebook/storyCheckRun.js +177 -0
- package/dist/bin/forgebook/storyCheckRun.js.map +1 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts +24 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +1 -0
- package/dist/bin/forgebook-docs/catalogueDocs.js +71 -0
- package/dist/bin/forgebook-docs/catalogueDocs.js.map +1 -0
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +8 -0
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +1 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +3 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +1 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +62 -42
- package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +1 -1
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts +39 -0
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +1 -0
- package/dist/bin/forgebook-docs/catalogueOptions.js +76 -0
- package/dist/bin/forgebook-docs/catalogueOptions.js.map +1 -0
- package/dist/bin/forgebook-docs/collectDocs.d.ts +3 -1
- package/dist/bin/forgebook-docs/collectDocs.d.ts.map +1 -1
- package/dist/bin/forgebook-docs/collectDocs.js +37 -13
- package/dist/bin/forgebook-docs/collectDocs.js.map +1 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs +17 -80
- package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +1 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts +24 -0
- package/dist/bin/forgebook-docs/llmsText.d.ts.map +1 -0
- package/dist/bin/forgebook-docs/llmsText.js +33 -0
- package/dist/bin/forgebook-docs/llmsText.js.map +1 -0
- package/dist/bin/forgebook-docs/sourceId.d.ts +9 -0
- package/dist/bin/forgebook-docs/sourceId.d.ts.map +1 -0
- package/dist/bin/forgebook-docs/sourceId.js +45 -0
- package/dist/bin/forgebook-docs/sourceId.js.map +1 -0
- package/dist/bin/frameworkDocs.d.ts +10 -0
- package/dist/bin/frameworkDocs.d.ts.map +1 -0
- package/dist/bin/frameworkDocs.js +43 -0
- package/dist/bin/frameworkDocs.js.map +1 -0
- package/dist/src/argTypes.d.ts +23 -0
- package/dist/src/argTypes.d.ts.map +1 -1
- package/dist/src/argTypes.js +27 -0
- package/dist/src/argTypes.js.map +1 -1
- package/dist/src/catalogue.d.ts +70 -3
- package/dist/src/catalogue.d.ts.map +1 -1
- package/dist/src/catalogue.js +85 -3
- package/dist/src/catalogue.js.map +1 -1
- package/dist/src/controlKeys.d.ts +85 -0
- package/dist/src/controlKeys.d.ts.map +1 -0
- package/dist/src/controlKeys.js +118 -0
- package/dist/src/controlKeys.js.map +1 -0
- package/dist/src/frame/frame.css +33 -2
- package/dist/src/frame/frameView.d.ts +2 -2
- package/dist/src/frame/frameView.d.ts.map +1 -1
- package/dist/src/frame/frameView.js +7 -3
- package/dist/src/frame/frameView.js.map +1 -1
- package/dist/src/frame/mountFrame.d.ts.map +1 -1
- package/dist/src/frame/mountFrame.js +26 -2
- package/dist/src/frame/mountFrame.js.map +1 -1
- package/dist/src/frame/spillOutline.d.ts +10 -0
- package/dist/src/frame/spillOutline.d.ts.map +1 -0
- package/dist/src/frame/spillOutline.js +80 -0
- package/dist/src/frame/spillOutline.js.map +1 -0
- package/dist/src/liveErrors.d.ts +57 -0
- package/dist/src/liveErrors.d.ts.map +1 -0
- package/dist/src/liveErrors.js +52 -0
- package/dist/src/liveErrors.js.map +1 -0
- package/dist/src/messages.d.ts +12 -0
- package/dist/src/messages.d.ts.map +1 -1
- package/dist/src/messages.js +4 -0
- package/dist/src/messages.js.map +1 -1
- package/dist/src/namedViews.d.ts +80 -0
- package/dist/src/namedViews.d.ts.map +1 -0
- package/dist/src/namedViews.js +88 -0
- package/dist/src/namedViews.js.map +1 -0
- package/dist/src/shell/AppearanceMenu.d.ts +15 -0
- package/dist/src/shell/AppearanceMenu.d.ts.map +1 -0
- package/dist/src/shell/AppearanceMenu.js +28 -0
- package/dist/src/shell/AppearanceMenu.js.map +1 -0
- package/dist/src/shell/BoxWidth.d.ts +40 -0
- package/dist/src/shell/BoxWidth.d.ts.map +1 -0
- package/dist/src/shell/BoxWidth.js +56 -0
- package/dist/src/shell/BoxWidth.js.map +1 -0
- package/dist/src/shell/ComponentPage.d.ts +17 -1
- package/dist/src/shell/ComponentPage.d.ts.map +1 -1
- package/dist/src/shell/ComponentPage.js +19 -54
- package/dist/src/shell/ComponentPage.js.map +1 -1
- package/dist/src/shell/ControlKeyField.d.ts +21 -0
- package/dist/src/shell/ControlKeyField.d.ts.map +1 -0
- package/dist/src/shell/ControlKeyField.js +46 -0
- package/dist/src/shell/ControlKeyField.js.map +1 -0
- package/dist/src/shell/ControlRow.d.ts +31 -0
- package/dist/src/shell/ControlRow.d.ts.map +1 -0
- package/dist/src/shell/ControlRow.js +27 -0
- package/dist/src/shell/ControlRow.js.map +1 -0
- package/dist/src/shell/Example.d.ts +58 -0
- package/dist/src/shell/Example.d.ts.map +1 -0
- package/dist/src/shell/Example.js +89 -0
- package/dist/src/shell/Example.js.map +1 -0
- package/dist/src/shell/NamedViews.d.ts +23 -0
- package/dist/src/shell/NamedViews.d.ts.map +1 -0
- package/dist/src/shell/NamedViews.js +49 -0
- package/dist/src/shell/NamedViews.js.map +1 -0
- package/dist/src/shell/PinnedControl.d.ts +25 -0
- package/dist/src/shell/PinnedControl.d.ts.map +1 -0
- package/dist/src/shell/PinnedControl.js +81 -0
- package/dist/src/shell/PinnedControl.js.map +1 -0
- package/dist/src/shell/PropsTab.d.ts +5 -2
- package/dist/src/shell/PropsTab.d.ts.map +1 -1
- package/dist/src/shell/PropsTab.js +12 -15
- package/dist/src/shell/PropsTab.js.map +1 -1
- package/dist/src/shell/Shell.d.ts.map +1 -1
- package/dist/src/shell/Shell.js +27 -2
- package/dist/src/shell/Shell.js.map +1 -1
- package/dist/src/shell/Sidebar.d.ts +11 -9
- package/dist/src/shell/Sidebar.d.ts.map +1 -1
- package/dist/src/shell/Sidebar.js +48 -42
- package/dist/src/shell/Sidebar.js.map +1 -1
- package/dist/src/shell/SidebarEntries.d.ts +50 -0
- package/dist/src/shell/SidebarEntries.d.ts.map +1 -0
- package/dist/src/shell/SidebarEntries.js +51 -0
- package/dist/src/shell/SidebarEntries.js.map +1 -0
- package/dist/src/shell/Stage.d.ts.map +1 -1
- package/dist/src/shell/Stage.js +19 -2
- package/dist/src/shell/Stage.js.map +1 -1
- package/dist/src/shell/Toolbar.d.ts +7 -3
- package/dist/src/shell/Toolbar.d.ts.map +1 -1
- package/dist/src/shell/Toolbar.js +38 -68
- package/dist/src/shell/Toolbar.js.map +1 -1
- package/dist/src/shell/ToolbarControl.d.ts +47 -0
- package/dist/src/shell/ToolbarControl.d.ts.map +1 -0
- package/dist/src/shell/ToolbarControl.js +150 -0
- package/dist/src/shell/ToolbarControl.js.map +1 -0
- package/dist/src/shell/UsedIn.d.ts +38 -0
- package/dist/src/shell/UsedIn.d.ts.map +1 -0
- package/dist/src/shell/UsedIn.js +77 -0
- package/dist/src/shell/UsedIn.js.map +1 -0
- package/dist/src/shell/ViewMenu.d.ts +37 -0
- package/dist/src/shell/ViewMenu.d.ts.map +1 -0
- package/dist/src/shell/ViewMenu.js +216 -0
- package/dist/src/shell/ViewMenu.js.map +1 -0
- package/dist/src/shell/controlCycle.d.ts +28 -0
- package/dist/src/shell/controlCycle.d.ts.map +1 -0
- package/dist/src/shell/controlCycle.js +51 -0
- package/dist/src/shell/controlCycle.js.map +1 -0
- package/dist/src/shell/dockTabs.d.ts +3 -0
- package/dist/src/shell/dockTabs.d.ts.map +1 -1
- package/dist/src/shell/dockTabs.js +1 -1
- package/dist/src/shell/dockTabs.js.map +1 -1
- package/dist/src/shell/icons.d.ts +6 -0
- package/dist/src/shell/icons.d.ts.map +1 -1
- package/dist/src/shell/icons.js +7 -1
- package/dist/src/shell/icons.js.map +1 -1
- package/dist/src/shell/keyboard.d.ts +2 -1
- package/dist/src/shell/keyboard.d.ts.map +1 -1
- package/dist/src/shell/keyboard.js +5 -2
- package/dist/src/shell/keyboard.js.map +1 -1
- package/dist/src/shell/shell.css +826 -243
- package/dist/src/shell/strings.d.ts +45 -0
- package/dist/src/shell/strings.d.ts.map +1 -1
- package/dist/src/shell/strings.js +45 -0
- package/dist/src/shell/strings.js.map +1 -1
- package/dist/src/shell/useAppearance.d.ts +17 -0
- package/dist/src/shell/useAppearance.d.ts.map +1 -0
- package/dist/src/shell/useAppearance.js +36 -0
- package/dist/src/shell/useAppearance.js.map +1 -0
- package/dist/src/shell/useControlKeys.d.ts +23 -0
- package/dist/src/shell/useControlKeys.d.ts.map +1 -0
- package/dist/src/shell/useControlKeys.js +44 -0
- package/dist/src/shell/useControlKeys.js.map +1 -0
- package/dist/src/shell/useFold.d.ts +27 -0
- package/dist/src/shell/useFold.d.ts.map +1 -0
- package/dist/src/shell/useFold.js +87 -0
- package/dist/src/shell/useFold.js.map +1 -0
- package/dist/src/shell/useFrameMessages.d.ts +2 -0
- package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
- package/dist/src/shell/useFrameMessages.js +3 -0
- package/dist/src/shell/useFrameMessages.js.map +1 -1
- package/dist/src/shell/useFullPage.d.ts +45 -0
- package/dist/src/shell/useFullPage.d.ts.map +1 -0
- package/dist/src/shell/useFullPage.js +149 -0
- package/dist/src/shell/useFullPage.js.map +1 -0
- package/dist/src/shell/usePopover.d.ts +17 -3
- package/dist/src/shell/usePopover.d.ts.map +1 -1
- package/dist/src/shell/usePopover.js +65 -4
- package/dist/src/shell/usePopover.js.map +1 -1
- package/dist/src/shell/useStored.d.ts +13 -2
- package/dist/src/shell/useStored.d.ts.map +1 -1
- package/dist/src/shell/useStored.js +1 -1
- package/dist/src/shell/useStored.js.map +1 -1
- package/dist/src/shell/useToolbarLayout.d.ts +39 -0
- package/dist/src/shell/useToolbarLayout.d.ts.map +1 -0
- package/dist/src/shell/useToolbarLayout.js +58 -0
- package/dist/src/shell/useToolbarLayout.js.map +1 -0
- package/dist/src/shell/useToolbarOverflow.d.ts +31 -0
- package/dist/src/shell/useToolbarOverflow.d.ts.map +1 -0
- package/dist/src/shell/useToolbarOverflow.js +62 -0
- package/dist/src/shell/useToolbarOverflow.js.map +1 -0
- package/dist/src/shell/useWorstCase.d.ts +46 -0
- package/dist/src/shell/useWorstCase.d.ts.map +1 -0
- package/dist/src/shell/useWorstCase.js +42 -0
- package/dist/src/shell/useWorstCase.js.map +1 -0
- package/dist/src/shell/worstArgs.d.ts +42 -0
- package/dist/src/shell/worstArgs.d.ts.map +1 -0
- package/dist/src/shell/worstArgs.js +47 -0
- package/dist/src/shell/worstArgs.js.map +1 -0
- package/dist/src/spills.d.ts +31 -0
- package/dist/src/spills.d.ts.map +1 -0
- package/dist/src/spills.js +65 -0
- package/dist/src/spills.js.map +1 -0
- package/dist/src/storyCheck.d.ts +105 -0
- package/dist/src/storyCheck.d.ts.map +1 -0
- package/dist/src/storyCheck.js +63 -0
- package/dist/src/storyCheck.js.map +1 -0
- package/dist/src/switches.d.ts +16 -4
- package/dist/src/switches.d.ts.map +1 -1
- package/dist/src/switches.js +30 -5
- package/dist/src/switches.js.map +1 -1
- package/dist/src/toolbarLayout.d.ts +119 -0
- package/dist/src/toolbarLayout.d.ts.map +1 -0
- package/dist/src/toolbarLayout.js +155 -0
- package/dist/src/toolbarLayout.js.map +1 -0
- package/dist/src/usedIn.d.ts +60 -0
- package/dist/src/usedIn.d.ts.map +1 -0
- package/dist/src/usedIn.js +92 -0
- package/dist/src/usedIn.js.map +1 -0
- package/dist/src/viewState.d.ts +6 -10
- package/dist/src/viewState.d.ts.map +1 -1
- package/dist/src/viewState.js +20 -18
- package/dist/src/viewState.js.map +1 -1
- package/dist/src/viewWords.d.ts +26 -0
- package/dist/src/viewWords.d.ts.map +1 -0
- package/dist/src/viewWords.js +29 -0
- package/dist/src/viewWords.js.map +1 -0
- package/dist/src/vite/adapter.d.ts +13 -4
- package/dist/src/vite/adapter.d.ts.map +1 -1
- package/dist/src/vite/adapter.js +4 -2
- package/dist/src/vite/adapter.js.map +1 -1
- package/dist/src/vite/agent.types.d.ts +32 -2
- package/dist/src/vite/agent.types.d.ts.map +1 -1
- package/dist/src/vite/agentApi.d.ts +15 -3
- package/dist/src/vite/agentApi.d.ts.map +1 -1
- package/dist/src/vite/agentApi.js +63 -9
- package/dist/src/vite/agentApi.js.map +1 -1
- package/dist/src/vite/agentRoutes.d.ts +8 -3
- package/dist/src/vite/agentRoutes.d.ts.map +1 -1
- package/dist/src/vite/agentRoutes.js +84 -23
- package/dist/src/vite/agentRoutes.js.map +1 -1
- package/dist/src/vite/configFile.d.ts +2 -1
- package/dist/src/vite/configFile.d.ts.map +1 -1
- package/dist/src/vite/configFile.js +29 -11
- package/dist/src/vite/configFile.js.map +1 -1
- package/dist/src/vite/docsExtractor.d.ts +26 -2
- package/dist/src/vite/docsExtractor.d.ts.map +1 -1
- package/dist/src/vite/docsExtractor.js +12 -9
- package/dist/src/vite/docsExtractor.js.map +1 -1
- package/dist/src/vite/docsWorker.js +18 -2
- package/dist/src/vite/docsWorker.js.map +1 -1
- package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
- package/dist/src/vite/forgebookPlugin.js +109 -16
- package/dist/src/vite/forgebookPlugin.js.map +1 -1
- package/dist/src/vite/indexStoryFile.d.ts +14 -0
- package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
- package/dist/src/vite/indexStoryFile.js +13 -4
- package/dist/src/vite/indexStoryFile.js.map +1 -1
- package/dist/src/vite/mcpProtocol.d.ts +9 -0
- package/dist/src/vite/mcpProtocol.d.ts.map +1 -1
- package/dist/src/vite/mcpProtocol.js +6 -3
- package/dist/src/vite/mcpProtocol.js.map +1 -1
- package/dist/src/vite/storyFilesModule.d.ts +28 -1
- package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
- package/dist/src/vite/storyFilesModule.js +34 -14
- package/dist/src/vite/storyFilesModule.js.map +1 -1
- package/dist/src/vite/usageGraph.d.ts +45 -0
- package/dist/src/vite/usageGraph.d.ts.map +1 -0
- package/dist/src/vite/usageGraph.js +246 -0
- package/dist/src/vite/usageGraph.js.map +1 -0
- package/dist/src/vite/usageModule.d.ts +33 -0
- package/dist/src/vite/usageModule.d.ts.map +1 -0
- package/dist/src/vite/usageModule.js +135 -0
- package/dist/src/vite/usageModule.js.map +1 -0
- package/dist/src/worstCase.d.ts +16 -0
- package/dist/src/worstCase.d.ts.map +1 -0
- package/dist/src/worstCase.js +16 -0
- package/dist/src/worstCase.js.map +1 -0
- package/package.json +14 -2
- package/dist/src/shell/SchemeSwitches.d.ts +0 -24
- package/dist/src/shell/SchemeSwitches.d.ts.map +0 -1
- package/dist/src/shell/SchemeSwitches.js +0 -36
- package/dist/src/shell/SchemeSwitches.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentRoutes.js","sourceRoot":"","sources":["../../../src/vite/agentRoutes.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAsB,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentRoutes.js","sourceRoot":"","sources":["../../../src/vite/agentRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,8 @@ export declare const findConfigFile: (dir: string) => string | undefined;
|
|
|
53
53
|
/**
|
|
54
54
|
* The lists of the presets and the catalogue, in that order, merged: a single value (a width range, the grid's step)
|
|
55
55
|
* the last that gives one; the backgrounds, the story groups and the texts entry by entry, a later one replacing an
|
|
56
|
-
* earlier one with the same id or name; the tabs
|
|
56
|
+
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any; the toolbar the last
|
|
57
|
+
* that names one.
|
|
57
58
|
*
|
|
58
59
|
* @param all - the presets' lists, then the catalogue's.
|
|
59
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../../../src/vite/configFile.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../../../src/vite/configFile.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,iFAAiF;AACjF,eAAO,MAAM,YAAY,UAAyE,CAAC;AAKnG,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,6GAA6G;IAC7G,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,kEAAmE,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,eAAe,GACzB,KAAK,MAAM,MACX,MAAM,MAAM,KAAG,MAAM,GAAG,SAOxB,CAAC;AAYJ;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAC2B,CAAC;AAiClF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,cAAc,EAAE,KAAG,cAiC5D,CAAC;AA2BF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,eAAe,EAAE,KAAK,MAAM,KAAG,cAgCpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,cAAc,CAMzE,CAAC"}
|
|
@@ -69,29 +69,43 @@ const mergedById = (lists) => {
|
|
|
69
69
|
merged.set(entry.id, entry);
|
|
70
70
|
return [...merged.values()];
|
|
71
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* The single values a list gives (an id, a width range, the grid's step, the toolbar…), without those it leaves out,
|
|
74
|
+
* so a later list replaces only what it gives.
|
|
75
|
+
*
|
|
76
|
+
* @param lists - one list.
|
|
77
|
+
*/
|
|
78
|
+
const singleValues = (lists) => ({
|
|
79
|
+
...(lists.id === undefined ? {} : { id: lists.id }),
|
|
80
|
+
...(lists.widths === undefined ? {} : { widths: lists.widths }),
|
|
81
|
+
...(lists.widthRange === undefined ? {} : { widthRange: lists.widthRange }),
|
|
82
|
+
...(lists.zooms === undefined ? {} : { zooms: lists.zooms }),
|
|
83
|
+
...(lists.textSizes === undefined ? {} : { textSizes: lists.textSizes }),
|
|
84
|
+
...(lists.gridStep === undefined ? {} : { gridStep: lists.gridStep }),
|
|
85
|
+
...(lists.toolbar === undefined ? {} : { toolbar: lists.toolbar }),
|
|
86
|
+
...(lists.usedIn === undefined ? {} : { usedIn: lists.usedIn }),
|
|
87
|
+
...(lists.appearance === undefined ? {} : { appearance: lists.appearance })
|
|
88
|
+
});
|
|
72
89
|
/**
|
|
73
90
|
* The lists of the presets and the catalogue, in that order, merged: a single value (a width range, the grid's step)
|
|
74
91
|
* the last that gives one; the backgrounds, the story groups and the texts entry by entry, a later one replacing an
|
|
75
|
-
* earlier one with the same id or name; the tabs
|
|
92
|
+
* earlier one with the same id or name; the tabs, the controls and the rules turned off by any; the toolbar the last
|
|
93
|
+
* that names one.
|
|
76
94
|
*
|
|
77
95
|
* @param all - the presets' lists, then the catalogue's.
|
|
78
96
|
*/
|
|
79
97
|
export const mergedLists = (all) => {
|
|
80
98
|
const tabs = {};
|
|
99
|
+
const controls = {};
|
|
81
100
|
const strings = {};
|
|
101
|
+
const keys = {};
|
|
82
102
|
let merged = {};
|
|
83
103
|
for (const lists of all) {
|
|
84
104
|
Object.assign(tabs, lists.tabs);
|
|
105
|
+
Object.assign(controls, lists.controls);
|
|
85
106
|
Object.assign(strings, lists.strings);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
...(lists.id === undefined ? {} : { id: lists.id }),
|
|
89
|
-
...(lists.widths === undefined ? {} : { widths: lists.widths }),
|
|
90
|
-
...(lists.widthRange === undefined ? {} : { widthRange: lists.widthRange }),
|
|
91
|
-
...(lists.zooms === undefined ? {} : { zooms: lists.zooms }),
|
|
92
|
-
...(lists.textSizes === undefined ? {} : { textSizes: lists.textSizes }),
|
|
93
|
-
...(lists.gridStep === undefined ? {} : { gridStep: lists.gridStep })
|
|
94
|
-
};
|
|
107
|
+
Object.assign(keys, lists.keys);
|
|
108
|
+
merged = { ...merged, ...singleValues(lists) };
|
|
95
109
|
}
|
|
96
110
|
const builtIn = all.findLast((lists) => lists.backgrounds?.builtIn !== undefined)?.backgrounds?.builtIn;
|
|
97
111
|
const tags = all.findLast((lists) => lists.a11y?.tags !== undefined)?.a11y?.tags;
|
|
@@ -103,11 +117,15 @@ export const mergedLists = (all) => {
|
|
|
103
117
|
},
|
|
104
118
|
storyGroups: mergedById(all.map((lists) => lists.storyGroups)),
|
|
105
119
|
tabs,
|
|
120
|
+
controls,
|
|
106
121
|
a11y: {
|
|
107
122
|
...(tags === undefined ? {} : { tags }),
|
|
108
123
|
disabledRules: [...new Set(all.flatMap((lists) => lists.a11y?.disabledRules ?? []))]
|
|
109
124
|
},
|
|
110
|
-
strings
|
|
125
|
+
strings,
|
|
126
|
+
keys,
|
|
127
|
+
// a later list's view of the same name replaces an earlier one's, where it was
|
|
128
|
+
views: [...new Map(all.flatMap((lists) => lists.views ?? []).map((view) => [view.name, view])).values()]
|
|
111
129
|
};
|
|
112
130
|
};
|
|
113
131
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../../src/vite/configFile.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAIlE,iFAAiF;AACjF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;AAEnG,+FAA+F;AAC/F,MAAM,aAAa,GAAG,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;AAkChG,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,sBAAsB,EAAE,6BAA6B,CAAU,CAAC;AAEpG;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,GAAW,EAAE,EAAE,CAChB,CAAC,IAAY,EAAsB,EAAE;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEJ;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,GAAW,EAAW,EAAE;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAsB,EAAE,CAChE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAElF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CACjB,KAAiD,EACvC,EAAE;IACZ,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../../src/vite/configFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { StoryComponentResult } from "./adapter.ts";
|
|
2
|
+
import type { UsageGraph, UsageRequestFile } from "./usageGraph.ts";
|
|
2
3
|
/** What the extractor answers for a story file: its component's docs, none, or why it cannot be read. */
|
|
3
4
|
export type DocsResult = StoryComponentResult;
|
|
4
|
-
/**
|
|
5
|
+
/** What the worker answers for a group of story files' usage: its facts, or why they cannot be read. */
|
|
6
|
+
export type UsageResult = UsageGraph | string;
|
|
7
|
+
/**
|
|
8
|
+
* A message to the worker: a story file's docs to read, a group of story files' usage to read, or the news that a
|
|
9
|
+
* source file changed.
|
|
10
|
+
*/
|
|
5
11
|
export type DocsRequest = {
|
|
6
12
|
/** Read a story file's docs. */
|
|
7
13
|
readonly kind: "extract";
|
|
@@ -9,21 +15,39 @@ export type DocsRequest = {
|
|
|
9
15
|
readonly id: number;
|
|
10
16
|
/** The story file's absolute path. */
|
|
11
17
|
readonly storyFile: string;
|
|
18
|
+
} | {
|
|
19
|
+
/** Read what a group of story files' stories render, and the import graph they reach. */
|
|
20
|
+
readonly kind: "usage";
|
|
21
|
+
/** The request's number, repeated in its answer. */
|
|
22
|
+
readonly id: number;
|
|
23
|
+
/** The story files and their stories' exports. */
|
|
24
|
+
readonly files: readonly UsageRequestFile[];
|
|
12
25
|
} | {
|
|
13
26
|
/** A source file changed: the programs are renewed on their next read. */
|
|
14
27
|
readonly kind: "changed";
|
|
15
28
|
};
|
|
16
|
-
/** The worker's answer to a request. */
|
|
29
|
+
/** The worker's answer to a request, of the request's kind. */
|
|
17
30
|
export type DocsResponse = {
|
|
31
|
+
/** A story file's docs. */
|
|
32
|
+
readonly kind: "extract";
|
|
18
33
|
/** The request's number. */
|
|
19
34
|
readonly id: number;
|
|
20
35
|
/** The extractor's result. */
|
|
21
36
|
readonly result: DocsResult;
|
|
37
|
+
} | {
|
|
38
|
+
/** A group of story files' usage. */
|
|
39
|
+
readonly kind: "usage";
|
|
40
|
+
/** The request's number. */
|
|
41
|
+
readonly id: number;
|
|
42
|
+
/** The facts, or why they cannot be read. */
|
|
43
|
+
readonly result: UsageResult;
|
|
22
44
|
};
|
|
23
45
|
/** The docs, read off the dev server's thread. */
|
|
24
46
|
export type DocsExtractor = {
|
|
25
47
|
/** The component docs of a story file. */
|
|
26
48
|
readonly extract: (storyFile: string) => Promise<DocsResult>;
|
|
49
|
+
/** What a group of story files' stories render, and the import graph they reach. */
|
|
50
|
+
readonly usage: (files: readonly UsageRequestFile[]) => Promise<UsageResult>;
|
|
27
51
|
/** Builds the program that holds a story file, ahead of its first read. */
|
|
28
52
|
readonly warm: (storyFile: string) => void;
|
|
29
53
|
/** Tells the worker a source file changed, so the next read sees it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsExtractor.d.ts","sourceRoot":"","sources":["../../../src/vite/docsExtractor.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"docsExtractor.d.ts","sourceRoot":"","sources":["../../../src/vite/docsExtractor.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,yGAAyG;AACzG,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAE9C,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC7C,GACD;IACE,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEN,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GACpB;IACE,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B,GACD;IACE,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEN,kDAAkD;AAClD,MAAM,MAAM,aAAa,GAAG;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC,CAAC;AAQF,4GAA4G;AAC5G,MAAM,MAAM,cAAc,GAAG;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,KAAG,aAsExD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The story files' component docs,
|
|
3
|
-
* a package's TypeScript program is built.
|
|
2
|
+
* The story files' component docs, and the facts "Used in" is joined from (`usageGraph.ts`), read in a worker thread
|
|
3
|
+
* (`docsWorker.ts`) so the dev server keeps answering while a package's TypeScript program is built.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
6
|
* One worker per plugin, started on the first request and kept: its programs make every later read quick, until a
|
|
@@ -39,7 +39,7 @@ export const createDocsExtractor = (docsModule) => {
|
|
|
39
39
|
const created = new Worker(WORKER_URL, { workerData });
|
|
40
40
|
created.unref();
|
|
41
41
|
created.on("message", (response) => {
|
|
42
|
-
pending.get(response.id)?.(response
|
|
42
|
+
pending.get(response.id)?.(response);
|
|
43
43
|
pending.delete(response.id);
|
|
44
44
|
sendWarmUp();
|
|
45
45
|
});
|
|
@@ -53,21 +53,24 @@ export const createDocsExtractor = (docsModule) => {
|
|
|
53
53
|
worker = created;
|
|
54
54
|
return created;
|
|
55
55
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
// a request's answer, or why the worker stopped before giving it
|
|
57
|
+
const send = (request, resolve) => {
|
|
58
|
+
if (request.kind === "changed")
|
|
59
|
+
return;
|
|
60
|
+
pending.set(request.id, resolve);
|
|
60
61
|
started().postMessage(request);
|
|
61
62
|
};
|
|
63
|
+
const extract = (storyFile, resolve) => send({ kind: "extract", id: nextId++, storyFile }, (response) => resolve(typeof response === "string" || response.kind !== "extract" ? String(response) : response.result));
|
|
62
64
|
const sendWarmUp = () => {
|
|
63
65
|
if (pending.size > 0)
|
|
64
66
|
return;
|
|
65
67
|
const storyFile = warmUps.shift();
|
|
66
68
|
if (storyFile !== undefined)
|
|
67
|
-
|
|
69
|
+
extract(storyFile, () => undefined);
|
|
68
70
|
};
|
|
69
71
|
return {
|
|
70
|
-
extract: (storyFile) => new Promise((resolve) =>
|
|
72
|
+
extract: (storyFile) => new Promise((resolve) => extract(storyFile, resolve)),
|
|
73
|
+
usage: (files) => new Promise((resolve) => send({ kind: "usage", id: nextId++, files }, (response) => resolve(typeof response === "string" || response.kind !== "usage" ? String(response) : response.result))),
|
|
71
74
|
warm: (storyFile) => {
|
|
72
75
|
warmUps.push(storyFile);
|
|
73
76
|
sendWarmUp();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsExtractor.js","sourceRoot":"","sources":["../../../src/vite/docsExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"docsExtractor.js","sourceRoot":"","sources":["../../../src/vite/docsExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAsE7C;;;GAGG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAQvF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACvE,IAAI,MAA0B,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,uFAAuF;IACvF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqD,CAAC;IAC7E,uEAAuE;IACvE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,GAAW,EAAE;QAC3B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,UAAU,GAAmB,EAAE,UAAU,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,QAAsB,EAAQ,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QACH,yGAAyG;QACzG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAQ,EAAE;YACzC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,OAAO,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,iEAAiE;IACjE,MAAM,IAAI,GAAG,CAAC,OAAoB,EAAE,OAAkD,EAAQ,EAAE;QAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO;QACvC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,OAAqC,EAAQ,EAAE,CACjF,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC9D,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CACjG,CACF,CAAC;IACJ,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAO;QACL,OAAO,EAAE,CAAC,SAAiB,EAAuB,EAAE,CAClD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,EAAE,CAAC,KAAkC,EAAwB,EAAE,CAClE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxD,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAC/F,CACF,CACF;QACH,IAAI,EAAE,CAAC,SAAiB,EAAQ,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,UAAU,EAAE,CAAC;QACf,CAAC;QACD,OAAO,EAAE,GAAS,EAAE;YAClB,mDAAmD;YACnD,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACjD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,EAAE,KAAK,IAAmB,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,MAAM,GAAG,SAAS,CAAC;YACnB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,MAAM,OAAO,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -14,7 +14,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
14
14
|
* @remarks
|
|
15
15
|
* Started by `docsExtractor.ts` with the framework's docs module (`adapter.ts`), which it loads once; it keeps the
|
|
16
16
|
* programs of `docsProgram.ts` between requests, so only a package's first
|
|
17
|
-
* read builds one, and a changed source file (`{ kind: "changed" }`) renews them on their next read. A request
|
|
17
|
+
* read builds one, and a changed source file (`{ kind: "changed" }`) renews them on their next read. A usage request
|
|
18
|
+
* (`{ kind: "usage", id, files }`) is answered from the same programs (`usageGraph.ts`). A request is `{ id, storyFile }`, the answer `{ id, result }`, `extractStoryComponent`'s result as
|
|
18
19
|
* it is (plain data); a warm-up is a request whose answer nobody reads.
|
|
19
20
|
*
|
|
20
21
|
* @module
|
|
@@ -22,6 +23,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
22
23
|
import { parentPort, workerData } from "node:worker_threads";
|
|
23
24
|
import { isDocsModule } from "./adapter.js";
|
|
24
25
|
import { markSourcesChanged } from "./docsProgram.js";
|
|
26
|
+
import { usageGraph } from "./usageGraph.js";
|
|
25
27
|
/** Whether the worker's data names a docs module. */
|
|
26
28
|
const isWorkerData = (value) => typeof value === "object" &&
|
|
27
29
|
value !== null &&
|
|
@@ -55,13 +57,27 @@ const extracted = async (storyFile) => {
|
|
|
55
57
|
return `${storyFile}: the docs could not be read: ${error instanceof Error ? error.message : String(error)}`;
|
|
56
58
|
}
|
|
57
59
|
};
|
|
60
|
+
/** A group of story files' usage, or why it threw: a throw would end the worker and every request waiting on it. */
|
|
61
|
+
const usage = (files) => {
|
|
62
|
+
try {
|
|
63
|
+
return usageGraph(files);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return `The stories' usage could not be read: ${error instanceof Error ? error.message : String(error)}`;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
58
69
|
parentPort?.on("message", (request) => {
|
|
59
70
|
if (request.kind === "changed") {
|
|
60
71
|
markSourcesChanged();
|
|
61
72
|
return;
|
|
62
73
|
}
|
|
74
|
+
if (request.kind === "usage") {
|
|
75
|
+
const response = { kind: "usage", id: request.id, result: usage(request.files) };
|
|
76
|
+
parentPort?.postMessage(response);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
63
79
|
void extracted(request.storyFile).then((result) => {
|
|
64
|
-
const response = { id: request.id, result };
|
|
80
|
+
const response = { kind: "extract", id: request.id, result };
|
|
65
81
|
parentPort?.postMessage(response);
|
|
66
82
|
});
|
|
67
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsWorker.js","sourceRoot":"","sources":["../../../src/vite/docsWorker.ts"],"names":[],"mappings":";;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"docsWorker.js","sourceRoot":"","sources":["../../../src/vite/docsWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgebookPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/forgebookPlugin.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,MAAM,EAA6B,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"forgebookPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/forgebookPlugin.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,MAAM,EAA6B,MAAM,MAAM,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAmD,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA2EvG,4BAA4B;AAC5B,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,8GAA8G;IAC9G,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAyPF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,UAAS,sBAA2B,KAAG,MAgMtE,CAAC"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
import { existsSync, readFileSync } from "node:fs";
|
|
23
23
|
import { dirname, join, resolve } from "node:path";
|
|
24
24
|
import ts from "typescript-6";
|
|
25
|
+
import { createLiveErrors, isLiveErrorReport, LIVE_ERROR_EVENT } from "../liveErrors.js";
|
|
25
26
|
import { agentMiddleware } from "./agentRoutes.js";
|
|
26
27
|
import { STORY_FILE } from "./autoTitle.js";
|
|
27
28
|
import { componentPage, markdownHtml } from "./componentPage.js";
|
|
@@ -33,8 +34,9 @@ import { highlightCode } from "./highlightCode.js";
|
|
|
33
34
|
import { AGENT_SOURCES_FILE, agentSourcesModule, CONFIG_MODULE, configModule, frameEntry, PAGE_ENTRIES, PAGE_FILES, pageHtml, STORIES_SOURCE_FILE, shellEntry, storiesSourceModule } from "./pages.js";
|
|
34
35
|
import { prebundled, scannedEntries } from "./prebundled.js";
|
|
35
36
|
import { storyCode } from "./storyCode.js";
|
|
36
|
-
import { storyFilesModule } from "./storyFilesModule.js";
|
|
37
|
+
import { indexedStoryFiles, storyFilesModule, USAGE_PREFIX, USAGE_SEPARATOR } from "./storyFilesModule.js";
|
|
37
38
|
import { componentImport } from "./storyMeta.js";
|
|
39
|
+
import { joinedUsage } from "./usageModule.js";
|
|
38
40
|
/**
|
|
39
41
|
* A file's text, or none when it cannot be read.
|
|
40
42
|
*
|
|
@@ -151,25 +153,78 @@ const markdownModule = (file, watch) => {
|
|
|
151
153
|
const value = { html: markdownHtml(readFileSync(file, "utf8")) };
|
|
152
154
|
return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
|
|
153
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* The id of a `?forgebook-files` module: the folder, then the pattern. The pattern's leading `./` and `../` move into
|
|
158
|
+
* the folder, so no `..` is left in the id: Vite serves a virtual module under a URL path, whose normalisation would
|
|
159
|
+
* let a `..` remove the segment before it (`app::./..`), folder and separator with it, and the module would match
|
|
160
|
+
* nothing. The files' keys and titles stay as they were: both are read relative to the folder and the pattern's base.
|
|
161
|
+
*
|
|
162
|
+
* @param folder - the importing module's folder.
|
|
163
|
+
* @param pattern - the pattern as the import writes it.
|
|
164
|
+
*/
|
|
165
|
+
const filesId = (folder, pattern) => {
|
|
166
|
+
const segments = pattern.split("/");
|
|
167
|
+
const firstOwn = segments.findIndex((segment) => segment !== "." && segment !== "..");
|
|
168
|
+
const climbed = firstOwn === -1 ? segments : segments.slice(0, firstOwn);
|
|
169
|
+
const own = firstOwn === -1 ? [] : segments.slice(firstOwn);
|
|
170
|
+
return `${FILES_PREFIX}${resolve(folder, ...climbed)}${FILES_SEPARATOR}${own.join("/")}`;
|
|
171
|
+
};
|
|
154
172
|
/**
|
|
155
173
|
* The module of a `?forgebook-files` pattern: every matched story file's index and loaders.
|
|
156
174
|
*
|
|
157
175
|
* @param id - the module's id (`FILES_PREFIX`, the importer's folder, `FILES_SEPARATOR`, the pattern).
|
|
158
176
|
* @param watch - adds a file whose edit renews the module (each story file).
|
|
159
177
|
* @param warm - builds the program that holds a story file, so the package's docs are ready before a page asks.
|
|
178
|
+
* @param hasUsage - whether the group offers its "Used in" loader.
|
|
160
179
|
* @throws when a story file cannot be indexed.
|
|
161
180
|
*/
|
|
162
|
-
const patternModule = (id, watch, warm) => {
|
|
181
|
+
const patternModule = (id, watch, warm, hasUsage) => {
|
|
163
182
|
const [root = "", pattern = ""] = id.slice(FILES_PREFIX.length).split(FILES_SEPARATOR);
|
|
164
183
|
let first;
|
|
165
184
|
const code = storyFilesModule(root, pattern, (file) => {
|
|
166
185
|
first ??= file;
|
|
167
186
|
watch(file);
|
|
168
|
-
});
|
|
187
|
+
}, hasUsage);
|
|
169
188
|
if (first !== undefined)
|
|
170
189
|
warm(first);
|
|
171
190
|
return { code, moduleType: "js" };
|
|
172
191
|
};
|
|
192
|
+
/** The resolved id of a group's "Used in" module: Rollup's mark of a virtual module, then its import's specifier. */
|
|
193
|
+
const USAGE_ID_PREFIX = `\0${USAGE_PREFIX}`;
|
|
194
|
+
/**
|
|
195
|
+
* The id of a virtual module the plugin makes (the configuration's data, a group's "Used in"), when the import names
|
|
196
|
+
* one.
|
|
197
|
+
*
|
|
198
|
+
* @param source - the import's specifier.
|
|
199
|
+
*/
|
|
200
|
+
const virtualId = (source) => {
|
|
201
|
+
if (source === CONFIG_MODULE)
|
|
202
|
+
return CONFIG_ID;
|
|
203
|
+
return source.startsWith(USAGE_PREFIX) ? `\0${source}` : undefined;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* A group's "Used in" module: its story files indexed, what their stories render read in the docs worker, joined.
|
|
207
|
+
*
|
|
208
|
+
* @param id - the module's id (`USAGE_ID_PREFIX`, the pattern's folder, `USAGE_SEPARATOR`, the pattern).
|
|
209
|
+
* @param watch - adds a file whose edit renews the module (each story file).
|
|
210
|
+
* @param usage - reads the facts in the docs worker.
|
|
211
|
+
*/
|
|
212
|
+
const usageModule = async (id, watch, usage) => {
|
|
213
|
+
const [root = "", pattern = ""] = id.slice(USAGE_ID_PREFIX.length).split(USAGE_SEPARATOR);
|
|
214
|
+
const files = indexedStoryFiles(root, pattern, watch);
|
|
215
|
+
const graph = await usage(files.map((file) => ({
|
|
216
|
+
storyFile: file.file,
|
|
217
|
+
exports: file.index.stories.map((story) => story.exportName)
|
|
218
|
+
})));
|
|
219
|
+
const answer = typeof graph === "string"
|
|
220
|
+
? { error: graph }
|
|
221
|
+
: joinedUsage(graph, files.map((file) => ({
|
|
222
|
+
storyFile: file.file,
|
|
223
|
+
title: file.index.title,
|
|
224
|
+
related: file.index.related ?? []
|
|
225
|
+
})));
|
|
226
|
+
return { code: `export default ${JSON.stringify(answer)};`, moduleType: "js" };
|
|
227
|
+
};
|
|
173
228
|
/** The resolved id of the configuration's data module. */
|
|
174
229
|
const CONFIG_ID = `\0${CONFIG_MODULE}`;
|
|
175
230
|
/**
|
|
@@ -228,6 +283,10 @@ const generatedModule = (id, config) => {
|
|
|
228
283
|
export const forgebookPlugin = (options = {}) => {
|
|
229
284
|
/** The modules of the patterns, renewed when a story file is added or removed. */
|
|
230
285
|
const filesModules = new Set();
|
|
286
|
+
/** The groups' "Used in" modules, renewed when a source file changes: any edit may change what reaches what. */
|
|
287
|
+
const usageModules = new Set();
|
|
288
|
+
/** The errors the open frames report, for `forgebook errors` and the agents. */
|
|
289
|
+
const live = createLiveErrors();
|
|
231
290
|
let config = options.config;
|
|
232
291
|
// the docs are read in a worker, made once the framework is known: a package's TypeScript program takes seconds to
|
|
233
292
|
// build and would hold every other answer of the dev server meanwhile
|
|
@@ -239,6 +298,40 @@ export const forgebookPlugin = (options = {}) => {
|
|
|
239
298
|
docs ??= createDocsExtractor(framework.docsModule);
|
|
240
299
|
return docs;
|
|
241
300
|
};
|
|
301
|
+
/**
|
|
302
|
+
* Renews what an edited source file may change: the docs' programs, and every group's "Used in".
|
|
303
|
+
*
|
|
304
|
+
* @param server - the dev server.
|
|
305
|
+
* @param file - the edited file.
|
|
306
|
+
*/
|
|
307
|
+
const renewOnChange = (server, file) => {
|
|
308
|
+
if (!SOURCE_FILE.test(file))
|
|
309
|
+
return;
|
|
310
|
+
docs?.changed();
|
|
311
|
+
const graph = server.environments.client.moduleGraph;
|
|
312
|
+
for (const id of usageModules) {
|
|
313
|
+
const module = graph.getModuleById(id);
|
|
314
|
+
if (module !== undefined)
|
|
315
|
+
graph.invalidateModule(module);
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* A pattern's module or a group's "Used in" module, when the id is one.
|
|
320
|
+
*
|
|
321
|
+
* @param id - the module's id.
|
|
322
|
+
* @param watch - adds a file whose edit renews the module.
|
|
323
|
+
* @throws when a story file cannot be indexed.
|
|
324
|
+
*/
|
|
325
|
+
const storiesModule = async (id, watch) => {
|
|
326
|
+
if (id.startsWith(USAGE_ID_PREFIX)) {
|
|
327
|
+
usageModules.add(id);
|
|
328
|
+
return usageModule(id, watch, extractor().usage);
|
|
329
|
+
}
|
|
330
|
+
if (!id.startsWith(FILES_PREFIX))
|
|
331
|
+
return undefined;
|
|
332
|
+
filesModules.add(id);
|
|
333
|
+
return patternModule(id, watch, extractor().warm, config?.lists.usedIn !== false);
|
|
334
|
+
};
|
|
242
335
|
const pagePath = (page) => config === undefined ? undefined : join(config.dir, page);
|
|
243
336
|
const entryPath = (page) => config === undefined ? undefined : join(config.dir, PAGE_ENTRIES[page]);
|
|
244
337
|
const storiesSource = () => config === undefined ? undefined : join(config.dir, STORIES_SOURCE_FILE);
|
|
@@ -296,8 +389,9 @@ export const forgebookPlugin = (options = {}) => {
|
|
|
296
389
|
};
|
|
297
390
|
},
|
|
298
391
|
resolveId(source, importer) {
|
|
299
|
-
|
|
300
|
-
|
|
392
|
+
const virtual = virtualId(source);
|
|
393
|
+
if (virtual !== undefined)
|
|
394
|
+
return virtual;
|
|
301
395
|
const entry = PAGE_FILES.find((page) => source === `/${PAGE_ENTRIES[page]}` || source === entryPath(page));
|
|
302
396
|
if (entry !== undefined)
|
|
303
397
|
return entryPath(entry) ?? null;
|
|
@@ -308,18 +402,19 @@ export const forgebookPlugin = (options = {}) => {
|
|
|
308
402
|
return pagePath(page) ?? null;
|
|
309
403
|
if (!source.endsWith(FILES_QUERY) || importer === undefined)
|
|
310
404
|
return null;
|
|
311
|
-
return
|
|
405
|
+
return filesId(dirname(importer), source.slice(0, -FILES_QUERY.length));
|
|
312
406
|
},
|
|
313
407
|
configureServer: (server) => {
|
|
314
408
|
server.httpServer?.on("close", () => void docs?.close());
|
|
315
409
|
// an edited component or type file changes its docs: the worker renews its programs on their next read
|
|
316
|
-
server.watcher.on("change", (file) =>
|
|
317
|
-
if (SOURCE_FILE.test(file))
|
|
318
|
-
docs?.changed();
|
|
319
|
-
});
|
|
410
|
+
server.watcher.on("change", (file) => renewOnChange(server, file));
|
|
320
411
|
// the answers to tools and agents (`forgebook stories`, `forgebook mcp`), from the same sources as the pages
|
|
321
412
|
if (config !== undefined)
|
|
322
|
-
server.middlewares.use(agentMiddleware(server, config));
|
|
413
|
+
server.middlewares.use(agentMiddleware(server, config, live));
|
|
414
|
+
server.ws.on(LIVE_ERROR_EVENT, (report) => {
|
|
415
|
+
if (isLiveErrorReport(report))
|
|
416
|
+
live.add(report, new Date());
|
|
417
|
+
});
|
|
323
418
|
// the catalogue's pages, made here: no HTML file is written
|
|
324
419
|
server.middlewares.use((request, response, next) => {
|
|
325
420
|
const page = requestedPage(request.url ?? "/");
|
|
@@ -343,7 +438,8 @@ export const forgebookPlugin = (options = {}) => {
|
|
|
343
438
|
if (!STORY_FILE.test(file))
|
|
344
439
|
return;
|
|
345
440
|
const graph = server.environments.client.moduleGraph;
|
|
346
|
-
|
|
441
|
+
// the patterns' modules list the files; the groups' "Used in" read them
|
|
442
|
+
for (const id of [...filesModules, ...usageModules]) {
|
|
347
443
|
const module = graph.getModuleById(id);
|
|
348
444
|
if (module !== undefined)
|
|
349
445
|
graph.invalidateModule(module);
|
|
@@ -367,11 +463,8 @@ export const forgebookPlugin = (options = {}) => {
|
|
|
367
463
|
});
|
|
368
464
|
if (answered !== undefined)
|
|
369
465
|
return answered;
|
|
370
|
-
if (!id.startsWith(FILES_PREFIX))
|
|
371
|
-
return null;
|
|
372
|
-
filesModules.add(id);
|
|
373
466
|
try {
|
|
374
|
-
return
|
|
467
|
+
return (await storiesModule(id, watch)) ?? null;
|
|
375
468
|
}
|
|
376
469
|
catch (error) {
|
|
377
470
|
this.error(error instanceof Error ? error.message : String(error));
|