StorybookのStoryメタデータには動的な値を使えない
どういうことかというと、
code:tsx
const Primary = {
}
や
code:tsx
const Primary = {
};
const Secondary = {
...Primary,
}
は意図した通りに動かないということ。
前者はError fetching /index.jsonエラーでStorybookが動かず、後者はtagsに"hoge"が入らない
話の前提
Storybook: 8.4.2
なぜか
Storybookはindex.jsonに必要なStoryのメタデータを取得する際にJSを評価してないため
BabelでトランスフォームしてASTを見ている
コードを見る感じ、metaのid, title, component, includeStories, excludeStories、各Storyのname, tags, parametersあたりはASTから取得されていそう
ヘルパーのようなものを実装する際に注意。