Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependencies different from standard #80

Closed
despian opened this issue Jun 20, 2019 · 5 comments · Fixed by #105
Closed

Dependencies different from standard #80

despian opened this issue Jun 20, 2019 · 5 comments · Fixed by #105

Comments

@despian
Copy link

despian commented Jun 20, 2019

Thanks for this package. Hopefully, they will merge these rules.

Why are the packages required to run this listed as peer dependencies instead of normal dependencies? standard just has them listed like this: standard/package.json#L14-L22

Also is there a reason that the version requirements are different to the ones standard are using or is just that you're using greenkeeper? It has caused some problems running regression tests against node v6. Namely using version 9 of eslint-plugin-node instead of 7 breaks compatibility with node 6.

@mightyiam
Copy link
Owner

Thank you for the interest, @despian.

Regarding merging of these rules, there's no intention to merge this into the core Standard rules. There is, however:

  1. Intention for this repo to join the Standard family officially, as you've commented on.
  2. A proposal for official extensions for Standard, which could be a way to more easily use these rules.

Why are the packages required to run this listed as peer dependencies instead of normal dependencies?

This package is not equivalent to https://www.npmjs.com/package/standard. It is equivalent to https://www.npmjs.com/package/eslint-config-standard, which also has the other rules as peerDependencies:

https://github.com/standard/eslint-config-standard/blob/f7d50e01310866458fd844625cf588d4ee39823b/package.json#L50-L56.

This should change. See this RFC: eslint/rfcs#5

Also is there a reason that the version requirements are different to the ones standard are using or is just that you're using greenkeeper?

It does make sense to keep in sync with standard's dependencies actually. I haven't thought of that.

It has caused some problems running regression tests against node v6.

Node.js v6 had reached end-of-life in April. While I did not intentionally de-sync peerDependencies with eslint-config-standard, I don't feel comfortable with downgrading for the purpose of supporting an end-of-life Node.js version. And eslint-config-standard should soon follow in dropping Node.js v6. ESLint v6 already dropped support for Node.js v6.

Are you sure you need Node.js v6 support?

@despian
Copy link
Author

despian commented Jun 21, 2019

I see, thanks for the clarification.

I'm not personally interested in node 6 but a project I've been contributing to @fastify still runs tests against it.

What I did there is just use the older version of eslint-plugin-node. This results in a peer dependency warning but the linting seems to work fine. Do you think this could cause any problems? Is the newer version actually required in some cases?

@mightyiam
Copy link
Owner

@despian sounds like a reasonable workaround.

@mightyiam mightyiam reopened this Jun 21, 2019
@mightyiam
Copy link
Owner

Actually, I'm going to leave this open and say that this is blocked by eslint/eslint#3458 and also Standard adopting the implementation by having its plugins as regular dependencies.

mightyiam added a commit that referenced this issue Aug 5, 2019
BREAKING CHANGE: `eslint-config-standard` has been updated to `13.0.1`.
BREAKING CHANGE: Updatd all peer dependencies. Fixes #80. Fixes #94.

Added option for rule `@typescript-eslint/explicit-function-return-type`: `allowHigherOrderFunctions: true`.

BREAKING CHANGE: `typescript-eslint/parser` is no longer a `peerDependency`, but a `dependency`. Users should remove it from their configuration, as well. Closes #65.

Updated `@typescript-eslint/eslint-plugin` to `1.10.2`.
@mightyiam mightyiam changed the title Dependencies different from standard Have plugins as dependencies (not peerDeps) Aug 5, 2019
@mightyiam mightyiam changed the title Have plugins as dependencies (not peerDeps) Dependencies different from standard Aug 5, 2019
@mightyiam
Copy link
Owner

Splitting #97 out of this.

mightyiam added a commit that referenced this issue Aug 5, 2019
BREAKING CHANGE: `eslint-config-standard` has been updated to `13.0.1`.
BREAKING CHANGE: Updatd all peer dependencies. Fixes #80. Fixes #94.

Added option for rule `@typescript-eslint/explicit-function-return-type`: `allowHigherOrderFunctions: true`.

BREAKING CHANGE: `typescript-eslint/parser` is no longer a `peerDependency`, but a `dependency`. Users should remove it from their configuration, as well. Closes #65.

Updated `@typescript-eslint/eslint-plugin` to `1.10.2`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants