@quave/eslint-config-quave

2.5.2 • Public • Published

@quave/eslint-config-quave

npm version

@quave/eslint-config-quave is a group of eslint and prettier configurations to make your Meteor application organized in a standard way.

Why

We believe applications should be organized and checked before every commit.

We believe we are not reinventing the wheel in this package but what we are doing is like putting together the wheels in the vehicle :).

Installation

Install the npm dependency

npm i -D @quave/eslint-config-quave

Add to the root of your package.json

  "eslintConfig": {
    "extends": [
      "@quave/quave"
    ]
  },

Create in the root of your project prettier.config.js file and paste this

module.exports = require('@quave/eslint-config-quave/prettier.config');

Create in the root of your project .prettierignore file and paste this

.meteor

Usage

Automatic check your changed files before every commit, paste this in your package.json root.

  "husky": {
    "hooks": {
      "pre-commit": "meteor npm test && lint-staged",
      "post-commit": "git update-index --again"
    }
  },
  "lint-staged": {
    "*.js": [
      "eslint --fix",
      "prettier --write",
      "git add"
    ]
  },

If you don't have tests you can remove meteor npm test from the hooks, but it's a good idea to have fast tests that run before every commit.

If you have jsx files as well, you can use:

  "lint-staged": {
    "*.{js|jsx}": [
      "eslint --fix",
      "prettier --write",
      "git add"
    ]
  }

Optional

Set the custom commands if you want to run eslint or prettier manually or both. Add this to your package.json

  {
    "scripts": {
      "quave-eslint": "eslint . --fix",
      "quave-prettier": "prettier --write \"**/*.js\"",
      "quave-check": "npm run quave-eslint && npm run quave-prettier"
    }
  }

If you have jsx files as well, you can use:

  "quave-prettier": "prettier --write \"**/*.js\" \"**/*.jsx\"",

Limitations

We consider an error console.log but in some cases you want to use it, then you should disable for the next line and use it.

// eslint-disable-next-line no-console
console.log('Important log...');

Dependencies Notes

  • Husky 4.3.8 is working but newer versions are not (more)
  • prettier-plugin-tailwindcss is working 0.4.1 but newer versions are not (more)

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @quave/eslint-config-quave

Weekly Downloads

413

Version

2.5.2

License

MIT

Unpacked Size

8.35 kB

Total Files

5

Last publish

Collaborators

  • matheusccastro
  • edimarlnx
  • filipenevola
  • denyhs