From 6bfa81e9a1b36e2f71acee8bb65d543d7cb75907 Mon Sep 17 00:00:00 2001 From: Michael Shilman Date: Fri, 4 Jun 2021 21:42:47 +0800 Subject: [PATCH] CSF tools: Fix ID generation bug --- lib/csf-tools/src/CsfFile.test.ts | 2 +- lib/csf-tools/src/CsfFile.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/csf-tools/src/CsfFile.test.ts b/lib/csf-tools/src/CsfFile.test.ts index d3d2732966e..5fac4c0a1c9 100644 --- a/lib/csf-tools/src/CsfFile.test.ts +++ b/lib/csf-tools/src/CsfFile.test.ts @@ -81,7 +81,7 @@ describe('csf extract', () => { title: foo/bar includeStories: ! /^Include.*/ stories: - - id: foo-bar--includea + - id: foo-bar--include-a name: IncludeA `); }); diff --git a/lib/csf-tools/src/CsfFile.ts b/lib/csf-tools/src/CsfFile.ts index a6bc0d1c23d..ce8f7a52bf2 100644 --- a/lib/csf-tools/src/CsfFile.ts +++ b/lib/csf-tools/src/CsfFile.ts @@ -5,7 +5,7 @@ import { parse } from '@babel/parser'; import generate from '@babel/generator'; import * as t from '@babel/types'; import traverse, { Node } from '@babel/traverse'; -import { toId, isExportStory } from '@storybook/csf'; +import { toId, isExportStory, storyNameFromExport } from '@storybook/csf'; const logger = console; interface Meta { @@ -131,10 +131,10 @@ export class CsfFile { // default export can come at any point in the file, so we do this post processing last self._stories = self._meta && self._meta.title - ? Object.entries(self._stories).reduce((acc, [name, story]) => { - if (isExportStory(name, self._meta)) { - const id = toId(self._meta.title, name); - acc[name] = { ...story, id, parameters: { ...story.parameters, __id: id } }; + ? Object.entries(self._stories).reduce((acc, [key, story]) => { + if (isExportStory(key, self._meta)) { + const id = toId(self._meta.title, storyNameFromExport(key)); + acc[key] = { ...story, id, parameters: { ...story.parameters, __id: id } }; } return acc; }, {} as Record)