@aussieljk/forkbook 0.0.0-stage → 0.0.1-2
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/LICENSE +22 -0
- package/README.md +77 -2
- package/assets/addon-vitest/templates/vitest.config.4.template.ts +36 -0
- package/assets/browser/favicon-wrapper.svg +46 -0
- package/assets/browser/favicon.svg +1 -0
- package/assets/browser/nunito-sans-bold-italic.woff2 +0 -0
- package/assets/browser/nunito-sans-bold.woff2 +0 -0
- package/assets/browser/nunito-sans-italic.woff2 +0 -0
- package/assets/browser/nunito-sans-regular.woff2 +0 -0
- package/assets/builder-vite/iframe.html +99 -0
- package/assets/create/rendererAssets/.eslintrc.json +16 -0
- package/assets/create/rendererAssets/common/Configure.mdx +388 -0
- package/assets/create/rendererAssets/common/assets/accessibility.png +0 -0
- package/assets/create/rendererAssets/common/assets/accessibility.svg +1 -0
- package/assets/create/rendererAssets/common/assets/addon-library.png +0 -0
- package/assets/create/rendererAssets/common/assets/assets.png +0 -0
- package/assets/create/rendererAssets/common/assets/avif-test-image.avif +0 -0
- package/assets/create/rendererAssets/common/assets/context.png +0 -0
- package/assets/create/rendererAssets/common/assets/discord.svg +1 -0
- package/assets/create/rendererAssets/common/assets/docs.png +0 -0
- package/assets/create/rendererAssets/common/assets/figma-plugin.png +0 -0
- package/assets/create/rendererAssets/common/assets/github.svg +1 -0
- package/assets/create/rendererAssets/common/assets/share.png +0 -0
- package/assets/create/rendererAssets/common/assets/styling.png +0 -0
- package/assets/create/rendererAssets/common/assets/testing.png +0 -0
- package/assets/create/rendererAssets/common/assets/theming.png +0 -0
- package/assets/create/rendererAssets/common/assets/tutorials.svg +1 -0
- package/assets/create/rendererAssets/common/assets/youtube.svg +1 -0
- package/assets/create/rendererAssets/common/button.css +30 -0
- package/assets/create/rendererAssets/common/header.css +32 -0
- package/assets/create/rendererAssets/common/page.css +68 -0
- package/assets/create/templates/react-native/index.expo.js +20 -0
- package/assets/create/templates/react-native/index.js +25 -0
- package/assets/docs/addon-backgrounds.gif +0 -0
- package/assets/docs/addon-controls-args-annotated.png +0 -0
- package/assets/docs/addon-controls-args-background-color.png +0 -0
- package/assets/docs/addon-controls-args-background-string.png +0 -0
- package/assets/docs/addon-controls-args-docs.png +0 -0
- package/assets/docs/addon-controls-args-logging.png +0 -0
- package/assets/docs/addon-controls-args-no-annotation.png +0 -0
- package/assets/docs/addon-controls-args-reflow-slider.png +0 -0
- package/assets/docs/addon-controls-args-reflow.png +0 -0
- package/assets/docs/addon-controls-args-template.png +0 -0
- package/assets/docs/addon-controls-expanded.png +0 -0
- package/assets/docs/addon-controls-hero.gif +0 -0
- package/assets/docs/addon-controls-install.png +0 -0
- package/assets/docs/hero.gif +0 -0
- package/assets/docs/highlight.png +0 -0
- package/assets/docs/message-reference.png +0 -0
- package/assets/docs/viewport.png +0 -0
- package/assets/react-native/metro-env.d.ts +69 -0
- package/assets/server/addon.tsconfig.json +6 -0
- package/assets/server/base-preview-body.html +116 -0
- package/assets/server/base-preview-head.html +494 -0
- package/assets/server/openBrowser.applescript +94 -0
- package/assets/server/template.ejs +87 -0
- package/dist/.build-stamp +0 -0
- package/dist/_browser-chunks/Color-PCLE2J36.js +1025 -0
- package/dist/_browser-chunks/DocsRenderer-JXND3PVQ.js +10 -0
- package/dist/_browser-chunks/WithTooltip-XSQFTBMB.js +1619 -0
- package/dist/_browser-chunks/chunk-2JDQ35OA.js +247 -0
- package/dist/_browser-chunks/chunk-2JT76G3E.js +104 -0
- package/dist/_browser-chunks/chunk-2MEPHP35.js +17 -0
- package/dist/_browser-chunks/chunk-2SCZVUKW.js +24 -0
- package/dist/_browser-chunks/chunk-46Z7NGAS.js +41 -0
- package/dist/_browser-chunks/chunk-4ATQOMJB.js +30 -0
- package/dist/_browser-chunks/chunk-52CW7FF7.js +49 -0
- package/dist/_browser-chunks/chunk-5I7E4GMO.js +62 -0
- package/dist/_browser-chunks/chunk-5P4QA6MY.js +20 -0
- package/dist/_browser-chunks/chunk-5WMXI5GW.js +816 -0
- package/dist/_browser-chunks/chunk-66OCZ54D.js +2604 -0
- package/dist/_browser-chunks/chunk-6SXYJQST.js +253 -0
- package/dist/_browser-chunks/chunk-AYRF6EJB.js +36 -0
- package/dist/_browser-chunks/chunk-B4AUNNU4.js +156 -0
- package/dist/_browser-chunks/chunk-BCP2FFXF.js +369 -0
- package/dist/_browser-chunks/chunk-C3D4HEFY.js +3396 -0
- package/dist/_browser-chunks/chunk-CFAOWGL7.js +43 -0
- package/dist/_browser-chunks/chunk-CFWWCCZV.js +223 -0
- package/dist/_browser-chunks/chunk-CNED6RYH.js +18 -0
- package/dist/_browser-chunks/chunk-DRQKCCAG.js +136 -0
- package/dist/_browser-chunks/chunk-ECQ75MKQ.js +0 -0
- package/dist/_browser-chunks/chunk-EIYAKDGP.js +302 -0
- package/dist/_browser-chunks/chunk-ENKK74N4.js +12 -0
- package/dist/_browser-chunks/chunk-FENFYI4X.js +698 -0
- package/dist/_browser-chunks/chunk-FJGWSWL5.js +155 -0
- package/dist/_browser-chunks/chunk-FVSEPWWX.js +2810 -0
- package/dist/_browser-chunks/chunk-GNZY6LOW.js +10116 -0
- package/dist/_browser-chunks/chunk-IE4ULIOQ.js +14 -0
- package/dist/_browser-chunks/chunk-IMSF75WX.js +42 -0
- package/dist/_browser-chunks/chunk-IWQGIXJS.js +14 -0
- package/dist/_browser-chunks/chunk-JMC7AIKT.js +108 -0
- package/dist/_browser-chunks/chunk-JPUOQJUI.js +8 -0
- package/dist/_browser-chunks/chunk-JSBKXXXF.js +218 -0
- package/dist/_browser-chunks/chunk-JWSKPMPC.js +73 -0
- package/dist/_browser-chunks/chunk-JYVGARBG.js +2943 -0
- package/dist/_browser-chunks/chunk-KBK7GKBN.js +35 -0
- package/dist/_browser-chunks/chunk-KQ7CRO2B.js +108 -0
- package/dist/_browser-chunks/chunk-LAWXTSXK.js +18 -0
- package/dist/_browser-chunks/chunk-LE2LTDW3.js +14 -0
- package/dist/_browser-chunks/chunk-LEVSOOLQ.js +48 -0
- package/dist/_browser-chunks/chunk-LV5PIKV4.js +93 -0
- package/dist/_browser-chunks/chunk-MDOL7KML.js +56 -0
- package/dist/_browser-chunks/chunk-MFMDGWP6.js +34 -0
- package/dist/_browser-chunks/chunk-MLBOOZL4.js +67 -0
- package/dist/_browser-chunks/chunk-NQUD4B7H.js +91 -0
- package/dist/_browser-chunks/chunk-NULBREPZ.js +43 -0
- package/dist/_browser-chunks/chunk-NZMVUW5T.js +7 -0
- package/dist/_browser-chunks/chunk-OD6IBQCC.js +117 -0
- package/dist/_browser-chunks/chunk-ODVJ3XZJ.js +157 -0
- package/dist/_browser-chunks/chunk-OQWFVDIN.js +386 -0
- package/dist/_browser-chunks/chunk-OVH3USFB.js +20 -0
- package/dist/_browser-chunks/chunk-OZZPSYQR.js +14 -0
- package/dist/_browser-chunks/chunk-P6PK47TQ.js +1970 -0
- package/dist/_browser-chunks/chunk-PFRNG3UC.js +22 -0
- package/dist/_browser-chunks/chunk-PJSMZ27A.js +13 -0
- package/dist/_browser-chunks/chunk-QC4HFS6K.js +41 -0
- package/dist/_browser-chunks/chunk-QDXFODK4.js +274 -0
- package/dist/_browser-chunks/chunk-RBCHTR7C.js +28 -0
- package/dist/_browser-chunks/chunk-RMYQ3QN3.js +294 -0
- package/dist/_browser-chunks/chunk-RNTIV5CE.js +411 -0
- package/dist/_browser-chunks/chunk-RSPAQWVJ.js +80 -0
- package/dist/_browser-chunks/chunk-S6TK43XQ.js +836 -0
- package/dist/_browser-chunks/chunk-SC67XZST.js +18 -0
- package/dist/_browser-chunks/chunk-SFVA4SBT.js +683 -0
- package/dist/_browser-chunks/chunk-SZYFOQMT.js +25 -0
- package/dist/_browser-chunks/chunk-TBJCJXK4.js +18 -0
- package/dist/_browser-chunks/chunk-UMDO3KB7.js +205 -0
- package/dist/_browser-chunks/chunk-V2G23FV7.js +11 -0
- package/dist/_browser-chunks/chunk-V5M7Q4HT.js +88 -0
- package/dist/_browser-chunks/chunk-W5M6NPS3.js +198 -0
- package/dist/_browser-chunks/chunk-W7NE2JXW.js +84 -0
- package/dist/_browser-chunks/chunk-WGVAAM43.js +1110 -0
- package/dist/_browser-chunks/chunk-WHQRNHXD.js +8 -0
- package/dist/_browser-chunks/chunk-WOSOWBCA.js +12 -0
- package/dist/_browser-chunks/chunk-WZ7KR7SH.js +85 -0
- package/dist/_browser-chunks/chunk-YEKO6BHJ.js +20 -0
- package/dist/_browser-chunks/chunk-YI2IBIQS.js +7 -0
- package/dist/_browser-chunks/chunk-YTIT5NA5.js +1966 -0
- package/dist/_browser-chunks/chunk-ZEHRUHTA.js +6 -0
- package/dist/_browser-chunks/chunk-ZTQ5MEJ5.js +203 -0
- package/dist/_browser-chunks/matchers-YLBYSYAF.js +1263 -0
- package/dist/_browser-chunks/react-dom-client-4OHE3QDV.js +9 -0
- package/dist/_node-chunks/attached-runtime-I2G4WLJI.js +282 -0
- package/dist/_node-chunks/builder-manager-VVHYQXCH.js +1661 -0
- package/dist/_node-chunks/chunk-2BUPBPFB.js +82 -0
- package/dist/_node-chunks/chunk-2DSIDINN.js +884 -0
- package/dist/_node-chunks/chunk-2RU7BKEW.js +23 -0
- package/dist/_node-chunks/chunk-34EO2PUT.js +26 -0
- package/dist/_node-chunks/chunk-3BKIBF5S.js +3008 -0
- package/dist/_node-chunks/chunk-3SDUYDXH.js +98 -0
- package/dist/_node-chunks/chunk-3T4ZSNPH.js +662 -0
- package/dist/_node-chunks/chunk-3W7F2B7P.js +79 -0
- package/dist/_node-chunks/chunk-3Y6AAY5H.js +80 -0
- package/dist/_node-chunks/chunk-42UWAGPW.js +1193 -0
- package/dist/_node-chunks/chunk-4FEANXWU.js +1986 -0
- package/dist/_node-chunks/chunk-5DQFEZEA.js +40 -0
- package/dist/_node-chunks/chunk-6KEHV53S.js +1218 -0
- package/dist/_node-chunks/chunk-6LMWA44H.js +3837 -0
- package/dist/_node-chunks/chunk-6YKBRP72.js +20 -0
- package/dist/_node-chunks/chunk-7GUDZVRQ.js +110 -0
- package/dist/_node-chunks/chunk-B5J7Q7J4.js +21 -0
- package/dist/_node-chunks/chunk-BS2WMZMR.js +90 -0
- package/dist/_node-chunks/chunk-BSKFCWQD.js +47 -0
- package/dist/_node-chunks/chunk-BXVYT7SB.js +36 -0
- package/dist/_node-chunks/chunk-CCOTJ4FC.js +688 -0
- package/dist/_node-chunks/chunk-CQKMLL5J.js +33 -0
- package/dist/_node-chunks/chunk-CXRU72ET.js +63 -0
- package/dist/_node-chunks/chunk-DC7DKR5K.js +20 -0
- package/dist/_node-chunks/chunk-DHJFTB4K.js +25 -0
- package/dist/_node-chunks/chunk-DUR55DJJ.js +1094 -0
- package/dist/_node-chunks/chunk-E6YESGLX.js +7032 -0
- package/dist/_node-chunks/chunk-EHUNOMDD.js +52345 -0
- package/dist/_node-chunks/chunk-ET7PWEO7.js +298 -0
- package/dist/_node-chunks/chunk-EWOX7HPJ.js +20 -0
- package/dist/_node-chunks/chunk-F3ZFKBHY.js +844 -0
- package/dist/_node-chunks/chunk-FK7KGTV7.js +26 -0
- package/dist/_node-chunks/chunk-FPZB5OI7.js +35 -0
- package/dist/_node-chunks/chunk-FW2HQUBQ.js +25 -0
- package/dist/_node-chunks/chunk-FY6UXW6G.js +11 -0
- package/dist/_node-chunks/chunk-GEFQN7K3.js +499 -0
- package/dist/_node-chunks/chunk-GRBLDJCR.js +989 -0
- package/dist/_node-chunks/chunk-H32DYT6P.js +87 -0
- package/dist/_node-chunks/chunk-H4PPVMP5.js +23 -0
- package/dist/_node-chunks/chunk-HMP2G23X.js +25 -0
- package/dist/_node-chunks/chunk-ICPBH3E7.js +59 -0
- package/dist/_node-chunks/chunk-IDEL2J23.js +23 -0
- package/dist/_node-chunks/chunk-IK4FGZLR.js +223 -0
- package/dist/_node-chunks/chunk-JDXXX6LB.js +68 -0
- package/dist/_node-chunks/chunk-JGGFYIG5.js +5468 -0
- package/dist/_node-chunks/chunk-JPAZLYJ3.js +29 -0
- package/dist/_node-chunks/chunk-JZOO7GGC.js +48 -0
- package/dist/_node-chunks/chunk-KISMCCP5.js +4744 -0
- package/dist/_node-chunks/chunk-LCK4ZQKG.js +115 -0
- package/dist/_node-chunks/chunk-LO56I6E2.js +132 -0
- package/dist/_node-chunks/chunk-LXBD4UL4.js +104 -0
- package/dist/_node-chunks/chunk-MA24JW6C.js +7162 -0
- package/dist/_node-chunks/chunk-MK2KYAI6.js +5414 -0
- package/dist/_node-chunks/chunk-NDWKJ4CL.js +2102 -0
- package/dist/_node-chunks/chunk-NIBT7XDZ.js +168 -0
- package/dist/_node-chunks/chunk-NPO45IMH.js +33 -0
- package/dist/_node-chunks/chunk-OISX4AGQ.js +414 -0
- package/dist/_node-chunks/chunk-OUW6R7C3.js +26 -0
- package/dist/_node-chunks/chunk-OWNFOGTA.js +194 -0
- package/dist/_node-chunks/chunk-Q7QNUM5H.js +49 -0
- package/dist/_node-chunks/chunk-QEQLR22M.js +1877 -0
- package/dist/_node-chunks/chunk-RRN2V55B.js +45 -0
- package/dist/_node-chunks/chunk-RWFIFGO5.js +144 -0
- package/dist/_node-chunks/chunk-RXNJDRGO.js +209 -0
- package/dist/_node-chunks/chunk-RZMQ7S3L.js +92 -0
- package/dist/_node-chunks/chunk-SIEXZVCR.js +51 -0
- package/dist/_node-chunks/chunk-SLWQNBGO.js +2034 -0
- package/dist/_node-chunks/chunk-SVTBJ7Q3.js +35 -0
- package/dist/_node-chunks/chunk-SWO5CDYU.js +32 -0
- package/dist/_node-chunks/chunk-TD5PLLQG.js +121 -0
- package/dist/_node-chunks/chunk-TEQGGSP7.js +33 -0
- package/dist/_node-chunks/chunk-TFCEV2XX.js +155 -0
- package/dist/_node-chunks/chunk-TFEWM4E3.js +1073 -0
- package/dist/_node-chunks/chunk-TINO74G5.js +21 -0
- package/dist/_node-chunks/chunk-TNJIXE37.js +40 -0
- package/dist/_node-chunks/chunk-TWI4GVH7.js +19 -0
- package/dist/_node-chunks/chunk-U5W53R2J.js +1011 -0
- package/dist/_node-chunks/chunk-UBOGWBEA.js +148 -0
- package/dist/_node-chunks/chunk-UMUBKI6E.js +3787 -0
- package/dist/_node-chunks/chunk-UVINFLGY.js +56 -0
- package/dist/_node-chunks/chunk-V2DY426G.js +1133 -0
- package/dist/_node-chunks/chunk-VLOXOXXE.js +45 -0
- package/dist/_node-chunks/chunk-W4OMYLSP.js +1297 -0
- package/dist/_node-chunks/chunk-WAXVSN3O.js +18 -0
- package/dist/_node-chunks/chunk-WCULS5TP.js +3767 -0
- package/dist/_node-chunks/chunk-WNZ2UMFM.js +153 -0
- package/dist/_node-chunks/chunk-WZJF2OUH.js +74 -0
- package/dist/_node-chunks/chunk-XGIUVY52.js +611 -0
- package/dist/_node-chunks/chunk-XHL2LVBM.js +415 -0
- package/dist/_node-chunks/chunk-XI6B6P47.js +59 -0
- package/dist/_node-chunks/chunk-XLP2ZKXV.js +60 -0
- package/dist/_node-chunks/chunk-YCMRA6RX.js +95 -0
- package/dist/_node-chunks/chunk-YZFWBA5L.js +2700 -0
- package/dist/_node-chunks/chunk-ZMAMXQKP.js +4731 -0
- package/dist/_node-chunks/chunk-ZWBCQ4MJ.js +110 -0
- package/dist/_node-chunks/dist-VTSTZKUB.js +16 -0
- package/dist/_node-chunks/globby-OEMHPBFY.js +2884 -0
- package/dist/_node-chunks/jiti-NFX6UU74.js +3848 -0
- package/dist/_node-chunks/lib-MDVARD7W.js +366 -0
- package/dist/_node-chunks/local-runtime-NTKIN2QT.js +78 -0
- package/dist/_node-chunks/mdx-plugin-MWISDWDQ.js +5680 -0
- package/dist/_node-chunks/monorepo-LIRFMQXE.js +121 -0
- package/dist/_node-chunks/monorepo-optimized-tests-relaxed-limits-no-story-deletion-CPDW4XTW.js +121 -0
- package/dist/_node-chunks/optimized-tests-HDOLR3EY.js +22 -0
- package/dist/_node-chunks/pattern-copy-play-EKHIUAU2.js +807 -0
- package/dist/_node-chunks/postinstallAddon-GYGMWDL6.js +20 -0
- package/dist/_node-chunks/rehype-external-links-BUN3HUCO.js +121 -0
- package/dist/_node-chunks/rehype-slug-PLADX223.js +52 -0
- package/dist/_node-chunks/relaxed-limits-GBHW6KIQ.js +117 -0
- package/dist/_node-chunks/run-KDTIZNSY.js +103 -0
- package/dist/_node-chunks/run-NL66VTNR.js +4532 -0
- package/dist/_node-chunks/session-id-KIIVOQLR.js +23 -0
- package/dist/_node-chunks/setup-MGC7BQO6.js +278 -0
- package/dist/_node-chunks/vitest.config.4.template-JH2THZFG.js +54 -0
- package/dist/actions/decorator.d.ts +7 -0
- package/dist/actions/decorator.js +43 -0
- package/dist/actions/index.d.ts +67 -0
- package/dist/actions/index.js +28 -0
- package/dist/addon-a11y/index.d.ts +52 -0
- package/dist/addon-a11y/index.js +16 -0
- package/dist/addon-a11y/manager.js +1429 -0
- package/dist/addon-a11y/preset.js +18 -0
- package/dist/addon-a11y/preview.d.ts +17 -0
- package/dist/addon-a11y/preview.js +15 -0
- package/dist/addon-docs/blocks.d.ts +1061 -0
- package/dist/addon-docs/blocks.js +2461 -0
- package/dist/addon-docs/index.d.ts +236 -0
- package/dist/addon-docs/index.js +16 -0
- package/dist/addon-docs/manager.js +90 -0
- package/dist/addon-docs/mdx-react-shim.d.ts +1 -0
- package/dist/addon-docs/mdx-react-shim.js +2 -0
- package/dist/addon-docs/preset.js +378 -0
- package/dist/addon-docs/preview.d.ts +4 -0
- package/dist/addon-docs/preview.js +7 -0
- package/dist/addon-links/index.d.ts +22 -0
- package/dist/addon-links/index.js +20 -0
- package/dist/addon-links/manager.js +14 -0
- package/dist/addon-links/preview.d.ts +6 -0
- package/dist/addon-links/preview.js +9 -0
- package/dist/addon-links/react/index.d.ts +25 -0
- package/dist/addon-links/react/index.js +52 -0
- package/dist/addon-mcp/preset.js +1345 -0
- package/dist/addon-mcp/preview.js +29 -0
- package/dist/addon-mcp/tools/preview-stories/preview-stories-app-script.js +1153 -0
- package/dist/addon-ondevice-actions/index.d.ts +4 -0
- package/dist/addon-ondevice-actions/index.js +7 -0
- package/dist/addon-ondevice-actions/register.js +7 -0
- package/dist/addon-ondevice-controls/index.d.ts +6 -0
- package/dist/addon-ondevice-controls/index.js +14 -0
- package/dist/addon-ondevice-controls/register.js +10 -0
- package/dist/addon-pseudo-states/index.d.ts +35 -0
- package/dist/addon-pseudo-states/index.js +15 -0
- package/dist/addon-pseudo-states/manager.js +53 -0
- package/dist/addon-pseudo-states/preview.d.ts +9 -0
- package/dist/addon-pseudo-states/preview.js +10 -0
- package/dist/addon-themes/index.d.ts +80 -0
- package/dist/addon-themes/index.js +104 -0
- package/dist/addon-themes/manager.js +97 -0
- package/dist/addon-themes/postinstall.js +33 -0
- package/dist/addon-themes/preview.d.ts +6 -0
- package/dist/addon-themes/preview.js +8 -0
- package/dist/addon-vitest/constants.d.ts +132 -0
- package/dist/addon-vitest/constants.js +66 -0
- package/dist/addon-vitest/index.d.ts +4 -0
- package/dist/addon-vitest/index.js +8 -0
- package/dist/addon-vitest/manager.js +665 -0
- package/dist/addon-vitest/node/coverage-reporter.js +1284 -0
- package/dist/addon-vitest/node/vitest.js +674 -0
- package/dist/addon-vitest/postinstall.js +24 -0
- package/dist/addon-vitest/preset.js +943 -0
- package/dist/addon-vitest/vitest-plugin/global-setup.js +162 -0
- package/dist/addon-vitest/vitest-plugin/index.d.ts +56 -0
- package/dist/addon-vitest/vitest-plugin/index.js +463 -0
- package/dist/addon-vitest/vitest-plugin/setup-file-with-project-annotations.js +9 -0
- package/dist/addon-vitest/vitest-plugin/setup-file.browser.4.js +20 -0
- package/dist/addon-vitest/vitest-plugin/setup-file.js +50 -0
- package/dist/addon-vitest/vitest-plugin/test-utils.js +128 -0
- package/dist/babel/index.d.ts +2301 -0
- package/dist/babel/index.js +61 -0
- package/dist/backgrounds/index.d.ts +6 -0
- package/dist/backgrounds/index.js +15 -0
- package/dist/bin/core.js +1705 -0
- package/dist/bin/dispatcher.js +43 -0
- package/dist/bin/loader.js +115 -0
- package/dist/builder-vite/index.d.ts +50 -0
- package/dist/builder-vite/index.js +245 -0
- package/dist/builder-vite/preset.js +27 -0
- package/dist/channels/index.d.ts +2 -0
- package/dist/channels/index.js +352 -0
- package/dist/chunk-B2t1tGRh.d.ts +284 -0
- package/dist/chunk-BCoJQE-f.d.ts +602 -0
- package/dist/chunk-BGkgZp-H.d.ts +214 -0
- package/dist/chunk-BTVrWliM.d.ts +115 -0
- package/dist/chunk-BXLImeLy.d.ts +197 -0
- package/dist/chunk-BfBzpgct.d.ts +916 -0
- package/dist/chunk-Bpi2tz-6.d.ts +511 -0
- package/dist/chunk-BxWufQms.d.ts +142 -0
- package/dist/chunk-C-bavsOH.d.ts +34 -0
- package/dist/chunk-C2p5r3Vt.d.ts +13001 -0
- package/dist/chunk-C6PAgHLT.d.ts +12 -0
- package/dist/chunk-CMeX4WRe.d.ts +179 -0
- package/dist/chunk-Ct9xd6IM.d.ts +65 -0
- package/dist/chunk-CwQKNaYL.d.ts +15 -0
- package/dist/chunk-D7DwV41f.d.ts +3622 -0
- package/dist/chunk-DEVFdzxR.d.ts +253 -0
- package/dist/chunk-DaVb55-_.d.ts +124 -0
- package/dist/chunk-DgRNfmj_.d.ts +40 -0
- package/dist/chunk-DoIGKY33.d.ts +666 -0
- package/dist/chunk-Dr3R0DXk.d.ts +40 -0
- package/dist/chunk-DtHByo32.d.ts +55 -0
- package/dist/chunk-Dw1z1Pki.d.ts +933 -0
- package/dist/chunk-DzuY9DXg.d.ts +79 -0
- package/dist/chunk-FjDVzZTj.d.ts +62 -0
- package/dist/chunk-Kt1tW-D1.d.ts +59 -0
- package/dist/chunk-XP8oHzpE.d.ts +6 -0
- package/dist/chunk-gCX81nOr.d.ts +61 -0
- package/dist/chunk-pcFXCimE.d.ts +741 -0
- package/dist/cli/index.d.ts +1174 -0
- package/dist/cli/index.js +5613 -0
- package/dist/cli/skills/content/index.d.ts +72 -0
- package/dist/cli/skills/content/index.js +335 -0
- package/dist/cli/tools/sdk/child-host.d.ts +61 -0
- package/dist/cli/tools/sdk/child-host.js +131 -0
- package/dist/cli/tools/sdk/index.d.ts +137 -0
- package/dist/cli/tools/sdk/index.js +44 -0
- package/dist/cli-commands/bin/index.js +25 -0
- package/dist/client-logger/index.d.ts +31 -0
- package/dist/client-logger/index.js +63 -0
- package/dist/common/index.d.ts +1103 -0
- package/dist/common/index.js +364 -0
- package/dist/components/index.d.ts +1924 -0
- package/dist/components/index.js +13759 -0
- package/dist/core-events/index.d.ts +155 -0
- package/dist/core-events/index.js +136 -0
- package/dist/core-server/index.d.ts +2200 -0
- package/dist/core-server/index.js +4165 -0
- package/dist/core-server/presets/common-manager.css +170 -0
- package/dist/core-server/presets/common-manager.js +4168 -0
- package/dist/core-server/presets/common-override-preset.js +81 -0
- package/dist/core-server/presets/common-preset.js +2187 -0
- package/dist/create/bin/index.js +23 -0
- package/dist/create/index.js +25 -0
- package/dist/csf/csf-utils.d.ts +2 -0
- package/dist/csf/csf-utils.js +19 -0
- package/dist/csf/index.d.ts +7 -0
- package/dist/csf/index.js +2142 -0
- package/dist/csf-tools/index.d.ts +1157 -0
- package/dist/csf-tools/index.js +736 -0
- package/dist/docs-tools/index.d.ts +197 -0
- package/dist/docs-tools/index.js +61 -0
- package/dist/highlight/index.d.ts +10 -0
- package/dist/highlight/index.js +15 -0
- package/dist/instrumenter/index.d.ts +113 -0
- package/dist/instrumenter/index.js +2595 -0
- package/dist/manager/_manager-chunks/globals-runtime-8HkdnU2F.js +6144 -0
- package/dist/manager/_manager-chunks/globals-runtime-BIKBO23x.js +3389 -0
- package/dist/manager/_manager-chunks/globals-runtime-BdGkqNEt.js +45 -0
- package/dist/manager/_manager-chunks/globals-runtime-BmphMP6z.js +1190 -0
- package/dist/manager/_manager-chunks/globals-runtime-BvM-NY2g.js +13307 -0
- package/dist/manager/_manager-chunks/globals-runtime-C02fvgcd.js +9243 -0
- package/dist/manager/_manager-chunks/globals-runtime-DkAPXCvc.js +9766 -0
- package/dist/manager/_manager-chunks/globals-runtime-DpNYC-qi.js +5564 -0
- package/dist/manager/_manager-chunks/globals-runtime-DtcOnYHR.js +5357 -0
- package/dist/manager/_manager-chunks/globals-runtime-DwFqpqya.js +722 -0
- package/dist/manager/_manager-chunks/globals-runtime-FC201B7s.js +6837 -0
- package/dist/manager/_manager-chunks/globals-runtime-Rp_zjGnh.js +121 -0
- package/dist/manager/_manager-chunks/globals-runtime-ZHrQFa3-.js +10463 -0
- package/dist/manager/_manager-chunks/globals-runtime-eLPTIfX-.js +7759 -0
- package/dist/manager/_manager-chunks/globals-runtime-qKvCZHFY.js +4468 -0
- package/dist/manager/_manager-chunks/globals-runtime-sGpNlIJ1.js +5102 -0
- package/dist/manager/_manager-chunks/runtime-B1L9TH89.js +452 -0
- package/dist/manager/_manager-chunks/runtime-BK0zF7FN.js +22 -0
- package/dist/manager/_manager-chunks/runtime-BhkT2CXl.js +1408 -0
- package/dist/manager/_manager-chunks/runtime-Bly6WJLN.js +998 -0
- package/dist/manager/_manager-chunks/runtime-D0UOWx0U.js +979 -0
- package/dist/manager/_manager-chunks/runtime-D94Vq3oR.js +4014 -0
- package/dist/manager/_manager-chunks/runtime-DMig8mT7.js +77 -0
- package/dist/manager/_manager-chunks/runtime-EITvVbkG.js +46 -0
- package/dist/manager/_manager-chunks/runtime-cp5pazY2.js +8936 -0
- package/dist/manager/_manager-chunks/runtime-eDVAYF7N.js +6860 -0
- package/dist/manager/_manager-chunks/runtime-i-PDAHLR.js +2493 -0
- package/dist/manager/globals-runtime.js +2 -0
- package/dist/manager/globals.d.ts +23 -0
- package/dist/manager/globals.js +26 -0
- package/dist/manager/manager-stores.d.ts +2 -0
- package/dist/manager/manager-stores.js +19 -0
- package/dist/manager/runtime.js +2 -0
- package/dist/manager-api/index.d.ts +2 -0
- package/dist/manager-api/index.js +3257 -0
- package/dist/manager-errors.d.ts +89 -0
- package/dist/manager-errors.js +20 -0
- package/dist/mcp/index.d.ts +270 -0
- package/dist/mcp/index.js +305 -0
- package/dist/mocking-utils/index.d.ts +689 -0
- package/dist/mocking-utils/index.js +521 -0
- package/dist/mocking-utils/mocker-runtime.js +1254 -0
- package/dist/nextjs-vite/config/preview.js +3 -0
- package/dist/nextjs-vite/export-mocks/cache/index.d.ts +25 -0
- package/dist/nextjs-vite/export-mocks/cache/index.js +29 -0
- package/dist/nextjs-vite/export-mocks/headers/index.d.ts +37 -0
- package/dist/nextjs-vite/export-mocks/headers/index.js +54 -0
- package/dist/nextjs-vite/export-mocks/link/index.d.ts +9 -0
- package/dist/nextjs-vite/export-mocks/link/index.js +59 -0
- package/dist/nextjs-vite/export-mocks/navigation/index.d.ts +28 -0
- package/dist/nextjs-vite/export-mocks/navigation/index.js +58 -0
- package/dist/nextjs-vite/export-mocks/router/index.d.ts +34 -0
- package/dist/nextjs-vite/export-mocks/router/index.js +63 -0
- package/dist/nextjs-vite/index.d.ts +92 -0
- package/dist/nextjs-vite/index.js +58 -0
- package/dist/nextjs-vite/node/index.d.ts +6 -0
- package/dist/nextjs-vite/node/index.js +20 -0
- package/dist/nextjs-vite/preset.js +648 -0
- package/dist/nextjs-vite/preview.d.ts +20 -0
- package/dist/nextjs-vite/preview.js +11 -0
- package/dist/nextjs-vite/vite-plugin/index.d.ts +6 -0
- package/dist/nextjs-vite/vite-plugin/index.js +19 -0
- package/dist/nextjs-vite-plugin/index.d.ts +28 -0
- package/dist/nextjs-vite-plugin/index.js +923 -0
- package/dist/nextjs-vite-plugin/mocks/storybook.global.js +29 -0
- package/dist/nextjs-vite-plugin/plugins/next-image/alias/image-context.js +8 -0
- package/dist/nextjs-vite-plugin/plugins/next-image/alias/image-default-loader.js +23 -0
- package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-image.js +28 -0
- package/dist/nextjs-vite-plugin/plugins/next-image/alias/next-legacy-image.js +17 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/cache/index.js +29 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/dynamic/index.js +40 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/headers/index.js +55 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/link/index.js +63 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/navigation/index.js +71 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/router/index.js +74 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/rsc/server-only.js +7 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/alias/safe-stable-stringify/index.js +13 -0
- package/dist/nextjs-vite-plugin/plugins/next-mocks/compatibility/draft-mode.compat.js +7 -0
- package/dist/node-logger/index.d.ts +495 -0
- package/dist/node-logger/index.js +42 -0
- package/dist/oxc-parser/index.d.ts +99 -0
- package/dist/oxc-parser/index.js +275 -0
- package/dist/oxc-parser/worker.js +37 -0
- package/dist/preview/_chunks/runtime-BIzIdDbb.js +10263 -0
- package/dist/preview/_chunks/runtime-BTPtVY1p.js +1102 -0
- package/dist/preview/_chunks/runtime-BZSnICCg.js +8484 -0
- package/dist/preview/_chunks/runtime-BdGkqNEt.js +45 -0
- package/dist/preview/_chunks/runtime-BwSxqk3t.js +63 -0
- package/dist/preview/_chunks/runtime-CqHxptiK.js +6143 -0
- package/dist/preview/_chunks/runtime-CsV4HZPV.js +5064 -0
- package/dist/preview/_chunks/runtime-CxZK_Ln3.js +284 -0
- package/dist/preview/_chunks/runtime-DZToXfvO.js +9767 -0
- package/dist/preview/_chunks/runtime-DrTjJkPY.js +3872 -0
- package/dist/preview/_chunks/runtime-DuHdxMFA.js +387 -0
- package/dist/preview/_chunks/runtime-iXdo8CR8.js +3635 -0
- package/dist/preview/_chunks/runtime-q3wt0e_N.js +6838 -0
- package/dist/preview/globals.d.ts +16 -0
- package/dist/preview/globals.js +20 -0
- package/dist/preview/runtime.js +6 -0
- package/dist/preview-api/index.d.ts +4 -0
- package/dist/preview-api/index.js +147 -0
- package/dist/preview-errors.d.ts +186 -0
- package/dist/preview-errors.js +56 -0
- package/dist/react/docgen/docgen-worker.js +38 -0
- package/dist/react/entry-preview-argtypes.js +9 -0
- package/dist/react/entry-preview-docs.js +12 -0
- package/dist/react/entry-preview-rsc.js +11 -0
- package/dist/react/entry-preview.js +21 -0
- package/dist/react/index.d.ts +119 -0
- package/dist/react/index.js +26 -0
- package/dist/react/preset.js +301 -0
- package/dist/react/preview.d.ts +2 -0
- package/dist/react/preview.js +11 -0
- package/dist/react-native/bin/get-stories.js +34 -0
- package/dist/react-native/index.d.ts +160 -0
- package/dist/react-native/index.js +1547 -0
- package/dist/react-native/metro/node.d.ts +83 -0
- package/dist/react-native/metro/node.js +21 -0
- package/dist/react-native/metro/withStorybook.d.ts +2269 -0
- package/dist/react-native/metro/withStorybook.js +138 -0
- package/dist/react-native/preview.d.ts +6 -0
- package/dist/react-native/preview.js +20 -0
- package/dist/react-native/scripts/generate.d.ts +22 -0
- package/dist/react-native/scripts/generate.js +18 -0
- package/dist/react-native/stub.js +20 -0
- package/dist/react-native-theming/index.d.ts +175 -0
- package/dist/react-native-theming/index.js +2591 -0
- package/dist/react-native-ui/index.d.ts +130 -0
- package/dist/react-native-ui/index.js +1448 -0
- package/dist/react-native-ui-common/index.d.ts +230 -0
- package/dist/react-native-ui-common/index.js +514 -0
- package/dist/react-vite/index.d.ts +4 -0
- package/dist/react-vite/index.js +8 -0
- package/dist/react-vite/node/index.d.ts +6 -0
- package/dist/react-vite/node/index.js +20 -0
- package/dist/react-vite/preset.d.ts +6 -0
- package/dist/react-vite/preset.js +21 -0
- package/dist/router/index.d.ts +141 -0
- package/dist/router/index.js +1217 -0
- package/dist/server-errors.d.ts +2 -0
- package/dist/server-errors.js +149 -0
- package/dist/shared/open-service/index.d.ts +3 -0
- package/dist/shared/open-service/index.js +115 -0
- package/dist/shared/open-service/services/docgen/worker/docgen-worker.js +75 -0
- package/dist/shared/open-service/toolsets/docs/public.d.ts +1296 -0
- package/dist/shared/open-service/toolsets/docs/public.js +991 -0
- package/dist/telemetry/index.d.ts +314 -0
- package/dist/telemetry/index.js +103 -0
- package/dist/test/index.d.ts +158 -0
- package/dist/test/index.js +19421 -0
- package/dist/theming/create.d.ts +15 -0
- package/dist/theming/create.js +11 -0
- package/dist/theming/index.d.ts +54 -0
- package/dist/theming/index.js +511 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +48 -0
- package/dist/viewport/index.d.ts +275 -0
- package/dist/viewport/index.js +21 -0
- package/package.json +1054 -4
- package/template/nextjs-vite/cli/.eslintrc.json +6 -0
- package/template/nextjs-vite/cli/js/Button.jsx +42 -0
- package/template/nextjs-vite/cli/js/Button.stories.js +49 -0
- package/template/nextjs-vite/cli/js/Configure.mdx +470 -0
- package/template/nextjs-vite/cli/js/Header.jsx +58 -0
- package/template/nextjs-vite/cli/js/Header.stories.js +30 -0
- package/template/nextjs-vite/cli/js/Page.jsx +68 -0
- package/template/nextjs-vite/cli/js/Page.stories.js +28 -0
- package/template/nextjs-vite/cli/ts/Button.stories.ts +54 -0
- package/template/nextjs-vite/cli/ts/Button.tsx +39 -0
- package/template/nextjs-vite/cli/ts/Configure.mdx +446 -0
- package/template/nextjs-vite/cli/ts/Header.stories.ts +34 -0
- package/template/nextjs-vite/cli/ts/Header.tsx +54 -0
- package/template/nextjs-vite/cli/ts/Page.stories.ts +33 -0
- package/template/nextjs-vite/cli/ts/Page.tsx +73 -0
- package/template/react/cli/.eslintrc.json +5 -0
- package/template/react/cli/js/Button.jsx +39 -0
- package/template/react/cli/js/Button.stories.js +49 -0
- package/template/react/cli/js/Header.jsx +56 -0
- package/template/react/cli/js/Header.stories.js +29 -0
- package/template/react/cli/js/Page.jsx +69 -0
- package/template/react/cli/js/Page.stories.js +28 -0
- package/template/react/cli/ts/Button.stories.ts +54 -0
- package/template/react/cli/ts/Button.tsx +37 -0
- package/template/react/cli/ts/Header.stories.ts +34 -0
- package/template/react/cli/ts/Header.tsx +56 -0
- package/template/react/cli/ts/Page.stories.ts +33 -0
- package/template/react/cli/ts/Page.tsx +73 -0
- package/template/react-vite/cli/.eslintrc.json +5 -0
- package/template/react-vite/cli/js/Button.jsx +39 -0
- package/template/react-vite/cli/js/Button.stories.js +49 -0
- package/template/react-vite/cli/js/Header.jsx +56 -0
- package/template/react-vite/cli/js/Header.stories.js +29 -0
- package/template/react-vite/cli/js/Page.jsx +69 -0
- package/template/react-vite/cli/js/Page.stories.js +28 -0
- package/template/react-vite/cli/ts/Button.stories.ts +54 -0
- package/template/react-vite/cli/ts/Button.tsx +37 -0
- package/template/react-vite/cli/ts/Header.stories.ts +34 -0
- package/template/react-vite/cli/ts/Header.tsx +56 -0
- package/template/react-vite/cli/ts/Page.stories.ts +33 -0
- package/template/react-vite/cli/ts/Page.tsx +73 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import CJS_COMPAT_NODE_URL_ro17f80mg6k from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_ro17f80mg6k from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_ro17f80mg6k from "node:module";
|
|
4
|
+
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_ro17f80mg6k.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_ro17f80mg6k.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_ro17f80mg6k.createRequire(import.meta.url);
|
|
8
|
+
|
|
9
|
+
// ------------------------------------------------------------
|
|
10
|
+
// end of CJS compatibility banner, injected by Forkbook's esbuild configuration
|
|
11
|
+
// ------------------------------------------------------------
|
|
12
|
+
import {
|
|
13
|
+
__commonJS,
|
|
14
|
+
__require,
|
|
15
|
+
__toESM
|
|
16
|
+
} from "../../_node-chunks/chunk-CXRU72ET.js";
|
|
17
|
+
|
|
18
|
+
// ../../node_modules/tree-kill/index.js
|
|
19
|
+
var require_tree_kill = __commonJS({
|
|
20
|
+
"../../node_modules/tree-kill/index.js"(exports, module) {
|
|
21
|
+
"use strict";
|
|
22
|
+
var childProcess = __require("child_process"), spawn2 = childProcess.spawn, exec = childProcess.exec;
|
|
23
|
+
module.exports = function(pid, signal, callback) {
|
|
24
|
+
if (typeof signal == "function" && callback === void 0 && (callback = signal, signal = void 0), pid = parseInt(pid), Number.isNaN(pid)) {
|
|
25
|
+
if (callback)
|
|
26
|
+
return callback(new Error("pid must be a number"));
|
|
27
|
+
throw new Error("pid must be a number");
|
|
28
|
+
}
|
|
29
|
+
var tree = {}, pidsToProcess = {};
|
|
30
|
+
switch (tree[pid] = [], pidsToProcess[pid] = 1, process.platform) {
|
|
31
|
+
case "win32":
|
|
32
|
+
exec("taskkill /pid " + pid + " /T /F", callback);
|
|
33
|
+
break;
|
|
34
|
+
case "darwin":
|
|
35
|
+
buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
|
|
36
|
+
return spawn2("pgrep", ["-P", parentPid]);
|
|
37
|
+
}, function() {
|
|
38
|
+
killAll(tree, signal, callback);
|
|
39
|
+
});
|
|
40
|
+
break;
|
|
41
|
+
// case 'sunos':
|
|
42
|
+
// buildProcessTreeSunOS(pid, tree, pidsToProcess, function () {
|
|
43
|
+
// killAll(tree, signal, callback);
|
|
44
|
+
// });
|
|
45
|
+
// break;
|
|
46
|
+
default:
|
|
47
|
+
buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
|
|
48
|
+
return spawn2("ps", ["-o", "pid", "--no-headers", "--ppid", parentPid]);
|
|
49
|
+
}, function() {
|
|
50
|
+
killAll(tree, signal, callback);
|
|
51
|
+
});
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function killAll(tree, signal, callback) {
|
|
56
|
+
var killed = {};
|
|
57
|
+
try {
|
|
58
|
+
Object.keys(tree).forEach(function(pid) {
|
|
59
|
+
tree[pid].forEach(function(pidpid) {
|
|
60
|
+
killed[pidpid] || (killPid(pidpid, signal), killed[pidpid] = 1);
|
|
61
|
+
}), killed[pid] || (killPid(pid, signal), killed[pid] = 1);
|
|
62
|
+
});
|
|
63
|
+
} catch (err) {
|
|
64
|
+
if (callback)
|
|
65
|
+
return callback(err);
|
|
66
|
+
throw err;
|
|
67
|
+
}
|
|
68
|
+
if (callback)
|
|
69
|
+
return callback();
|
|
70
|
+
}
|
|
71
|
+
function killPid(pid, signal) {
|
|
72
|
+
try {
|
|
73
|
+
process.kill(parseInt(pid, 10), signal);
|
|
74
|
+
} catch (err) {
|
|
75
|
+
if (err.code !== "ESRCH") throw err;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function buildProcessTree(parentPid, tree, pidsToProcess, spawnChildProcessesList, cb) {
|
|
79
|
+
var ps = spawnChildProcessesList(parentPid), allData = "";
|
|
80
|
+
ps.stdout.on("data", function(data) {
|
|
81
|
+
var data = data.toString("ascii");
|
|
82
|
+
allData += data;
|
|
83
|
+
});
|
|
84
|
+
var onClose = function(code) {
|
|
85
|
+
if (delete pidsToProcess[parentPid], code != 0) {
|
|
86
|
+
Object.keys(pidsToProcess).length == 0 && cb();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
allData.match(/\d+/g).forEach(function(pid) {
|
|
90
|
+
pid = parseInt(pid, 10), tree[parentPid].push(pid), tree[pid] = [], pidsToProcess[pid] = 1, buildProcessTree(pid, tree, pidsToProcess, spawnChildProcessesList, cb);
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
ps.on("close", onClose);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// src/addon-vitest/vitest-plugin/global-setup.ts
|
|
99
|
+
var import_tree_kill = __toESM(require_tree_kill(), 1);
|
|
100
|
+
import { spawn } from "node:child_process";
|
|
101
|
+
import { logger } from "@aussieljk/forkbook/internal/node-logger";
|
|
102
|
+
var storybookProcess = null, getIsVitestStandaloneRun = () => {
|
|
103
|
+
try {
|
|
104
|
+
return (import.meta.env || process?.env).STORYBOOK !== "true";
|
|
105
|
+
} catch {
|
|
106
|
+
return !1;
|
|
107
|
+
}
|
|
108
|
+
}, isVitestStandaloneRun = getIsVitestStandaloneRun(), checkStorybookRunning = async (storybookUrl) => {
|
|
109
|
+
try {
|
|
110
|
+
return (await fetch(`${storybookUrl}/iframe.html`, {
|
|
111
|
+
method: "HEAD",
|
|
112
|
+
signal: AbortSignal.timeout(5e3)
|
|
113
|
+
})).ok;
|
|
114
|
+
} catch (error) {
|
|
115
|
+
return logger.verbose(
|
|
116
|
+
`Failed to get response from ${storybookUrl}: ${error instanceof Error ? error.message : String(error)}`
|
|
117
|
+
), !1;
|
|
118
|
+
}
|
|
119
|
+
}, startStorybookIfNotRunning = async () => {
|
|
120
|
+
let storybookScript = process.env.__STORYBOOK_SCRIPT__, storybookUrl = process.env.__STORYBOOK_URL__;
|
|
121
|
+
if (await checkStorybookRunning(storybookUrl)) {
|
|
122
|
+
logger.verbose("Forkbook is already running");
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
logger.verbose(`Starting Forkbook with command: ${storybookScript}`);
|
|
126
|
+
try {
|
|
127
|
+
storybookProcess = spawn(storybookScript, {
|
|
128
|
+
shell: !0,
|
|
129
|
+
stdio: process.env.DEBUG === "storybook" ? "pipe" : "ignore",
|
|
130
|
+
cwd: process.cwd()
|
|
131
|
+
}), storybookProcess.on("error", (error) => {
|
|
132
|
+
throw logger.verbose("Failed to start Forkbook:" + error.message), error;
|
|
133
|
+
});
|
|
134
|
+
} catch (error) {
|
|
135
|
+
throw logger.verbose("Failed to start Forkbook:" + error.message), error;
|
|
136
|
+
}
|
|
137
|
+
}, setup = async ({ config }) => {
|
|
138
|
+
config.watch && isVitestStandaloneRun && await startStorybookIfNotRunning();
|
|
139
|
+
}, teardown = async () => {
|
|
140
|
+
storybookProcess && (logger.verbose("Stopping Forkbook process"), await new Promise((resolve, reject) => {
|
|
141
|
+
if (storybookProcess?.pid) {
|
|
142
|
+
let pid = storybookProcess.pid;
|
|
143
|
+
(0, import_tree_kill.default)(pid, "SIGTERM", (error) => {
|
|
144
|
+
if (error) {
|
|
145
|
+
if (process.platform === "win32" && "code" in error && error.code === 128) {
|
|
146
|
+
logger.verbose(
|
|
147
|
+
`Forkbook process (pid ${pid}) already exited; treating teardown as successful (code ${error.code}: ${error.message})`
|
|
148
|
+
), resolve();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
logger.error("Failed to stop Forkbook process:"), reject(error);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
resolve();
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}));
|
|
158
|
+
};
|
|
159
|
+
export {
|
|
160
|
+
setup,
|
|
161
|
+
teardown
|
|
162
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Plugin } from "vitest/config";
|
|
2
|
+
|
|
3
|
+
//#region .dts-emit/code/core/src/addon-vitest/vitest-plugin/types.d.ts
|
|
4
|
+
type UserOptions = {
|
|
5
|
+
/**
|
|
6
|
+
* The directory where the Forkbook configuration is located, relative to the vitest
|
|
7
|
+
* configuration file. If not provided, the plugin will use '.forkbook' in the current working
|
|
8
|
+
* directory.
|
|
9
|
+
*
|
|
10
|
+
* @default '.forkbook'
|
|
11
|
+
*/
|
|
12
|
+
configDir?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Optional script to run Forkbook. If provided, Vitest will start Forkbook using this script
|
|
15
|
+
* when ran in watch mode.
|
|
16
|
+
*
|
|
17
|
+
* @default undefined
|
|
18
|
+
*/
|
|
19
|
+
storybookScript?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The URL where Forkbook is hosted. This is used to provide a link to the story in the test
|
|
22
|
+
* output on failures.
|
|
23
|
+
*
|
|
24
|
+
* @default 'http://localhost:6006'
|
|
25
|
+
*/
|
|
26
|
+
storybookUrl?: string; /** Tags to include, exclude, or skip. These tags are defined as annotations in your story or meta. */
|
|
27
|
+
tags?: {
|
|
28
|
+
include?: string[];
|
|
29
|
+
exclude?: string[];
|
|
30
|
+
skip?: string[];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Whether to disable addon docs features while running tests.
|
|
34
|
+
*
|
|
35
|
+
* Most users don't need addon docs for tests, the only scenario where you might need it is if you
|
|
36
|
+
* need to read and parse MDX files as part of rendering your components.
|
|
37
|
+
*
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
disableAddonDocs?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Globals applied to every story run by this project, merged under the values Forkbook sets
|
|
43
|
+
* internally. Use it to pin a toolbar global for the whole run — most usefully to test a
|
|
44
|
+
* specific theme: define one Vitest project per theme, each with a different value, e.g.
|
|
45
|
+
* `storybookTest({ initialGlobals: { theme: 'dark' } })`. Equivalent to `initialGlobals` in
|
|
46
|
+
* `.forkbook/preview`, but per project instead of global.
|
|
47
|
+
*
|
|
48
|
+
* @default {}
|
|
49
|
+
*/
|
|
50
|
+
initialGlobals?: Record<string, unknown>;
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region .dts-emit/code/core/src/addon-vitest/vitest-plugin/index.d.ts
|
|
54
|
+
declare const storybookTest: (options?: UserOptions) => Promise<Plugin[]>;
|
|
55
|
+
//#endregion
|
|
56
|
+
export { storybookTest as default, storybookTest };
|
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
import CJS_COMPAT_NODE_URL_ro17f80mg6k from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_ro17f80mg6k from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_ro17f80mg6k from "node:module";
|
|
4
|
+
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_ro17f80mg6k.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_ro17f80mg6k.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_ro17f80mg6k.createRequire(import.meta.url);
|
|
8
|
+
|
|
9
|
+
// ------------------------------------------------------------
|
|
10
|
+
// end of CJS compatibility banner, injected by Forkbook's esbuild configuration
|
|
11
|
+
// ------------------------------------------------------------
|
|
12
|
+
import {
|
|
13
|
+
require_micromatch
|
|
14
|
+
} from "../../_node-chunks/chunk-QEQLR22M.js";
|
|
15
|
+
import {
|
|
16
|
+
FORKBOOK_CORE_GHOST_STORIES_PROVIDE_KEY,
|
|
17
|
+
FORKBOOK_CORE_RENDER_ANALYSIS_PROVIDE_KEY,
|
|
18
|
+
FORKBOOK_TEST_FEATURES_PROVIDE_KEY,
|
|
19
|
+
FORKBOOK_TEST_INITIAL_GLOBALS_PROVIDE_KEY
|
|
20
|
+
} from "../../_node-chunks/chunk-H32DYT6P.js";
|
|
21
|
+
import {
|
|
22
|
+
withoutVitePlugins
|
|
23
|
+
} from "../../_node-chunks/chunk-H4PPVMP5.js";
|
|
24
|
+
import {
|
|
25
|
+
getAiSetupRunId
|
|
26
|
+
} from "../../_node-chunks/chunk-NPO45IMH.js";
|
|
27
|
+
import {
|
|
28
|
+
require_build
|
|
29
|
+
} from "../../_node-chunks/chunk-XGIUVY52.js";
|
|
30
|
+
import {
|
|
31
|
+
require_picocolors
|
|
32
|
+
} from "../../_node-chunks/chunk-2BUPBPFB.js";
|
|
33
|
+
import {
|
|
34
|
+
__toESM
|
|
35
|
+
} from "../../_node-chunks/chunk-CXRU72ET.js";
|
|
36
|
+
|
|
37
|
+
// src/addon-vitest/vitest-plugin/index.ts
|
|
38
|
+
var import_micromatch = __toESM(require_micromatch(), 1), import_picocolors = __toESM(require_picocolors(), 1), import_sirv = __toESM(require_build(), 1);
|
|
39
|
+
import { fileURLToPath } from "node:url";
|
|
40
|
+
import { mergeConfig } from "vitest/config";
|
|
41
|
+
import {
|
|
42
|
+
DEFAULT_FILES_PATTERN,
|
|
43
|
+
HandledError,
|
|
44
|
+
defaultConfigDir,
|
|
45
|
+
getInterpretedFile,
|
|
46
|
+
normalizeStories,
|
|
47
|
+
optionalEnvToBoolean,
|
|
48
|
+
resolvePathInStorybookCache as resolvePathInStorybookCache2,
|
|
49
|
+
validateConfigurationFiles
|
|
50
|
+
} from "@aussieljk/forkbook/internal/common";
|
|
51
|
+
import {
|
|
52
|
+
StoryIndexGenerator,
|
|
53
|
+
Tag,
|
|
54
|
+
experimental_loadStorybook,
|
|
55
|
+
mapStaticDir
|
|
56
|
+
} from "@aussieljk/forkbook/internal/core-server";
|
|
57
|
+
import {
|
|
58
|
+
componentTransform,
|
|
59
|
+
readConfig,
|
|
60
|
+
vitestTransform
|
|
61
|
+
} from "@aussieljk/forkbook/internal/csf-tools";
|
|
62
|
+
import { MainFileMissingError } from "@aussieljk/forkbook/internal/server-errors";
|
|
63
|
+
import {
|
|
64
|
+
detectAgent,
|
|
65
|
+
isTelemetryModuleEnabled,
|
|
66
|
+
isWithinInitialSession,
|
|
67
|
+
oneWayHash,
|
|
68
|
+
telemetry as telemetry2,
|
|
69
|
+
setTelemetryEnabled
|
|
70
|
+
} from "@aussieljk/forkbook/internal/telemetry";
|
|
71
|
+
import { join, normalize, relative, resolve, sep } from "pathe";
|
|
72
|
+
import path from "pathe";
|
|
73
|
+
import { dedent } from "ts-dedent";
|
|
74
|
+
|
|
75
|
+
// src/addon-vitest/vitest-plugin/agent-telemetry-reporter.ts
|
|
76
|
+
import { analyzeTestResults, toStoryTestResult } from "@aussieljk/forkbook/internal/core-server";
|
|
77
|
+
import { isExampleStoryId, telemetry } from "@aussieljk/forkbook/internal/telemetry";
|
|
78
|
+
|
|
79
|
+
// src/addon-vitest/vitest-plugin/agent-story-history-cache.ts
|
|
80
|
+
import {
|
|
81
|
+
createFileSystemCache,
|
|
82
|
+
resolvePathInStorybookCache
|
|
83
|
+
} from "@aussieljk/forkbook/internal/common";
|
|
84
|
+
var CACHE_KEY = "agent-self-healing-story-history", historyCache = createFileSystemCache({
|
|
85
|
+
basePath: resolvePathInStorybookCache("agent-self-healing"),
|
|
86
|
+
ns: "storybook"
|
|
87
|
+
});
|
|
88
|
+
async function readStoryHistory() {
|
|
89
|
+
return await historyCache.get(CACHE_KEY) ?? {};
|
|
90
|
+
}
|
|
91
|
+
async function mergeAndWriteStoryHistory(results) {
|
|
92
|
+
let history = await readStoryHistory(), now = Date.now();
|
|
93
|
+
for (let result of results) {
|
|
94
|
+
let existing = history[result.storyId];
|
|
95
|
+
(!existing || existing.timestamp <= now) && (history[result.storyId] = { ...result, timestamp: now });
|
|
96
|
+
}
|
|
97
|
+
return await historyCache.set(CACHE_KEY, history), Object.values(history).map(({ timestamp, ...rest }) => rest);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// src/addon-vitest/vitest-plugin/agent-telemetry-reporter.ts
|
|
101
|
+
var AgentTelemetryReporter = class {
|
|
102
|
+
constructor(options) {
|
|
103
|
+
this.testResults = [];
|
|
104
|
+
this.startTime = Date.now();
|
|
105
|
+
this.configDir = options.configDir, this.agent = options.agent;
|
|
106
|
+
}
|
|
107
|
+
onInit(ctx) {
|
|
108
|
+
this.ctx = ctx;
|
|
109
|
+
}
|
|
110
|
+
onTestRunStart() {
|
|
111
|
+
this.startTime = Date.now();
|
|
112
|
+
}
|
|
113
|
+
onTestCaseResult(testCase) {
|
|
114
|
+
let { storyId, reports } = testCase.meta();
|
|
115
|
+
if (!storyId || isExampleStoryId(storyId))
|
|
116
|
+
return;
|
|
117
|
+
let testResult = testCase.result(), result = toStoryTestResult({
|
|
118
|
+
storyId,
|
|
119
|
+
statusRaw: testResult.state,
|
|
120
|
+
reports,
|
|
121
|
+
errors: testResult.errors
|
|
122
|
+
});
|
|
123
|
+
result && this.testResults.push(result);
|
|
124
|
+
}
|
|
125
|
+
async onTestRunEnd(testModules, unhandledErrors) {
|
|
126
|
+
let cumulativeResults = await mergeAndWriteStoryHistory(this.testResults), analysis = analyzeTestResults(this.testResults, cumulativeResults), duration = Date.now() - this.startTime, testModulesErrors = testModules.flatMap((t) => t.errors()), unhandledErrorCount = unhandledErrors.length + testModulesErrors.length, runId = await getAiSetupRunId(this.configDir);
|
|
127
|
+
telemetry(
|
|
128
|
+
"ai-setup-self-healing-scoring",
|
|
129
|
+
{
|
|
130
|
+
agent: this.agent,
|
|
131
|
+
analysis,
|
|
132
|
+
unhandledErrorCount,
|
|
133
|
+
duration,
|
|
134
|
+
watch: this.ctx.config.watch,
|
|
135
|
+
runId
|
|
136
|
+
},
|
|
137
|
+
{ configDir: this.configDir, stripMetadata: !0 }
|
|
138
|
+
), this.testResults = [];
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// src/addon-vitest/vitest-plugin/stack-frames.ts
|
|
143
|
+
var INTERNAL_FRAME_PATTERNS = [
|
|
144
|
+
/[\\/]storybook[\\/]dist[\\/]/,
|
|
145
|
+
/[\\/]@storybook[\\/][^\\/]+[\\/]dist[\\/]/,
|
|
146
|
+
/[\\/]deps[\\/]@?storybook[@_]/
|
|
147
|
+
];
|
|
148
|
+
function isStorybookInternalFrame(file) {
|
|
149
|
+
return !!file && INTERNAL_FRAME_PATTERNS.some((pattern) => pattern.test(file));
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// src/addon-vitest/vitest-plugin/index.ts
|
|
153
|
+
var WORKING_DIR = process.cwd(), defaultOptions = {
|
|
154
|
+
storybookScript: void 0,
|
|
155
|
+
configDir: resolve(join(WORKING_DIR, defaultConfigDir(WORKING_DIR))),
|
|
156
|
+
storybookUrl: "http://localhost:6006",
|
|
157
|
+
disableAddonDocs: !0,
|
|
158
|
+
initialGlobals: {}
|
|
159
|
+
}, extractTagsFromPreview = async (configDir) => {
|
|
160
|
+
let previewConfigPath = getInterpretedFile(join(resolve(configDir), "preview"));
|
|
161
|
+
if (!previewConfigPath)
|
|
162
|
+
return [];
|
|
163
|
+
let previewConfig = await readConfig(previewConfigPath), tags = previewConfig.getValue(["tags"]) ?? [];
|
|
164
|
+
if (previewConfig.mutationDiagnostics.some(({ code }) => code === "unsupported-value") || !Array.isArray(tags) || !tags.every((tag) => typeof tag == "string"))
|
|
165
|
+
throw new HandledError("Preview tags must be a static array of strings");
|
|
166
|
+
return tags;
|
|
167
|
+
}, getStoryGlobsAndFiles = async (presets, directories) => {
|
|
168
|
+
let stories = await presets.apply("stories", []), normalizedStories = normalizeStories(stories, {
|
|
169
|
+
configDir: directories.configDir,
|
|
170
|
+
workingDir: directories.workingDir
|
|
171
|
+
}), matchingStoryFiles = await StoryIndexGenerator.findMatchingFilesForSpecifiers(
|
|
172
|
+
normalizedStories,
|
|
173
|
+
directories.workingDir
|
|
174
|
+
);
|
|
175
|
+
return {
|
|
176
|
+
storiesGlobs: stories,
|
|
177
|
+
storiesFiles: StoryIndexGenerator.storyFileNames(
|
|
178
|
+
new Map(matchingStoryFiles.map(([specifier, cache]) => [specifier, cache]))
|
|
179
|
+
)
|
|
180
|
+
};
|
|
181
|
+
}, mdxStubPlugin = {
|
|
182
|
+
name: "storybook:stub-mdx-plugin",
|
|
183
|
+
enforce: "pre",
|
|
184
|
+
resolveId(id) {
|
|
185
|
+
return id.endsWith(".mdx") ? id : null;
|
|
186
|
+
},
|
|
187
|
+
load(id) {
|
|
188
|
+
return id.endsWith(".mdx") ? "export default {};" : null;
|
|
189
|
+
}
|
|
190
|
+
}, getComponentTestPaths = () => {
|
|
191
|
+
let envPaths = process.env.FORKBOOK_COMPONENT_PATHS;
|
|
192
|
+
return envPaths ? envPaths.split(";").filter(Boolean) : [];
|
|
193
|
+
}, createComponentTestTransformPlugin = (presets, configDir) => {
|
|
194
|
+
let storybookComponentTestPaths = getComponentTestPaths();
|
|
195
|
+
return {
|
|
196
|
+
name: "storybook:component-test-transform-plugin",
|
|
197
|
+
transform: {
|
|
198
|
+
order: "pre",
|
|
199
|
+
async handler(code, id) {
|
|
200
|
+
if (!optionalEnvToBoolean(process.env.VITEST) || storybookComponentTestPaths.length === 0)
|
|
201
|
+
return code;
|
|
202
|
+
let resolvedId = path.resolve(id);
|
|
203
|
+
return storybookComponentTestPaths.some(
|
|
204
|
+
(testPath) => resolvedId === testPath || resolvedId.startsWith(testPath + path.sep) || resolvedId.endsWith(testPath)
|
|
205
|
+
) ? (await componentTransform({
|
|
206
|
+
code,
|
|
207
|
+
fileName: id,
|
|
208
|
+
getComponentArgTypes: async ({ componentName, fileName }) => presets.apply("internal_getArgTypesData", null, {
|
|
209
|
+
componentFilePath: fileName,
|
|
210
|
+
componentExportName: componentName,
|
|
211
|
+
configDir
|
|
212
|
+
})
|
|
213
|
+
})).code : code;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}, toApiPermissions = (api) => api && typeof api == "object" ? api : {}, getUserApiPermissions = (testConfig) => {
|
|
218
|
+
let api = toApiPermissions(testConfig?.api), browserApi = toApiPermissions(testConfig?.browser?.api);
|
|
219
|
+
return {
|
|
220
|
+
allowWrite: api.allowWrite ?? browserApi.allowWrite,
|
|
221
|
+
allowExec: api.allowExec ?? browserApi.allowExec
|
|
222
|
+
};
|
|
223
|
+
}, storybookTest = async (options) => {
|
|
224
|
+
if (!optionalEnvToBoolean(process.env.VITEST))
|
|
225
|
+
return [];
|
|
226
|
+
let finalOptions = {
|
|
227
|
+
...defaultOptions,
|
|
228
|
+
...options,
|
|
229
|
+
configDir: options?.configDir ? resolve(WORKING_DIR, options.configDir) : defaultOptions.configDir,
|
|
230
|
+
tags: {
|
|
231
|
+
include: options?.tags?.include ?? [Tag.TEST],
|
|
232
|
+
exclude: options?.tags?.exclude ?? [],
|
|
233
|
+
skip: options?.tags?.skip ?? []
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
optionalEnvToBoolean(process.env.DEBUG) && (finalOptions.debug = !0), process.env.__STORYBOOK_URL__ = finalOptions.storybookUrl, process.env.__STORYBOOK_SCRIPT__ = finalOptions.storybookScript;
|
|
237
|
+
let isVitestStorybook = optionalEnvToBoolean(process.env.VITEST_STORYBOOK), directories = {
|
|
238
|
+
configDir: finalOptions.configDir,
|
|
239
|
+
workingDir: WORKING_DIR
|
|
240
|
+
}, { presets } = await experimental_loadStorybook({
|
|
241
|
+
configDir: finalOptions.configDir,
|
|
242
|
+
packageJson: {}
|
|
243
|
+
}), stories = await presets.apply("stories", []), commonConfig = { root: resolve(finalOptions.configDir, "..") }, [
|
|
244
|
+
corePlugins,
|
|
245
|
+
{ storiesGlobs },
|
|
246
|
+
framework,
|
|
247
|
+
viteConfigFromStorybook,
|
|
248
|
+
staticDirs,
|
|
249
|
+
previewLevelTags,
|
|
250
|
+
core,
|
|
251
|
+
features
|
|
252
|
+
] = await Promise.all([
|
|
253
|
+
presets.apply("viteCorePlugins", []),
|
|
254
|
+
getStoryGlobsAndFiles(presets, directories),
|
|
255
|
+
presets.apply("framework", void 0),
|
|
256
|
+
presets.apply("viteFinal", commonConfig),
|
|
257
|
+
presets.apply("staticDirs", []),
|
|
258
|
+
extractTagsFromPreview(finalOptions.configDir),
|
|
259
|
+
presets.apply("core"),
|
|
260
|
+
presets.apply("features", {})
|
|
261
|
+
]);
|
|
262
|
+
await setTelemetryEnabled(!core?.disableTelemetry);
|
|
263
|
+
let pluginsToIgnore = finalOptions.disableAddonDocs ? ["storybook:package-deduplication", "storybook:mdx-plugin"] : [], plugins = [
|
|
264
|
+
...corePlugins,
|
|
265
|
+
...await withoutVitePlugins(viteConfigFromStorybook.plugins ?? [], pluginsToIgnore)
|
|
266
|
+
];
|
|
267
|
+
finalOptions.disableAddonDocs && plugins.push(mdxStubPlugin);
|
|
268
|
+
let agent, withinAgenticSetupSession = !1, userApiPermissions = {}, storybookTestPlugin = {
|
|
269
|
+
name: "vite-plugin-storybook-test",
|
|
270
|
+
async transformIndexHtml(html) {
|
|
271
|
+
let [frameworkOptions, headHtmlSnippet, bodyHtmlSnippet] = await Promise.all([
|
|
272
|
+
presets.apply("frameworkOptions"),
|
|
273
|
+
presets.apply("previewHead"),
|
|
274
|
+
presets.apply("previewBody")
|
|
275
|
+
]);
|
|
276
|
+
return html.replace(
|
|
277
|
+
"</head>",
|
|
278
|
+
`<script>window.FRAMEWORK_OPTIONS = ${JSON.stringify(frameworkOptions)};</script>${headHtmlSnippet ?? ""}</head>`
|
|
279
|
+
).replace("<body>", `<body>${bodyHtmlSnippet ?? ""}`);
|
|
280
|
+
},
|
|
281
|
+
async config(nonMutableInputConfig, { mode }) {
|
|
282
|
+
isTelemetryModuleEnabled() && (agent = detectAgent(), withinAgenticSetupSession = !!agent && await isWithinInitialSession("ai-setup")), mode && (process.env.BUILD_TARGET = mode);
|
|
283
|
+
try {
|
|
284
|
+
await validateConfigurationFiles(finalOptions.configDir);
|
|
285
|
+
} catch {
|
|
286
|
+
throw new MainFileMissingError({
|
|
287
|
+
location: finalOptions.configDir,
|
|
288
|
+
source: "vitest"
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
let frameworkName = typeof framework == "string" ? framework : framework.name, testConfig = nonMutableInputConfig.test;
|
|
292
|
+
finalOptions.vitestRoot = testConfig?.dir || testConfig?.root || viteConfigFromStorybook.root || nonMutableInputConfig.root || process.cwd();
|
|
293
|
+
let includeStories = stories.map((story) => {
|
|
294
|
+
let storyPath;
|
|
295
|
+
return typeof story == "string" ? storyPath = story : storyPath = `${story.directory}/${story.files ?? DEFAULT_FILES_PATTERN}`, join(finalOptions.configDir, storyPath);
|
|
296
|
+
}).map((story) => relative(finalOptions.vitestRoot, story));
|
|
297
|
+
finalOptions.includeStories = includeStories;
|
|
298
|
+
let projectId = oneWayHash(finalOptions.configDir);
|
|
299
|
+
userApiPermissions = getUserApiPermissions(testConfig);
|
|
300
|
+
let baseConfig = {
|
|
301
|
+
cacheDir: resolvePathInStorybookCache2("sb-vitest", projectId),
|
|
302
|
+
test: {
|
|
303
|
+
expect: { requireAssertions: !1 },
|
|
304
|
+
onStackTrace: (error, frame) => isStorybookInternalFrame(frame.file) ? !1 : nonMutableInputConfig.test?.onStackTrace?.(error, frame) ?? !0,
|
|
305
|
+
setupFiles: [
|
|
306
|
+
"@aussieljk/forkbook/addon-vitest/internal/setup-file",
|
|
307
|
+
"@aussieljk/forkbook/addon-vitest/internal/setup-file-with-project-annotations",
|
|
308
|
+
// if the existing setupFiles is a string, we have to include it otherwise we're overwriting it
|
|
309
|
+
typeof nonMutableInputConfig.test?.setupFiles == "string" && nonMutableInputConfig.test?.setupFiles
|
|
310
|
+
].filter(Boolean),
|
|
311
|
+
...finalOptions.storybookScript ? {
|
|
312
|
+
globalSetup: [
|
|
313
|
+
fileURLToPath(
|
|
314
|
+
import.meta.resolve("@aussieljk/forkbook/addon-vitest/internal/global-setup")
|
|
315
|
+
)
|
|
316
|
+
]
|
|
317
|
+
} : {},
|
|
318
|
+
env: {
|
|
319
|
+
/**
|
|
320
|
+
* We do this late, because we need vitest's --mode to be available and set to
|
|
321
|
+
* BUILD_MODE. Unfortunately, the dependencies we use to load .env files can only be
|
|
322
|
+
* configured using that environment variable. We need it to be synced up with the mode
|
|
323
|
+
* that vitest is running in, or risk leaking envs from the wrong file.
|
|
324
|
+
*
|
|
325
|
+
* @see https://github.com/storybookjs/storybook/issues/33101
|
|
326
|
+
*/
|
|
327
|
+
...await presets.apply("env", {}),
|
|
328
|
+
// To be accessed by the setup file
|
|
329
|
+
__STORYBOOK_URL__: finalOptions.storybookUrl,
|
|
330
|
+
VITEST_STORYBOOK: isVitestStorybook ? "true" : "false",
|
|
331
|
+
__VITEST_INCLUDE_TAGS__: finalOptions.tags.include.join(","),
|
|
332
|
+
__VITEST_EXCLUDE_TAGS__: finalOptions.tags.exclude.join(","),
|
|
333
|
+
__VITEST_SKIP_TAGS__: finalOptions.tags.skip.join(",")
|
|
334
|
+
},
|
|
335
|
+
provide: {
|
|
336
|
+
[FORKBOOK_TEST_FEATURES_PROVIDE_KEY]: features,
|
|
337
|
+
[FORKBOOK_CORE_GHOST_STORIES_PROVIDE_KEY]: !!process.env.FORKBOOK_COMPONENT_PATHS,
|
|
338
|
+
[FORKBOOK_CORE_RENDER_ANALYSIS_PROVIDE_KEY]: !!process.env.FORKBOOK_COMPONENT_PATHS || withinAgenticSetupSession,
|
|
339
|
+
[FORKBOOK_TEST_INITIAL_GLOBALS_PROVIDE_KEY]: finalOptions.initialGlobals
|
|
340
|
+
},
|
|
341
|
+
include: [...includeStories, ...getComponentTestPaths()],
|
|
342
|
+
exclude: [
|
|
343
|
+
...nonMutableInputConfig.test?.exclude ?? [],
|
|
344
|
+
join(relative(finalOptions.vitestRoot, process.cwd()), "**/*.mdx").replaceAll(sep, "/")
|
|
345
|
+
],
|
|
346
|
+
browser: {
|
|
347
|
+
// if there is a test.browser config AND test.browser.screenshotFailures is not explicitly set, we set it to false
|
|
348
|
+
...nonMutableInputConfig.test?.browser && nonMutableInputConfig.test.browser.screenshotFailures === void 0 ? {
|
|
349
|
+
screenshotFailures: !1
|
|
350
|
+
} : {},
|
|
351
|
+
// Inject the cursor reset command we use to prevent accidental hover states when running
|
|
352
|
+
// Forkbook tests in Chromium on Linux. There is a known race condition / special code path
|
|
353
|
+
// in Chromium causing it to sometimes apply :hover to the element under the mouse cursor even
|
|
354
|
+
// when there was no mouse movement.
|
|
355
|
+
commands: {
|
|
356
|
+
async resetMousePosition(ctx) {
|
|
357
|
+
ctx.provider.name === "playwright" && await (await ctx.frame()).page().mouse.move(-1e3, -1e3);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
optimizeDeps: {
|
|
363
|
+
include: [
|
|
364
|
+
"@aussieljk/forkbook/addon-vitest/internal/setup-file",
|
|
365
|
+
"@aussieljk/forkbook/addon-vitest/internal/setup-file.browser.4",
|
|
366
|
+
"@aussieljk/forkbook/addon-vitest/internal/global-setup",
|
|
367
|
+
"@aussieljk/forkbook/addon-vitest/internal/test-utils",
|
|
368
|
+
"@aussieljk/forkbook/preview-api",
|
|
369
|
+
// imported by the setup files; without pinning, its CJS-only deps (via
|
|
370
|
+
// @testing-library/dom) reach the browser raw on hoisted node_modules layouts
|
|
371
|
+
"@aussieljk/forkbook/test",
|
|
372
|
+
...frameworkName?.includes("react") || frameworkName?.includes("nextjs") ? ["react-dom/test-utils"] : []
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
define: {
|
|
376
|
+
FEATURES: JSON.stringify(features)
|
|
377
|
+
}
|
|
378
|
+
}, config = mergeConfig(baseConfig, viteConfigFromStorybook);
|
|
379
|
+
return (nonMutableInputConfig.test?.include?.length ?? 0) > 0 && (nonMutableInputConfig.test.include = [], console.log(
|
|
380
|
+
import_picocolors.default.yellow(dedent`
|
|
381
|
+
Warning: Starting in Forkbook 8.5.0-alpha.18, the "test.include" option in Vitest is discouraged in favor of just using the "stories" field in your Forkbook configuration.
|
|
382
|
+
|
|
383
|
+
The values you passed to "test.include" will be ignored, please remove them from your Vitest configuration where the Forkbook plugin is applied.
|
|
384
|
+
|
|
385
|
+
More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#addon-test-indexing-behavior-of-storybookaddon-test-is-changed
|
|
386
|
+
`)
|
|
387
|
+
)), config;
|
|
388
|
+
},
|
|
389
|
+
async configureVitest(context) {
|
|
390
|
+
if (context.vitest.config.coverage.exclude.push("storybook-static"), context.project.config.browser?.enabled === !0) {
|
|
391
|
+
let browserSetupFile = fileURLToPath(
|
|
392
|
+
import.meta.resolve("@aussieljk/forkbook/addon-vitest/internal/setup-file.browser.4")
|
|
393
|
+
);
|
|
394
|
+
context.project.config.setupFiles.includes(browserSetupFile) || context.project.config.setupFiles.push(browserSetupFile);
|
|
395
|
+
let { api, browser } = context.project.config;
|
|
396
|
+
for (let target of [api, browser.api])
|
|
397
|
+
target && (target.allowWrite = userApiPermissions.allowWrite ?? !1, target.allowExec = userApiPermissions.allowExec ?? !1);
|
|
398
|
+
}
|
|
399
|
+
telemetry2(
|
|
400
|
+
"test-run",
|
|
401
|
+
{
|
|
402
|
+
runner: "vitest",
|
|
403
|
+
watch: context.vitest.config.watch,
|
|
404
|
+
coverage: !!context.vitest.config.coverage?.enabled
|
|
405
|
+
},
|
|
406
|
+
{ configDir: finalOptions.configDir }
|
|
407
|
+
), isTelemetryModuleEnabled() && agent && withinAgenticSetupSession && !process.env.FORKBOOK_INTERNAL_TEST_RUN && context.vitest.config.reporters.push(
|
|
408
|
+
new AgentTelemetryReporter({
|
|
409
|
+
configDir: finalOptions.configDir,
|
|
410
|
+
agent
|
|
411
|
+
})
|
|
412
|
+
);
|
|
413
|
+
},
|
|
414
|
+
async configureServer(server) {
|
|
415
|
+
if (staticDirs)
|
|
416
|
+
for (let staticDir of staticDirs)
|
|
417
|
+
try {
|
|
418
|
+
let { staticPath, targetEndpoint } = mapStaticDir(staticDir, directories.configDir);
|
|
419
|
+
server.middlewares.use(
|
|
420
|
+
targetEndpoint,
|
|
421
|
+
(0, import_sirv.default)(staticPath, {
|
|
422
|
+
dev: !0,
|
|
423
|
+
etag: !0,
|
|
424
|
+
extensions: []
|
|
425
|
+
})
|
|
426
|
+
);
|
|
427
|
+
} catch (e) {
|
|
428
|
+
console.warn(e);
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
async transform(code, id) {
|
|
432
|
+
let relativeId = relative(finalOptions.vitestRoot, id);
|
|
433
|
+
if ((0, import_micromatch.match)([relativeId], finalOptions.includeStories).length > 0)
|
|
434
|
+
return vitestTransform({
|
|
435
|
+
code,
|
|
436
|
+
fileName: id,
|
|
437
|
+
configDir: finalOptions.configDir,
|
|
438
|
+
tagsFilter: finalOptions.tags,
|
|
439
|
+
stories: storiesGlobs,
|
|
440
|
+
previewLevelTags
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
if (getComponentTestPaths().length > 0 && plugins.push(createComponentTestTransformPlugin(presets, finalOptions.configDir)), plugins.push(storybookTestPlugin), isVitestStorybook) {
|
|
445
|
+
let projectName = `storybook:${normalize(finalOptions.configDir)}`;
|
|
446
|
+
plugins.push({
|
|
447
|
+
name: "storybook:workspace-name-override",
|
|
448
|
+
config: {
|
|
449
|
+
order: "pre",
|
|
450
|
+
handler: () => ({
|
|
451
|
+
test: {
|
|
452
|
+
name: projectName
|
|
453
|
+
}
|
|
454
|
+
})
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
return plugins;
|
|
459
|
+
}, vitest_plugin_default = storybookTest;
|
|
460
|
+
export {
|
|
461
|
+
vitest_plugin_default as default,
|
|
462
|
+
storybookTest
|
|
463
|
+
};
|