UNPKG

@storybook/react-vite

Version:

Storybook for React and Vite: Develop, document, and test UI components in isolation

58 lines (54 loc) 2.09 kB
import CJS_COMPAT_NODE_URL_xkh8kf5refo from 'node:url'; import CJS_COMPAT_NODE_PATH_xkh8kf5refo from 'node:path'; import CJS_COMPAT_NODE_MODULE_xkh8kf5refo from "node:module"; var __filename = CJS_COMPAT_NODE_URL_xkh8kf5refo.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_xkh8kf5refo.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_xkh8kf5refo.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ import { __name } from "./_node-chunks/chunk-B77K422O.js"; // src/preset.ts var core = { builder: import.meta.resolve("@storybook/builder-vite"), renderer: import.meta.resolve("@storybook/react/preset") }; var viteFinal = /* @__PURE__ */ __name(async (config, { presets }) => { const plugins = [...config?.plugins ?? []]; const { reactDocgen: reactDocgenOption, reactDocgenTypescriptOptions } = await presets.apply( "typescript", {} ); let typescriptPresent; try { import.meta.resolve("typescript"); typescriptPresent = true; } catch (e) { typescriptPresent = false; } if (reactDocgenOption === "react-docgen-typescript" && typescriptPresent) { plugins.push( (await import("@joshwooding/vite-plugin-react-docgen-typescript")).default({ ...reactDocgenTypescriptOptions, // We *need* this set so that RDT returns default values in the same format as react-docgen savePropValueAsString: true }) ); } if (typeof reactDocgenOption === "string") { const { reactDocgen } = await import("./_node-chunks/react-docgen-AY67S3TH.js"); plugins.unshift( // If react-docgen is specified, use it for everything, otherwise only use it for non-typescript files await reactDocgen({ include: reactDocgenOption === "react-docgen" ? /\.(mjs|tsx?|jsx?)$/ : /\.(mjs|jsx?)$/ }) ); } return { ...config, plugins }; }, "viteFinal"); export { core, viteFinal };