1.0.1 • Published 3 years ago

eslint-config-sudoers-vue v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Eslint Config Fast Lint and Prettify

My custom config for ESLint and Prettier for all my Vue.js projects.

Overview

This config includes eslint, prettier and all relevant plugins and configs to make it work with a single package installation.

Includes:

  • eslint
  • prettier
  • babel-eslint
  • eslint-config-standard
  • eslint-plugin-prettier
  • eslint-plugin-vue

Usage

  1. Install the plugin:
yarn add eslint-config-fast-lint-prettify --dev
  1. Create an .eslintrc file in your project root and add:
{
  "extends": ["sudoers"]
}
  1. Create a .prettierrc.js file in your project root and add:
const prettier = require("eslint-config-sudoers/prettier");

// You can also overwrite some keys in this config

module.exports = prettier;

Alternatively, in your package.json file add the following key:

{
  "prettier": "eslint-config-fast-lint-prettify/prettier"
}
  1. Also recommended to add an .editorconfig file at the project root:
root = true

[*]
indent_style = tab
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
  1. If you're using VSCode, you might want to enable "Format on save" from workspace settings to automatically run prettier on save.

  2. This package is meant to be used as an opinionated standalone. It includes both eslint and prettier. With these you can for example use them in scripts in package.json:

{
  "scripts": {
    "lint": "yarn eslint ."
  }
}

Configurations

It's based on eslint-config-airbnb with some tweaks. You can override or add your own rules in your own .eslintrc file. For example:

{
  "extends": ["fast-lint-prettify"],
  "rules": {
    // your own rules here
  }
}

You can also specify a node or browser environment which enables some linting rules, for example window object on browser, etc.

{
  "extends": ["fast-lint-prettify"],
  "rules": {
    // your own rules here
  },
  "env": {
    // generally you only need one
    "browser": true,
    "node": true
  }
}