-
What is the reason this lib doesn't install all of it's dependencies? in the readme this is listed as the install command:
I glossed over the readme and figured that I could use the plugin by running You could say I should've done a better job of reading the readme before trying to use the package, but why require users to copy and paste this huge command instead of relying on the package manager to install these dependencies? Isn't this one of the benefits of package managers? that the manage and install the dependencies of libraries needed by a package? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
I believe |
Beta Was this translation helpful? Give feedback.
-
@brunogonzales yeah i guess my question is: if it needs these parsers and plugins to work properly why are they not dependencies (and listed as such in it's package.json for npm to pick up)? Perhaps there is some valid reason behind this, I'm just genuinely curious what it is. Would love to get pointed towards some reading that explains why this is better than my suggestion. |
Beta Was this translation helpful? Give feedback.
-
There are limitations around this in ESLint today, which they're looking to address. It might be addressed as a part of eslint/rfcs#9. Currently, ESLint recommends to place dependencies in You can see that the Airbnb config does the same: PS: I hope it's OK that I converted this to a discussion - we want to try using this a lot more now that it's enabled :) |
Beta Was this translation helpful? Give feedback.
There are limitations around this in ESLint today, which they're looking to address. It might be addressed as a part of eslint/rfcs#9.
Currently, ESLint recommends to place dependencies in
peerDependencies
:https://eslint.org/docs/developer-guide/shareable-configs#publishing-a-shareable-config
You can see that the Airbnb config does the same:
https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb
PS: I hope it's OK that I converted this to a discussion - we want to try using this a lot more now that it's enabled :)