2026-03-07 13:35:26 +03:00
|
|
|
import type { StorybookConfig } from '@storybook/svelte-vite';
|
|
|
|
|
import {
|
|
|
|
|
dirname,
|
|
|
|
|
resolve,
|
|
|
|
|
} from 'path';
|
|
|
|
|
import { fileURLToPath } from 'url';
|
|
|
|
|
import {
|
|
|
|
|
loadConfigFromFile,
|
|
|
|
|
mergeConfig,
|
|
|
|
|
} from 'vite';
|
|
|
|
|
|
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
|
|
|
const __dirname = dirname(__filename);
|
2026-03-06 23:06:11 +03:00
|
|
|
|
|
|
|
|
const config: StorybookConfig = {
|
2026-03-07 13:35:26 +03:00
|
|
|
stories: [
|
|
|
|
|
'../../src/**/*.mdx',
|
|
|
|
|
'../../src/**/*.stories.@(js|ts|svelte)',
|
2026-03-06 23:06:11 +03:00
|
|
|
],
|
2026-03-07 13:35:26 +03:00
|
|
|
addons: [
|
|
|
|
|
{
|
|
|
|
|
name: '@storybook/addon-svelte-csf',
|
|
|
|
|
options: {
|
|
|
|
|
// Use modern template syntax for better performance
|
|
|
|
|
legacyTemplate: false,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
'@chromatic-com/storybook',
|
|
|
|
|
'@storybook/addon-vitest',
|
|
|
|
|
'@storybook/addon-a11y',
|
|
|
|
|
'@storybook/addon-docs',
|
2026-03-06 23:06:11 +03:00
|
|
|
],
|
2026-03-07 13:35:26 +03:00
|
|
|
framework: '@storybook/svelte-vite',
|
|
|
|
|
async viteFinal(config) {
|
|
|
|
|
// This attempts to find your actual vite.config.ts
|
|
|
|
|
const { config: userConfig } = await loadConfigFromFile(
|
|
|
|
|
{ command: 'serve', mode: 'development' },
|
|
|
|
|
resolve(__dirname, '../../vite.config.ts'),
|
|
|
|
|
) || {};
|
|
|
|
|
|
|
|
|
|
const mergedConfig = mergeConfig(config, {
|
|
|
|
|
// Merge resolve/alias parts to maintain path aliases
|
|
|
|
|
resolve: userConfig?.resolve || {},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { svelte } = await import('@sveltejs/vite-plugin-svelte');
|
|
|
|
|
mergedConfig.plugins = mergedConfig.plugins || [];
|
|
|
|
|
|
|
|
|
|
// Add Svelte plugin to process @storybook's .svelte files
|
|
|
|
|
// This prevents Vite from trying to parse them before compilation
|
|
|
|
|
mergedConfig.plugins.unshift(svelte({
|
|
|
|
|
include: [/node_modules\/@storybook\/.+\.svelte$/],
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
return mergedConfig;
|
|
|
|
|
},
|
2026-03-06 23:06:11 +03:00
|
|
|
};
|
2026-03-07 13:35:26 +03:00
|
|
|
|
|
|
|
|
export default config;
|