User:Saul/eslint

From Organic Design wiki
< User:Saul
Revision as of 21:41, 11 October 2018 by Saul (talk | contribs)

Linting is a way to ensure your code follows convention.
There is a package for the text editor atom (atom.io) that intergrates linting, the package is called: "linter-eslint"
The linting config file is stored as ".eslintrc.js"
Here are the dependencies needed for linting vue:

npm i -D babel-eslint eslint eslint-config-standard eslint-plugin-html eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard

Here is the rule set I like to use:

module.exports = {
	root: true,
	parser: "babel-eslint",
	parserOptions: {
		sourceType: "module"
	},
	env: {
		browser: true,
	},
	// https://github.com/standard/standard/blob/master/docs/RULES-en.md
	extends: "standard",
	// required to lint *.vue files
	plugins: [
		"html"
	],
	rules: {
		// disallow single quotes
		quotes: ["error", "double"],
		// force semi-colons
		semi: ["error", "always"],
		// allow tabs
		no-tabs: [0],
		// use tab indentation
		indent: ["error", "tab"],
		// allow paren-less arrow functions
		arrow-parens: 0,
		// allow async-await
		generator-star-spacing: 0,
		// allow debugger during development
		no-debugger: process.env.NODE_ENV === "production" ? 2 : 0
	}
};