This package provides NodeBB's .eslintrc for server & client sides as an extensible shared config.
We export two ESLint configurations for your usage.
Both configurations require eslint
and eslint-plugin-import
.
Our default export is used to lint the backend-side. You should use it at the root of your plugins/themes/etc.
This config is based on airbnb-base
config with some overwritten rules.
- Install
peerDependencies
- Add
"extends": "nodebb"
or"extends": "nodebb/lib"
to your.eslintrc
.
Second configuration is used to lint the frontend-side. You should use it in the folder with files for client (scripts, acpScripts, etc.).
- Install
peerDependencies
- Add
"extends": "nodebb/public"
to your.eslintrc
.
This config requires eslint
and eslint-plugin-import
.
Install the correct versions of each package, which are listed by the command:
npm info "eslint-config-nodebb@latest" peerDependencies
If using npm 5+, use this shortcut
npx install-peerdeps --dev eslint-config-nodebb
If using yarn, you can also use the shortcut described above if you have npm 5+ installed on your machine, as the command will detect that you are using yarn and will act accordingly.
Otherwise, run npm info "eslint-config-nodebb@latest" peerDependencies
to list the peer dependencies and versions, then run yarn add --dev <dependency>@<version>
for each listed peer dependency.
If using npm < 5, Linux/OSX users can run
(
export PKG=eslint-config-nodebb;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
Which produces and runs a command like:
npm install --save-dev eslint-config-nodebb eslint@^#.#.# eslint-plugin-import@^#.#.#
If using npm < 5, Windows users can either install all the peer dependencies manually, or use the install-peerdeps cli tool.
npm install -g install-peerdeps
install-peerdeps --dev eslint-config-nodebb
The cli will produce and run a command like:
npm install --save-dev eslint-config-nodebb eslint@^#.#.# eslint-plugin-import@^#.#.#