Cloud Four's shareable ESLint configuration

Usage no npm install needed!

<script type="module">
  import cloudfourEslintPlugin from 'https://cdn.skypack.dev/@cloudfour/eslint-plugin';



NPM version Renovate Status

Cloud Four's ESLint configuration. This exports itself as a "super-plugin" because of a limitation of ESLint.

The way this works is that it requires all of the plugin dependencies, and exports them from this plugin under a prefix.

The plugins that this exposes are:

To override settings for any of these plugins, you must prefix the configuration with cloudfour/, because the plugins are exposed through this "super-plugin".

  "extends": ["plugin:@cloudfour/recommended"],
  "rules": {
    "@cloudfour/promise/no-native": "off"


npm install --save-dev @cloudfour/eslint-plugin eslint prettier


Add this to your package.json:

  "scripts": {
    "check-lint": "eslint . && prettier --check .",
    "lint": "eslint --fix . && prettier --write ."
  "eslintConfig": {
    "extends": "plugin:@cloudfour/recommended"
  "prettier": {
    "singleQuote": true

Check for Lint Errors

npm run check-lint

Fix Lint Errors

This command will attempt to automatically fix lint errors. Note that not all lint errors can be fixed this way, so be prepeared to fix any remaining errors by hand.

npm run lint

Troubleshooting Note

This config relies on using a version of eslint installed locally to your project. If you also have eslint installed globally, it's possible to run into conflicts. To avoid any problems, either:

  • Just use the npm run check-lint and npm run lint scripts, which will run the local version of eslint.
  • Or, if you prefer to run eslint by hand, use npx, which will run the local version of eslint. eg, npx eslint '**/*.js'