Skip to content
This repository was archived by the owner on Nov 20, 2020. It is now read-only.
This repository was archived by the owner on Nov 20, 2020. It is now read-only.

Failure to describe props defined externally (without a corresponding component) #101

@daniel-ac-martin

Description

@daniel-ac-martin

Note: This may be an inherited limitation of react-docgen-typescript.

Consider a project with the following files:

// MyComponent.tsx
import { CommonProps } from './common';

export type MyComponentProps = CommonProps & {
  /** Description for myProp */
  myProps?: string
};

export const MyComponent = (props: MyComponentProps) => null;
// common.ts
export type CommonProps = {
  /** Description for common prop */
  common?: string
};

Naively, one would expect the common prop to be properly documented on MyComponent and whilst the common prop does appear the docgen description is NOT included.

However, it is possible to coax the loader into the expected behaviour by defining a 'fake' component alongside the CommonProps. e.g.

// common.ts
export type CommonProps = {
  /** Description for common prop */
  common?: string
};

// WORKAROUND: An otherwise pointless component in order to coax react-docgen-typescript-loader
const StandardComponent = (props: StandardProps) => null;

I suspect this will be a limitation of the underlying react-docgen-typescript library but I've not delved deep enough into the issue to know for sure or to know if there is a nice way to fix this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions