@digitalrisks/eslint-config

0.0.13 • Public • Published

Digital Risks ESLint Config

ESlint

Usage

  1. Add this to devDependencies: @digitalrisks/eslint-config

ESLint

  1. yarn add -D eslint if not already present locally or globally

  2. Create a .eslintrc.js file

  3. Extend the config:

{
  "extends": [
    "@digitalrisks/eslint-config/eslint"
  ]
}

Full example

A full example .eslintrc.js for a project with babel support:

Dont forget to npm i -D babel-eslint or yarn add -D babel-eslint

module.exports = {
  "root": true,
  "parserOptions": {
    "parser": "babel-eslint",
    "sourceType": "module"
  },
  "extends": [
    "@digitalrisks/eslint-config/eslint"
  ],
}

Stylelint

  1. yarn add -D stylelint if not already present locally or globally

  2. Create a .stylelint.js file

  3. Extend the styleling config:

module.exports = {
  extends: [
    "@digitalrisks/eslint-config/stylelint",
  ]
}

Prettier

Note, we aren't using prettier on .vue files due the poor formatting on blocks

  1. yarn add -D prettier if not already present locally or globally

  2. Create a .prettierrc.js file

  3. Use settting from this package

const prettier = require('@digitalrisks/eslint-config/prettier')
module.exports = prettier

package.json scripts

  1. Set up scripts in packages.json
"scripts": {
    "lint:eslint": "eslint --fix",
    "lint:all:eslint": "yarn lint:eslint --ext .js,.vue .",
    "lint:prettier": "prettier --write --loglevel warn",
    "lint:all:prettier": "yarn lint:prettier \"**/*.{json,md}\"",
    "lint:stylelint": "stylelint --fix",
    "lint:all:stylelint": "yarn lint:stylelint \"src/**/*.{vue,css}\"",
    "lint": "run-s lint:all:*"
  },
  1. yarn add -D npm-run-all

preCommit linting

  1. yarn add -D lint-staged cross-env or if NOT using vue-cli yarn add -D yorkie lint-staged cross-env

  2. Create lint-staged.config.js

module.exports = {
  '*.js': [ 'yarn lint:eslint', 'git add' ],
  '{!(package)*.json,*.code-snippets,.!(browserslist)*rc}': [ 'yarn lint:prettier --parser json', 'git add' ],
  'package.json': [ 'yarn lint:prettier', 'git add' ],
  '*.vue': [ 'yarn lint:eslint', 'git add' ],
  '*.css': [ 'yarn lint:stylelint', 'git add' ],
  // '*.md': ['yarn lint:markdownlint', 'yarn lint:prettier', 'git add' ],
}
  1. Add gitHook to package.json
"gitHooks": {
    "pre-commit": "cross-env PRE_COMMIT=true lint-staged"
  },

Additional Notes

Setup inspired by @nuxtjs/eslint-config & eslint-config-standard

Readme

Keywords

none

Package Sidebar

Install

npm i @digitalrisks/eslint-config

Weekly Downloads

13

Version

0.0.13

License

none

Unpacked Size

10 kB

Total Files

10

Last publish

Collaborators

  • sanscheese
  • shmarts