storybookはルートのvite.config.ts以外のvite configを指定していても必ずルートのものも読む
https://storybook.js.org/docs/builders/vite#override-the-default-configuration
code:main.ts
export default {
stories: '../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)',
core: {
builder: {
name: '@storybook/builder-vite',
options: {
viteConfigPath: '../customVite.config.js',
},
},
},
};
このように指定していても、プロジェクトルートのvite.config.tsは読み込まれてしまうので、storybookで動くことを想定していないpluginを使っている場合は注意。
RemixのcloudflareDevProxyVitePluginを使っていたら、storybook buildがなんのエラーも出さずにハングするようになって数時間溶かしたので覚書。storybook devの方は問題にならなかったが理由は不明。
https://remix.run/docs/en/main/guides/vite#cloudflare-proxy
あとremixプラグインの方は何も悪さしないのも謎。カスタムのvite configを指定していないと以下のような問題は起きるので、なんか暗黙にルートとカスタムconfigのマージを行っているっぽい?
https://github.com/storybookjs/storybook/discussions/25519