styleguidist / react-docgen-typescript

A simple parser for react properties defined in typescript instead of propTypes.
MIT License
1.19k stars 252 forks source link

Invalid `displayName` parsing starting with v2.1.0 #395

Open jzempel opened 2 years ago

jzempel commented 2 years ago

After the removal of the parsing filter in #368, the first displayName encountered is selected, whether or not its component is exported. To test, add the following lines to the end of https://github.com/styleguidist/react-docgen-typescript/blob/master/examples/react-styleguidist-example/components/HocComponent.tsx:

Component.displayName = 'DisplayNameError';
HocComponent.displayName = 'DisplayNameSuccess';

Invalid results based on v2.1.0, tested via node -e 'console.log(require("react-docgen-typescript").parse("./ModifiedHocComponent.tsx"))'...

[
  {
    tags: {},
    filePath: './ModifiedHocComponent.tsx',
    description: '',
    displayName: 'DisplayNameError',
    methods: [],
    props: {}
  }
]

Valid results based on v2.0.0, testing the same...

[
  {
    tags: {},
    filePath: './ModifiedHocComponent.tsx',
    description: '',
    displayName: 'hoc',
    methods: [],
    props: {}
  },
  {
    tags: {},
    filePath: './ModifiedHocComponent.tsx',
    description: 'This example shows HocComponent',
    displayName: 'DisplayNameSuccess',
    methods: [],
    props: {
      prop1: [Object],
      prop2: [Object],
      prop3: [Object],
      prop4: [Object]
    }
  }
]
pvasek commented 2 years ago

I am surprised that this wasn't included in our test cases before :( You are right that as PR #368 fixed one thing, it broke this one.

jesstelford commented 2 years ago

Is this the same issue as in https://github.com/styleguidist/react-docgen-typescript/issues/437? And would the suggested fix there, also fix this case?

kylemh commented 2 years ago

Can you re-open this @pvasek - it was closed with #441

pvasek commented 2 years ago

@kylemh thanks for pointing that out.

github-actions[bot] commented 1 year ago

There was no activity for a long time. The issue will be closed soon.

kylemh commented 1 year ago

This issue has an open PR awaiting code review.

github-actions[bot] commented 2 days ago

There was no activity for a long time. The issue will be closed soon.

kylemh commented 1 day ago

I've never liked you.