46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import type { StorybookConfig } from '@storybook/nextjs'
|
|
import path from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const storybookDir = path.dirname(fileURLToPath(import.meta.url))
|
|
|
|
const config: StorybookConfig = {
|
|
stories: ['../app/components/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
addons: [
|
|
'@storybook/addon-onboarding',
|
|
'@storybook/addon-links',
|
|
'@storybook/addon-docs',
|
|
'@chromatic-com/storybook',
|
|
],
|
|
framework: {
|
|
name: '@storybook/nextjs',
|
|
options: {
|
|
builder: {
|
|
useSWC: true,
|
|
lazyCompilation: false,
|
|
},
|
|
nextConfigPath: undefined,
|
|
},
|
|
},
|
|
staticDirs: ['../public'],
|
|
core: {
|
|
disableWhatsNewNotifications: true,
|
|
},
|
|
docs: {
|
|
defaultName: 'Documentation',
|
|
},
|
|
webpackFinal: async (config) => {
|
|
// Add alias to mock problematic modules with circular dependencies
|
|
config.resolve = config.resolve || {}
|
|
config.resolve.alias = {
|
|
...config.resolve.alias,
|
|
// Mock the plugin index files to avoid circular dependencies
|
|
[path.resolve(storybookDir, '../app/components/base/prompt-editor/plugins/context-block/index.tsx')]: path.resolve(storybookDir, '__mocks__/context-block.tsx'),
|
|
[path.resolve(storybookDir, '../app/components/base/prompt-editor/plugins/history-block/index.tsx')]: path.resolve(storybookDir, '__mocks__/history-block.tsx'),
|
|
[path.resolve(storybookDir, '../app/components/base/prompt-editor/plugins/query-block/index.tsx')]: path.resolve(storybookDir, '__mocks__/query-block.tsx'),
|
|
}
|
|
return config
|
|
},
|
|
}
|
|
export default config
|