Skip to content

Suppression only works for the very first directive (which might not be user-controllable) #240

@ghost

Description

An attempt was made to workaround bug #206 downstream by using the suppression feature: bvaughn/react-virtualized#1635
However, that workaround didn't seem to work - the problem still exists with the version deployed afterwards.

I didn't try debugging it, but after a quick code-review I theorize this is caused by additional directives being added before babel-plugin-flow-react-proptypes runs. It might be a different reason, but this stands out.


The code only checks the first directive:

const directives = path.node.directives;
if(directives && directives.length) {
const directive = directives[0];
if (directive.value && directive.value.value === SUPPRESS_STRING) {
suppress = true;
}
}

I'm not sure why this isn't something like:

const directives = path.node.directives ?? []; 
directives.forEach((directive) => {
    if (directive.value && directive.value.value === SUPPRESS_STRING) { 
        suppress = true; 
    }
}) 

Obviously a fix for #206 would be more important, but I think the suppression should also be improved.

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