cjoudrey / graphql-schema-linter

Validate GraphQL schema definitions against a set of rules
MIT License
694 stars 62 forks source link

[Feat request] Being able to disable rules like in eslint #139

Open tomasAlabes opened 6 years ago

tomasAlabes commented 6 years ago

Hi, first thanks for your work in this project!

I'm using the linter in a project where I don't use Relay, and I have some errors with the relay rules. And if I want to disable them I need to configure all the rules except those 2 (relay-connection-arguments-spec and relay-connection-types-spec). I use apollo-server. I don't see a way to do this with this linter, like with eslint/tslint where you can disable rules through something like:

/* .graphql-schema-linterrc */
{
    "relay-connection-arguments-spec": false,
    "relay-page-info-spec": false
}

And I see the exclude option was removed in https://github.com/cjoudrey/graphql-schema-linter/issues/25.

Ideally this could be a tslint/eslint plugin (https://github.com/cjoudrey/graphql-schema-linter/issues/21) and manage that with those linters. Anyway, I think this is the standard way of linting, and new rules are covered by semver.

What do you think?

cjoudrey commented 6 years ago

Hey @tomasAlabes,

Thanks for the feedback. I've always been a bit hesitant about removing --except functionality.

In retrospect, you're right that once we release 1.x, we could follow semver when adding new rules.

I wouldn't mind re-adding support for a blacklist. For the time being, the --except option still works, it's just been deprecated.

Edit: I'd happily accept a PR that solves #21 if you'd like to tackle that. 😄

tomasAlabes commented 6 years ago

Thanks @cjoudrey for your answer. I didn't know it was just deprecated, I will use it then, that works for now. Do you have a plan to make this linter a tslint/eslint plugin?

cjoudrey commented 6 years ago

I didn't know it was just deprecated, I will use it then, that works for now.

:+1:

Do you have a plan to make this linter a tslint/eslint plugin?

I opened #21 a while ago as a reminder, but I haven't taken the time to look into it yet, mostly because the current command-line suited my needs.

tomasAlabes commented 6 years ago

@cjoudrey cool. As long as --except doesn't get deprecated the option works for me. Except that you want to keep this open to remember not to deprecate the option, feel free to close this issue.

Thanks again!