reactjs / react-docgen

A CLI and library to extract information from React component files for documentation generation purposes.

Home Page:https://react-docgen.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to generate correct prop types when the prop-types package is not explicitly imported?

binomialstew opened this issue · comments

Is there a recommended way to generate prop types when the prop-types package is not explicitly imported into each component? For example, in my project, PropTypes is provided as a global through webpack's providePlugin:

config: {
    plugins: [
        new ProvidePlugin({
               PropTypes: 'prop-types',
        }),
    ]
};

So PropTypes is available to any react component—even when it is not imported.

I see the resolveToModule util looks for the prop-types import, and if it is not found, we end up with custom prop types rather than their actual type, like string or bool. It seems I can create a handler to generate prop types even when the prop-types package is not explicitly imported, but is there an already existing handler or other way to do this that addresses this case?

There is currently no way, but I have already thought about loosening the requirements. So basically if the format is correct (objectexpression in propTypes property, call expression with a known proptypes method and correct arguments T.shape({})) That should be enough to consider this correct proptypes.