Add eslint plugins? #386

Closed
jescalan opened this Issue Jan 15, 2016 · 1 comment

Projects

None yet

3 participants

@jescalan

So I have been looking at flow, and would very much like to try it out for a project I'm working on to get some of the lovely benefits of strong typing. However, standard isn't happy about the type annotations when I start adding them in.

I found a nice eslint plugin that strips the type annotations for you, and started looking into whether it was possible to use this with standard, but it doesn't seem like it.

Any thoughts on the possibility of letting users add eslint plugins? In this case, the type annotations don't make it past the babel compile anyway, so it's not bending the rules of standard.js in any way. Standard already does accept custom parsers too, so I'm hoping it would be reasonable to add plugins as well.

If this does sound ok, I'd be happy to contribute!

@dcousens dcousens added the question label Jan 15, 2016
@feross feross added feature request v6 and removed question labels Feb 4, 2016
@feross feross added a commit to Flet/standard-engine that referenced this issue Feb 4, 2016
@feross Add --plugin option
So users can specify a custom plugin.

For user that need flowtype support, or whatever the new flavor of the
week will be in the future.

Fixes feross/standard#386
f10e85a
@feross feross referenced this issue in Flet/standard-engine Feb 4, 2016
Merged

Add --plugin option #56

@feross
Owner
feross commented Feb 4, 2016

Sure. This isn't the first issue about support for flowtype. See: #306, #186, and #157

I've been wanting to expose the underlying eslint configurability via package.json and command line option so that we can put an end to all the requests to support X, Y, or Z JavaScript extension.

In the past, I've rejected such things on the basis that we want to avoid configurability in standard, since that's kinda the whole point.

But, users use JSX, Babel, React, Flow, and a bunch of other things. Rather than support them in standard core, I want to move to a model where standard continues to Just Work out of the box, but we expose the necessary hooks for adding support for whatever flavor of the week thing decides to extend the built-in JS syntax.

So, with all that said, here's a PR to add support to standard-engine for setting plugins: Flet/standard-engine#56

Works in package.json:

{
  "standard": {
    "plugins": [ "my-plugin" ]
  }
}

Or via command line option:

standard --plugin my-plugin

This will be released in standard v6.

@feross feross closed this Feb 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment