Configuration for setting up the CBT ESLint rules.
This script will install and save (as devDependencies) everything that is needed to run our eslint rules in the project that the script is executed:
export PKG=eslint-config-cbtnuggets
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm i "$PKG@latest" --save-dev
export PKG=eslint-config-cbtnuggets
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs yarn add -D "$PKG@latest"
export PKG=eslint-config-cbtnuggets
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm i -g "$PKG@latest"
If migrating from an earlier version, simply running the install script again will install the latest project and all of its peerDependencies.
Create an .eslintrc file in the base directory that you want to apply the given rule set.
Multiple .eslintrc can be used if needed.
{
"extends": "cbtnuggets/rules/node-es6"
}
{
"extends": "cbtnuggets/rules/node-strict"
}
{
"extends": "cbtnuggets/rules/node"
}
{
"extends": "cbtnuggets/rules/react"
}
For global installs, run something like:
eslint ./FILE-TO-TEST.js
For project level installs, run something like:
node ./node_modules/eslint/bin/eslint.js ./FILE-TO-TEST.js
This section outlines setting up a development environment to modify this project (the "test project" is the project that will be used to verify the changes to eslint rules)
Create a link from the eslint-config-cbtnuggets project:
npm link
Make sure to remove the eslint-config-cbtnuggets project if it is currently installed.
Install all the dependencies in the project to use for testing the eslint (i.e. install eslint and all the plugins).
Basically install everything listed in eslint-config-cbtnuggets package.json peerDependencies
Example:
npm install "eslint"@"^4.17.0" "eslint-plugin-class-property"@"^1.0.1" "eslint-plugin-import"@"^2.8.0" "eslint-plugin-jsx-a11y"@"^6.0.3" "eslint-plugin-react"@"^7.6.1"
Link to eslint-config-cbtnuggets project:
npm link eslint-config-cbtnuggets