varHarrie / varharrie.github.io

:blue_book: Personal blog site based on github issues.
https://varharrie.github.io
MIT License
3.66k stars 544 forks source link

Linters #25

Open varHarrie opened 5 years ago

varHarrie commented 5 years ago

Linters

JavaScript

$ npm i -D eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node
// .eslintrc
{
  "extends": ["standard"]
}

TypeScript

$ npm i -D tslint tslint tslint-config-standard
// tslint.json
{
  "extends": [
    "tslint:latest",
    "tslint-config-standard"
  ],
  "rules": {
    "indent": [true, "spaces", 2],
    "interface-name": [true, "never-prefix"],
    "max-classes-per-file": true,
    "max-line-length": [true, 120],
    "member-ordering": [true, {"order": ["static-field", "static-method", "instance-field", "constructor", "instance-method"]}],
    "no-any": false,
    "no-empty-interface": false,
    "no-floating-promises": false,
    "no-shadowed-variable": true,
    "no-string-literal": true,
    "no-submodule-imports": false,
    "object-literal-sort-keys": false,
    "ordered-imports": false,
    "switch-default": true
  }
}

TypeScript + React

$ npm i -D tslint tslint tslint-config-standard tslint-react
// tslint.json
{
  "extends": [
    "tslint:latest",
    "tslint-config-standard",
    "tslint-react"
  ],
  "rules": {
    "indent": [true, "spaces", 2],
    "interface-name": [true, "never-prefix"],
    "jsx-boolean-value": [true, "never"],
    "jsx-no-multiline-js": false,
    "max-classes-per-file": true,
    "max-line-length": [true, 120],
    "member-ordering": [true, {"order": ["static-field", "static-method", "instance-field", "constructor", "instance-method"]}],
    "no-any": false,
    "no-empty-interface": false,
    "no-floating-promises": false,
    "no-shadowed-variable": true,
    "no-string-literal": true,
    "no-submodule-imports": false,
    "object-literal-sort-keys": false,
    "ordered-imports": false,
    "switch-default": true
  }
}