react-docgen icon indicating copy to clipboard operation
react-docgen copied to clipboard

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

Open binomialstew opened this issue 3 years ago • 1 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?

binomialstew avatar May 18 '22 16:05 binomialstew

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.

danez avatar Jun 05 '22 10:06 danez