将 Storybook 与外部 TypeScript 库中的组件自动生成的 argType 结合使用

bar*_*iro 5 webpack rollupjs lerna storybook

我们使用组件在 TypeScript 中构建了一个设计系统库,并在另一个使用转换后的组件库作为包的项目中创建了 Storybook 故事和所有内容。

目前,在每个故事的每个组件中,我们都必须argTypes手动定义所有内容。

  1. 我希望 Storybook 能够从 TypeScript types 中argType理解(组件 props)。
  2. 另外,我希望 Storybook从组件库中获取 JSDoc,因为 IDE 知道这样做。

我尝试推断额外的道具,如Storybook TypeScript 文档中所述:

// .storybook/main.js

module.exports = {
  stories: [],
  addons: [],
  typescript: {
    reactDocgen: 'react-docgen-typescript',
    reactDocgenTypescriptOptions: {
      compilerOptions: {
        allowSyntheticDefaultImports: false,
        esModuleInterop: false,
      },
    }
  }
};

Run Code Online (Sandbox Code Playgroud)

我还尝试使用ComponentMeta<MyProps>(and Meta<MyProps>) 和ComponentStory<MyProps>(and Story<MyProps>) 作为故事类型,但没有帮助。