GithubHelp home page GithubHelp logo

Comments (11)

chenop avatar chenop commented on May 5, 2024 18

Webstorm 2019.2

  1. Settings --> Languages & Frameworks --> JavaScript --> Libraries
  2. Download --> search for "prop-types" --> Download and Install --> Ok

from prop-types.

thebuilder avatar thebuilder commented on May 5, 2024 11

https://youtrack.jetbrains.com/issue/WEB-26418

from prop-types.

codebymikey avatar codebymikey commented on May 5, 2024 2

Based on the issue liked by @thebuilder, this should be fixed in Webstorm 2017.1.3.

from prop-types.

lashae avatar lashae commented on May 5, 2024 1

@thebuilder I installed the package you referenced, invalidated Webstorm cache and restarted however issue still remains.

from prop-types.

gaearon avatar gaearon commented on May 5, 2024 1

Thanks for raising! Closing as this is not actionable for us, but glad you filed the issue with WS.

from prop-types.

 avatar commented on May 5, 2024

Same. Holy shit.

from prop-types.

Odrin avatar Odrin commented on May 5, 2024

Yep, same here. Very annoying.

from prop-types.

MichaelDeBoey avatar MichaelDeBoey commented on May 5, 2024

Not sure if this is a problem of the module or it's a problem of Webstorm (some config) itself?

from prop-types.

thebuilder avatar thebuilder commented on May 5, 2024

Adding the TypeScript d.ts files to a project usually helps with code completion in WebStorm. Check out DefinitelyTyped. Adding the React package was the only way i could get React code completion (and React.PropTypes) to work.

A prop-types package has just been added, try it! https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/prop-types/

from prop-types.

thebuilder avatar thebuilder commented on May 5, 2024

@lashae Yeah, tried it myself. Seems WebStorm can't make the connection between it and the prop-types module. I'm no TypeScript expert, so not sure what the correct way of setting up a package like this is.

I did manage to partially fix it by wrapping the interfaces in a typescript module. This removes the WebStorm warning, but doesn't provide the code hinting.

prop-types.d.ts

declare module "prop-types" {
  interface Validator<T> {
    (object: T, key: string, componentName: string, ...rest: any[]): Error | null;
  }

  interface Requireable<T> extends Validator<T> {
    isRequired: Validator<T>;
  }

  type ValidationMap<T> = { [K in keyof T]?: Validator<T> };

  interface PropTypes {
    string: Requireable<any>;
    any: Requireable<any>;
    array: Requireable<any>;
    bool: Requireable<any>;
    func: Requireable<any>;
    number: Requireable<any>;
    object: Requireable<any>;
    string: Requireable<any>;
    node: Requireable<any>;
    element: Requireable<any>;
    instanceOf(expectedClass: {}): Requireable<any>;
    oneOf(types: any[]): Requireable<any>;
    oneOfType(types: Validator<any>[]): Requireable<any>;
    arrayOf(type: Validator<any>): Requireable<any>;
    objectOf(type: Validator<any>): Requireable<any>;
    shape(type: ValidationMap<any>): Requireable<any>;
  }
}

I'm guessing the actual problem with code completion is due to the way the React packages are distibuted - Maybe WebStorm can't handle the dev/production env switches

from prop-types.

lashae avatar lashae commented on May 5, 2024

@thebuilder What do you think the best thing to do is now? Should we open an issue on Webstorm issue tracker or try to reach someone (preferable a contributer) at least to verify that this issue is due to prop-types project?

from prop-types.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.