@storybook/react-vite
Version:
Storybook for React and Vite: Develop, document, and test UI components in isolation
58 lines (54 loc) • 2.09 kB
JavaScript
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
};