Compare commits
106 Commits
Author | SHA1 | Date | |
---|---|---|---|
a5019ebc60 | |||
429404c8e2 | |||
75ab45106f | |||
e66c5dd233 | |||
095a31c8fb | |||
a7aeded009 | |||
2b9c6380f0 | |||
ee0e9ca2e4 | |||
84a6f6a0f1 | |||
27c334ef9b | |||
14cecabc10 | |||
10507bf4d5 | |||
7f69fc6b1e | |||
802224efd3 | |||
65cf95c441 | |||
2c62da8dec | |||
e1d7895283 | |||
75912b5777 | |||
adf39edc06 | |||
43a293985c
|
|||
fd0218c01e
|
|||
a3a2934e43
|
|||
28516614a3
|
|||
1b9319f0f7
|
|||
c94f480062
|
|||
7398379ef8
|
|||
3d805a1417
|
|||
4aa0bc667b | |||
2bdf5c8799
|
|||
bbc0fca985
|
|||
f12fa08c45
|
|||
4431cd50b1
|
|||
c2ad7f211e
|
|||
e214aeb8a5
|
|||
3f3d4da18b
|
|||
1380e38397 | |||
5ab5dadfc1 | |||
838f58e1cd
|
|||
a03e6513cb
|
|||
78586ee73c
|
|||
9ba18706cd
|
|||
4925f485ea
|
|||
46d05009cc
|
|||
582698ebfa
|
|||
5d9c8c8b4e
|
|||
3c92284822
|
|||
09caa0dcba
|
|||
a40468c437
|
|||
694ac9c74d
|
|||
9ff6063149
|
|||
d604a6f373
|
|||
3dd60105f6
|
|||
e3f0415e2b
|
|||
43b1db10b8
|
|||
3e8a92c176
|
|||
0a76f652a9
|
|||
75f7453fb1
|
|||
db71e72427
|
|||
487b390fd3
|
|||
32dd591751
|
|||
1f204d1b8d
|
|||
b4225e3424
|
|||
dfac7f5138
|
|||
0b14a22716
|
|||
b9cabcb54b
|
|||
18c9632298
|
|||
ff60ccfbd9
|
|||
3467c5b216
|
|||
ca6f51b665
|
|||
dbccc60825
|
|||
4aeb8473fa
|
|||
5e92aa597a
|
|||
79d28d317b
|
|||
50fd33ae97
|
|||
9ea945c950
|
|||
99f00817e0
|
|||
621602e88b
|
|||
f8b812927a
|
|||
2131004cc8
|
|||
93b869a963
|
|||
c1dc196903
|
|||
f448b3ca98
|
|||
e0b6ba13a1
|
|||
1fb28ac1a6
|
|||
67756a276d
|
|||
04e0fe6a31
|
|||
3f111c5b78
|
|||
9dd76a6ab4
|
|||
fee0f21f2f
|
|||
f8e6286350
|
|||
5c7fa64f19
|
|||
e87fbc4bb9
|
|||
bbf940aafe
|
|||
7adf510a94
|
|||
a2f1c52972
|
|||
98f096b481
|
|||
937a2257f8
|
|||
0419c2558d
|
|||
b00af86b1b
|
|||
72b09d4176
|
|||
e7da809741
|
|||
39cc9c02d9
|
|||
7d84ff8e8e
|
|||
385c4f57ed
|
|||
577faf9774
|
|||
656bc470f7
|
@ -12,5 +12,7 @@ tab_width = 4
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
|
19
.github/workflows/publish.yml
vendored
Normal file
19
.github/workflows/publish.yml
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
name: Publish
|
||||
|
||||
on:
|
||||
create:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '13.x'
|
||||
- run: npm install
|
||||
- run: npm run build
|
||||
- run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_AUTH_TOKEN }}" > ~/.npmrc
|
||||
- run: npm publish
|
8
.gitignore
vendored
8
.gitignore
vendored
@ -198,9 +198,5 @@ $RECYCLE.BIN/
|
||||
### Project ###
|
||||
|
||||
# Resulting code
|
||||
/_tslib-*.js
|
||||
/default-*.js
|
||||
/javascript.js
|
||||
/typescript.js
|
||||
/vue-javascript.js
|
||||
/vue-typescript.js
|
||||
/*.js
|
||||
|
||||
|
@ -197,12 +197,17 @@ $RECYCLE.BIN/
|
||||
|
||||
### Project ###
|
||||
|
||||
# Documentation
|
||||
|
||||
docs/
|
||||
|
||||
# Source code
|
||||
src/
|
||||
|
||||
# Configuration file
|
||||
.editorconfig
|
||||
.eslintrc.json
|
||||
.github/
|
||||
.gitignore
|
||||
rollup.config.js
|
||||
tsconfig.json
|
||||
|
92
README.md
92
README.md
@ -1 +1,91 @@
|
||||
# Personal ESLint configuration
|
||||
<p align="center">
|
||||
<img height="60px" width="60px" src="https://eslint.org/assets/img/favicon.512x512.png" />
|
||||
<h1 align="center">Personal ESLint configuration</h1>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.com/package/@valentineus/eslint-config">
|
||||
<img src="https://flat.badgen.net/npm/v/@valentineus/eslint-config" />
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/@valentineus/eslint-config">
|
||||
<img src="https://flat.badgen.net/packagephobia/install/@valentineus/eslint-config" />
|
||||
</a>
|
||||
<a href="https://github.com/valentineus/eslint-config">
|
||||
<img src="https://flat.badgen.net/github/last-commit/valentineus/eslint-config" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Configurations
|
||||
|
||||
* `javascript`
|
||||
* `typescript`
|
||||
* `react-javascript`
|
||||
* `react-typescript`
|
||||
* `vue-javascript`
|
||||
* `vue-typescript`
|
||||
|
||||
## Example
|
||||
|
||||
* Install dependencies:
|
||||
|
||||
```shell script
|
||||
npm install --save-dev @typescript-eslint/eslint-plugin \
|
||||
@typescript-eslint/parser \
|
||||
@valentineus/eslint-config \
|
||||
eslint \
|
||||
eslint-plugin-eslint-comments \
|
||||
eslint-plugin-import \
|
||||
eslint-plugin-jsx-a11y \
|
||||
eslint-plugin-react \
|
||||
eslint-plugin-react-hooks \
|
||||
eslint-plugin-security \
|
||||
eslint-plugin-sonarjs \
|
||||
eslint-plugin-unicorn \
|
||||
eslint-plugin-vue
|
||||
|
||||
# or
|
||||
yarn add --dev @typescript-eslint/eslint-plugin \
|
||||
@typescript-eslint/parser \
|
||||
@valentineus/eslint-config \
|
||||
eslint \
|
||||
eslint-plugin-eslint-comments \
|
||||
eslint-plugin-import \
|
||||
eslint-plugin-jsx-a11y \
|
||||
eslint-plugin-react \
|
||||
eslint-plugin-react-hooks \
|
||||
eslint-plugin-security \
|
||||
eslint-plugin-sonarjs \
|
||||
eslint-plugin-unicorn \
|
||||
eslint-plugin-vue
|
||||
```
|
||||
|
||||
* Create config file:
|
||||
|
||||
```json
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true
|
||||
},
|
||||
"extends": [
|
||||
"@valentineus/eslint-config/vue-typescript"
|
||||
],
|
||||
"globals": {
|
||||
"Atomics": "readonly",
|
||||
"SharedArrayBuffer": "readonly"
|
||||
},
|
||||
"parserOptions": {
|
||||
"createDefaultProgram": true,
|
||||
"ecmaVersion": 2020,
|
||||
"project": "tsconfig.json",
|
||||
"sourceType": "module",
|
||||
"tsconfigRootDir": "."
|
||||
},
|
||||
"rules": {}
|
||||
}
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[Apache-2.0](LICENSE.txt).
|
||||
Copyright (c) [Valentin Popov](mailto:info@valentineus.link).
|
||||
|
620
ROADMAP.md
620
ROADMAP.md
@ -1,620 +0,0 @@
|
||||
# Road Map
|
||||
|
||||
## ESLint
|
||||
|
||||
- [ ] "accessor-pairs"
|
||||
- [ ] "array-bracket-newline"
|
||||
- [ ] "array-bracket-spacing"
|
||||
- [X] "array-callback-return"
|
||||
- [ ] "array-element-newline"
|
||||
- [ ] "arrow-body-style"
|
||||
- [X] "arrow-parens"
|
||||
- [X] "arrow-spacing"
|
||||
- [ ] "block-scoped-var"
|
||||
- [ ] "block-spacing"
|
||||
- [X] "brace-style"
|
||||
- [X] "callback-return"
|
||||
- [X] "camelcase"
|
||||
- [ ] "capitalized-comments"
|
||||
- [X] "class-methods-use-this"
|
||||
- [X] "comma-dangle"
|
||||
- [X] "comma-spacing"
|
||||
- [X] "comma-style"
|
||||
- [ ] "complexity"
|
||||
- [ ] "computed-property-spacing"
|
||||
- [ ] "consistent-return"
|
||||
- [ ] "consistent-this"
|
||||
- [ ] "constructor-super"
|
||||
- [X] "curly"
|
||||
- [ ] "default-case"
|
||||
- [ ] "default-case-last"
|
||||
- [ ] "default-param-last"
|
||||
- [ ] "dot-location"
|
||||
- [X] "dot-notation"
|
||||
- [X] "eol-last"
|
||||
- [X] "eqeqeq"
|
||||
- [ ] "for-direction"
|
||||
- [ ] "func-call-spacing"
|
||||
- [ ] "func-name-matching"
|
||||
- [ ] "func-names"
|
||||
- [ ] "func-style"
|
||||
- [X] "function-call-argument-newline"
|
||||
- [ ] "function-paren-newline"
|
||||
- [ ] "generator-star-spacing"
|
||||
- [ ] "getter-return"
|
||||
- [ ] "global-require"
|
||||
- [ ] "grouped-accessor-pairs"
|
||||
- [ ] "guard-for-in"
|
||||
- [X] "handle-callback-err"
|
||||
- [ ] "id-blacklist"
|
||||
- [X] "id-length"
|
||||
- [ ] "id-match"
|
||||
- [ ] "implicit-arrow-linebreak"
|
||||
- [X] "indent"
|
||||
- [X] "indent-legacy"
|
||||
- [ ] "init-declarations"
|
||||
- [ ] "jsx-quotes"
|
||||
- [X] "key-spacing"
|
||||
- [X] "keyword-spacing"
|
||||
- [ ] "line-comment-position"
|
||||
- [X] "linebreak-style"
|
||||
- [X] "lines-around-comment"
|
||||
- [X] "lines-around-directive"
|
||||
- [X] "lines-between-class-members"
|
||||
- [ ] "max-classes-per-file"
|
||||
- [ ] "max-depth"
|
||||
- [X] "max-len"
|
||||
- [X] "max-lines"
|
||||
- [X] "max-lines-per-function"
|
||||
- [ ] "max-nested-callbacks"
|
||||
- [ ] "max-params"
|
||||
- [X] "max-statements"
|
||||
- [ ] "max-statements-per-line"
|
||||
- [X] "multiline-comment-style"
|
||||
- [ ] "multiline-ternary"
|
||||
- [X] "new-cap"
|
||||
- [ ] "new-parens"
|
||||
- [X] "newline-after-var"
|
||||
- [X] "newline-before-return"
|
||||
- [ ] "newline-per-chained-call"
|
||||
- [X] "no-alert"
|
||||
- [ ] "no-array-constructor"
|
||||
- [ ] "no-async-promise-executor"
|
||||
- [ ] "no-await-in-loop"
|
||||
- [ ] "no-bitwise"
|
||||
- [X] "no-buffer-constructor"
|
||||
- [X] "no-caller"
|
||||
- [ ] "no-case-declarations"
|
||||
- [X] "no-catch-shadow"
|
||||
- [ ] "no-class-assign"
|
||||
- [ ] "no-compare-neg-zero"
|
||||
- [ ] "no-cond-assign"
|
||||
- [ ] "no-confusing-arrow"
|
||||
- [X] "no-console"
|
||||
- [ ] "no-const-assign"
|
||||
- [X] "no-constant-condition"
|
||||
- [ ] "no-constructor-return"
|
||||
- [ ] "no-continue"
|
||||
- [ ] "no-control-regex"
|
||||
- [X] "no-debugger"
|
||||
- [ ] "no-delete-var"
|
||||
- [ ] "no-div-regex"
|
||||
- [ ] "no-dupe-args"
|
||||
- [ ] "no-dupe-class-members"
|
||||
- [ ] "no-dupe-else-if"
|
||||
- [ ] "no-dupe-keys"
|
||||
- [ ] "no-duplicate-case"
|
||||
- [X] "no-duplicate-imports"
|
||||
- [X] "no-else-return"
|
||||
- [X] "no-empty"
|
||||
- [ ] "no-empty-character-class"
|
||||
- [ ] "no-empty-function"
|
||||
- [ ] "no-empty-pattern"
|
||||
- [ ] "no-eq-null"
|
||||
- [X] "no-eval"
|
||||
- [ ] "no-ex-assign"
|
||||
- [X] "no-extend-native"
|
||||
- [X] "no-extra-bind"
|
||||
- [ ] "no-extra-boolean-cast"
|
||||
- [ ] "no-extra-label"
|
||||
- [ ] "no-extra-parens"
|
||||
- [X] "no-extra-semi"
|
||||
- [ ] "no-fallthrough"
|
||||
- [ ] "no-floating-decimal"
|
||||
- [ ] "no-func-assign"
|
||||
- [ ] "no-global-assign"
|
||||
- [ ] "no-implicit-coercion"
|
||||
- [ ] "no-implicit-globals"
|
||||
- [X] "no-implied-eval"
|
||||
- [ ] "no-import-assign"
|
||||
- [ ] "no-inline-comments"
|
||||
- [ ] "no-inner-declarations"
|
||||
- [ ] "no-invalid-regexp"
|
||||
- [ ] "no-invalid-this"
|
||||
- [ ] "no-irregular-whitespace"
|
||||
- [X] "no-iterator"
|
||||
- [ ] "no-label-var"
|
||||
- [X] "no-labels"
|
||||
- [X] "no-lone-blocks"
|
||||
- [ ] "no-lonely-if"
|
||||
- [ ] "no-loop-func"
|
||||
- [X] "no-magic-numbers"
|
||||
- [ ] "no-misleading-character-class"
|
||||
- [ ] "no-mixed-operators"
|
||||
- [ ] "no-mixed-requires"
|
||||
- [X] "no-mixed-spaces-and-tabs"
|
||||
- [ ] "no-multi-assign"
|
||||
- [X] "no-multi-spaces"
|
||||
- [X] "no-multi-str"
|
||||
- [X] "no-multiple-empty-lines"
|
||||
- [X] "no-native-reassign"
|
||||
- [ ] "no-negated-condition"
|
||||
- [X] "no-negated-in-lhs"
|
||||
- [X] "no-nested-ternary"
|
||||
- [ ] "no-new"
|
||||
- [X] "no-new-func"
|
||||
- [ ] "no-new-object"
|
||||
- [X] "no-new-require"
|
||||
- [ ] "no-new-symbol"
|
||||
- [X] "no-new-wrappers"
|
||||
- [ ] "no-obj-calls"
|
||||
- [ ] "no-octal"
|
||||
- [X] "no-octal-escape"
|
||||
- [ ] "no-param-reassign"
|
||||
- [X] "no-path-concat"
|
||||
- [ ] "no-plusplus"
|
||||
- [ ] "no-process-env"
|
||||
- [ ] "no-process-exit"
|
||||
- [X] "no-proto"
|
||||
- [ ] "no-prototype-builtins"
|
||||
- [ ] "no-redeclare"
|
||||
- [ ] "no-regex-spaces"
|
||||
- [ ] "no-restricted-exports"
|
||||
- [ ] "no-restricted-globals"
|
||||
- [ ] "no-restricted-imports"
|
||||
- [ ] "no-restricted-modules"
|
||||
- [X] "no-restricted-properties"
|
||||
- [ ] "no-restricted-syntax"
|
||||
- [ ] "no-return-assign"
|
||||
- [X] "no-return-await"
|
||||
- [X] "no-script-url"
|
||||
- [ ] "no-self-assign"
|
||||
- [X] "no-self-compare"
|
||||
- [X] "no-sequences"
|
||||
- [ ] "no-setter-return"
|
||||
- [ ] "no-shadow"
|
||||
- [ ] "no-shadow-restricted-names"
|
||||
- [X] "no-spaced-func"
|
||||
- [ ] "no-sparse-arrays"
|
||||
- [ ] "no-sync"
|
||||
- [X] "no-tabs"
|
||||
- [ ] "no-template-curly-in-string"
|
||||
- [X] "no-ternary"
|
||||
- [ ] "no-this-before-super"
|
||||
- [ ] "no-throw-literal"
|
||||
- [ ] "no-trailing-spaces"
|
||||
- [ ] "no-undef"
|
||||
- [X] "no-undef-init"
|
||||
- [X] "no-undefined"
|
||||
- [X] "no-underscore-dangle"
|
||||
- [ ] "no-unexpected-multiline"
|
||||
- [X] "no-unmodified-loop-condition"
|
||||
- [X] "no-unneeded-ternary"
|
||||
- [ ] "no-unreachable"
|
||||
- [ ] "no-unsafe-finally"
|
||||
- [ ] "no-unsafe-negation"
|
||||
- [ ] "no-unused-expressions"
|
||||
- [ ] "no-unused-labels"
|
||||
- [X] "no-unused-vars"
|
||||
- [X] "no-use-before-define"
|
||||
- [ ] "no-useless-backreference"
|
||||
- [X] "no-useless-call"
|
||||
- [ ] "no-useless-catch"
|
||||
- [X] "no-useless-computed-key"
|
||||
- [ ] "no-useless-concat"
|
||||
- [X] "no-useless-constructor"
|
||||
- [ ] "no-useless-escape"
|
||||
- [X] "no-useless-rename"
|
||||
- [X] "no-useless-return"
|
||||
- [X] "no-var"
|
||||
- [ ] "no-void"
|
||||
- [ ] "no-warning-comments"
|
||||
- [ ] "no-whitespace-before-property"
|
||||
- [X] "no-with"
|
||||
- [ ] "nonblock-statement-body-position"
|
||||
- [X] "object-curly-newline"
|
||||
- [X] "object-curly-spacing"
|
||||
- [X] "object-property-newline"
|
||||
- [X] "object-shorthand"
|
||||
- [X] "one-var"
|
||||
- [ ] "one-var-declaration-per-line"
|
||||
- [ ] "operator-assignment"
|
||||
- [ ] "operator-linebreak"
|
||||
- [ ] "padded-blocks"
|
||||
- [ ] "padding-line-between-statements"
|
||||
- [X] "prefer-arrow-callback"
|
||||
- [X] "prefer-const"
|
||||
- [ ] "prefer-destructuring"
|
||||
- [ ] "prefer-exponentiation-operator"
|
||||
- [ ] "prefer-named-capture-group"
|
||||
- [X] "prefer-numeric-literals"
|
||||
- [X] "prefer-object-spread"
|
||||
- [ ] "prefer-promise-reject-errors"
|
||||
- [X] "prefer-reflect"
|
||||
- [ ] "prefer-regex-literals"
|
||||
- [X] "prefer-rest-params"
|
||||
- [X] "prefer-spread"
|
||||
- [X] "prefer-template"
|
||||
- [X] "quote-props"
|
||||
- [X] "quotes"
|
||||
- [ ] "radix"
|
||||
- [ ] "require-atomic-updates"
|
||||
- [X] "require-await"
|
||||
- [X] "require-jsdoc"
|
||||
- [ ] "require-unicode-regexp"
|
||||
- [ ] "require-yield"
|
||||
- [ ] "rest-spread-spacing"
|
||||
- [X] "semi"
|
||||
- [X] "semi-spacing"
|
||||
- [X] "semi-style"
|
||||
- [X] "sort-imports"
|
||||
- [X] "sort-keys"
|
||||
- [X] "sort-vars"
|
||||
- [X] "space-before-blocks"
|
||||
- [X] "space-before-function-paren"
|
||||
- [ ] "space-in-parens"
|
||||
- [ ] "space-infix-ops"
|
||||
- [ ] "space-unary-ops"
|
||||
- [ ] "spaced-comment"
|
||||
- [X] "strict"
|
||||
- [ ] "switch-colon-spacing"
|
||||
- [ ] "symbol-description"
|
||||
- [ ] "template-curly-spacing"
|
||||
- [ ] "template-tag-spacing"
|
||||
- [ ] "unicode-bom"
|
||||
- [ ] "use-isnan"
|
||||
- [X] "valid-jsdoc"
|
||||
- [X] "valid-typeof"
|
||||
- [ ] "vars-on-top"
|
||||
- [ ] "wrap-iife"
|
||||
- [ ] "wrap-regex"
|
||||
- [ ] "yield-star-spacing"
|
||||
- [X] "yoda"
|
||||
|
||||
## ESLint Comments
|
||||
|
||||
- [ ] "disable-enable-pair"
|
||||
- [ ] "no-aggregating-enable"
|
||||
- [ ] "no-duplicate-disable"
|
||||
- [ ] "no-restricted-disable"
|
||||
- [ ] "no-unlimited-disable"
|
||||
- [ ] "no-unused-disable"
|
||||
- [ ] "no-unused-enable"
|
||||
- [ ] "no-use"
|
||||
|
||||
## Import
|
||||
|
||||
- [ ] "default"
|
||||
- [ ] "dynamic-import-chunkname"
|
||||
- [ ] "export"
|
||||
- [X] "exports-last"
|
||||
- [ ] "extensions"
|
||||
- [X] "first"
|
||||
- [ ] "group-exports"
|
||||
- [ ] "max-dependencies"
|
||||
- [ ] "named"
|
||||
- [ ] "namespace"
|
||||
- [X] "newline-after-import"
|
||||
- [ ] "no-absolute-path"
|
||||
- [ ] "no-amd"
|
||||
- [ ] "no-anonymous-default-export"
|
||||
- [ ] "no-commonjs"
|
||||
- [ ] "no-cycle"
|
||||
- [ ] "no-default-export"
|
||||
- [ ] "no-deprecated"
|
||||
- [ ] "no-duplicates"
|
||||
- [ ] "no-dynamic-require"
|
||||
- [ ] "no-extraneous-dependencies"
|
||||
- [ ] "no-internal-modules"
|
||||
- [ ] "no-mutable-exports"
|
||||
- [ ] "no-named-as-default"
|
||||
- [ ] "no-named-as-default-member"
|
||||
- [ ] "no-named-default"
|
||||
- [ ] "no-named-export"
|
||||
- [ ] "no-namespace"
|
||||
- [ ] "no-nodejs-modules"
|
||||
- [ ] "no-relative-parent-imports"
|
||||
- [ ] "no-restricted-paths"
|
||||
- [ ] "no-self-import"
|
||||
- [ ] "no-unassigned-import"
|
||||
- [ ] "no-unresolved"
|
||||
- [ ] "no-unused-modules"
|
||||
- [ ] "no-useless-path-segments"
|
||||
- [X] "no-webpack-loader-syntax"
|
||||
- [ ] "order"
|
||||
- [ ] "prefer-default-export"
|
||||
- [ ] "unambiguous"
|
||||
|
||||
## Security
|
||||
|
||||
- [ ] "detect-buffer-noassert"
|
||||
- [ ] "detect-child-process"
|
||||
- [ ] "detect-disable-mustache-escape"
|
||||
- [ ] "detect-eval-with-expression"
|
||||
- [ ] "detect-new-buffer"
|
||||
- [ ] "detect-no-csrf-before-method-override"
|
||||
- [ ] "detect-non-literal-fs-filename"
|
||||
- [ ] "detect-non-literal-regexp"
|
||||
- [ ] "detect-non-literal-require"
|
||||
- [ ] "detect-object-injection"
|
||||
- [ ] "detect-possible-timing-attacks"
|
||||
- [ ] "detect-pseudoRandomBytes"
|
||||
- [ ] "detect-unsafe-regex"
|
||||
|
||||
## SonarJS
|
||||
|
||||
- [ ] "cognitive-complexity"
|
||||
- [ ] "max-switch-cases"
|
||||
- [ ] "no-all-duplicated-branches"
|
||||
- [ ] "no-collapsible-if"
|
||||
- [ ] "no-collection-size-mischeck"
|
||||
- [ ] "no-duplicate-string"
|
||||
- [ ] "no-duplicated-branches"
|
||||
- [ ] "no-element-overwrite"
|
||||
- [ ] "no-extra-arguments"
|
||||
- [ ] "no-identical-conditions"
|
||||
- [ ] "no-identical-expressions"
|
||||
- [ ] "no-identical-functions"
|
||||
- [ ] "no-inverted-boolean-check"
|
||||
- [ ] "no-one-iteration-loop"
|
||||
- [ ] "no-redundant-boolean"
|
||||
- [ ] "no-redundant-jump"
|
||||
- [ ] "no-same-line-conditional"
|
||||
- [ ] "no-small-switch"
|
||||
- [ ] "no-unused-collection"
|
||||
- [ ] "no-use-of-empty-return-value"
|
||||
- [ ] "no-useless-catch"
|
||||
- [ ] "prefer-immediate-return"
|
||||
- [ ] "prefer-object-literal"
|
||||
- [ ] "prefer-single-boolean-return"
|
||||
- [ ] "prefer-while"
|
||||
|
||||
## TypeScript
|
||||
|
||||
- [ ] "adjacent-overload-signatures"
|
||||
- [ ] "array-type"
|
||||
- [X] "await-thenable"
|
||||
- [ ] "ban-ts-comment"
|
||||
- [ ] "ban-ts-ignore"
|
||||
- [ ] "ban-types"
|
||||
- [ ] "brace-style"
|
||||
- [ ] "camelcase"
|
||||
- [ ] "class-name-casing"
|
||||
- [ ] "comma-spacing"
|
||||
- [ ] "consistent-type-assertions"
|
||||
- [ ] "consistent-type-definitions"
|
||||
- [ ] "default-param-last"
|
||||
- [ ] "explicit-function-return-type"
|
||||
- [ ] "explicit-member-accessibility"
|
||||
- [ ] "explicit-module-boundary-types"
|
||||
- [ ] "func-call-spacing"
|
||||
- [ ] "generic-type-naming"
|
||||
- [X] "indent"
|
||||
- [X] "interface-name-prefix"
|
||||
- [ ] "member-delimiter-style"
|
||||
- [ ] "member-naming"
|
||||
- [ ] "member-ordering"
|
||||
- [ ] "naming-convention"
|
||||
- [ ] "no-array-constructor"
|
||||
- [ ] "no-dupe-class-members"
|
||||
- [ ] "no-dynamic-delete"
|
||||
- [ ] "no-empty-function"
|
||||
- [X] "no-empty-interface"
|
||||
- [X] "no-explicit-any"
|
||||
- [ ] "no-extra-non-null-assertion"
|
||||
- [ ] "no-extra-parens"
|
||||
- [ ] "no-extra-semi"
|
||||
- [ ] "no-extraneous-class"
|
||||
- [ ] "no-floating-promises"
|
||||
- [ ] "no-for-in-array"
|
||||
- [X] "no-implied-eval"
|
||||
- [X] "no-inferrable-types"
|
||||
- [X] "no-magic-numbers"
|
||||
- [ ] "no-misused-new"
|
||||
- [ ] "no-misused-promises"
|
||||
- [X] "no-namespace"
|
||||
- [ ] "no-non-null-asserted-optional-chain"
|
||||
- [ ] "no-non-null-assertion"
|
||||
- [ ] "no-parameter-properties"
|
||||
- [ ] "no-require-imports"
|
||||
- [ ] "no-this-alias"
|
||||
- [ ] "no-throw-literal"
|
||||
- [ ] "no-type-alias"
|
||||
- [ ] "no-unnecessary-boolean-literal-compare"
|
||||
- [ ] "no-unnecessary-condition"
|
||||
- [ ] "no-unnecessary-qualifier"
|
||||
- [ ] "no-unnecessary-type-arguments"
|
||||
- [ ] "no-unnecessary-type-assertion"
|
||||
- [X] "no-untyped-public-signature"
|
||||
- [ ] "no-unused-expressions"
|
||||
- [X] "no-unused-vars"
|
||||
- [X] "no-unused-vars-experimental"
|
||||
- [X] "no-use-before-define"
|
||||
- [X] "no-useless-constructor"
|
||||
- [X] "no-var-requires"
|
||||
- [ ] "prefer-as-const"
|
||||
- [ ] "prefer-for-of"
|
||||
- [ ] "prefer-function-type"
|
||||
- [ ] "prefer-includes"
|
||||
- [ ] "prefer-namespace-keyword"
|
||||
- [ ] "prefer-nullish-coalescing"
|
||||
- [ ] "prefer-optional-chain"
|
||||
- [ ] "prefer-readonly"
|
||||
- [ ] "prefer-regexp-exec"
|
||||
- [ ] "prefer-string-starts-ends-with"
|
||||
- [ ] "promise-function-async"
|
||||
- [X] "quotes"
|
||||
- [ ] "require-array-sort-compare"
|
||||
- [X] "require-await"
|
||||
- [ ] "restrict-plus-operands"
|
||||
- [ ] "restrict-template-expressions"
|
||||
- [ ] "return-await"
|
||||
- [X] "semi"
|
||||
- [ ] "space-before-function-paren"
|
||||
- [X] "strict-boolean-expressions"
|
||||
- [ ] "switch-exhaustiveness-check"
|
||||
- [ ] "triple-slash-reference"
|
||||
- [X] "type-annotation-spacing"
|
||||
- [X] "typedef"
|
||||
- [ ] "unbound-method"
|
||||
- [ ] "unified-signatures"
|
||||
|
||||
## Unicorn
|
||||
|
||||
- [ ] "better-regex"
|
||||
- [ ] "catch-error-name"
|
||||
- [ ] "consistent-function-scoping"
|
||||
- [ ] "custom-error-definition"
|
||||
- [ ] "error-message"
|
||||
- [ ] "escape-case"
|
||||
- [ ] "expiring-todo-comments"
|
||||
- [ ] "explicit-length-check"
|
||||
- [ ] "filename-case"
|
||||
- [ ] "import-index"
|
||||
- [ ] "new-for-builtins"
|
||||
- [ ] "no-abusive-eslint-disable"
|
||||
- [ ] "no-array-instanceof"
|
||||
- [ ] "no-console-spaces"
|
||||
- [ ] "no-fn-reference-in-iterator"
|
||||
- [ ] "no-for-loop"
|
||||
- [ ] "no-hex-escape"
|
||||
- [ ] "no-keyword-prefix"
|
||||
- [ ] "no-nested-ternary"
|
||||
- [ ] "no-new-buffer"
|
||||
- [ ] "no-process-exit"
|
||||
- [ ] "no-unreadable-array-destructuring"
|
||||
- [ ] "no-unsafe-regex"
|
||||
- [ ] "no-unused-properties"
|
||||
- [ ] "no-zero-fractions"
|
||||
- [ ] "number-literal-case"
|
||||
- [ ] "prefer-add-event-listener"
|
||||
- [ ] "prefer-dataset"
|
||||
- [ ] "prefer-event-key"
|
||||
- [ ] "prefer-exponentiation-operator"
|
||||
- [ ] "prefer-flat-map"
|
||||
- [ ] "prefer-includes"
|
||||
- [ ] "prefer-modern-dom-apis"
|
||||
- [ ] "prefer-negative-index"
|
||||
- [ ] "prefer-node-append"
|
||||
- [ ] "prefer-node-remove"
|
||||
- [ ] "prefer-query-selector"
|
||||
- [ ] "prefer-reflect-apply"
|
||||
- [ ] "prefer-replace-all"
|
||||
- [ ] "prefer-spread"
|
||||
- [ ] "prefer-starts-ends-with"
|
||||
- [ ] "prefer-string-slice"
|
||||
- [ ] "prefer-text-content"
|
||||
- [ ] "prefer-trim-start-end"
|
||||
- [ ] "prefer-type-error"
|
||||
- [ ] "prevent-abbreviations"
|
||||
- [ ] "regex-shorthand"
|
||||
- [ ] "throw-new-error"
|
||||
|
||||
## Vue
|
||||
|
||||
- [ ] "array-bracket-spacing"
|
||||
- [ ] "arrow-spacing"
|
||||
- [ ] "attribute-hyphenation"
|
||||
- [X] "attributes-order"
|
||||
- [ ] "block-spacing"
|
||||
- [ ] "brace-style"
|
||||
- [ ] "camelcase"
|
||||
- [ ] "comma-dangle"
|
||||
- [ ] "comment-directive"
|
||||
- [ ] "component-definition-name-casing"
|
||||
- [ ] "component-name-in-template-casing"
|
||||
- [ ] "component-tags-order"
|
||||
- [ ] "dot-location"
|
||||
- [ ] "eqeqeq"
|
||||
- [X] "html-closing-bracket-newline"
|
||||
- [X] "html-closing-bracket-spacing"
|
||||
- [ ] "html-end-tags"
|
||||
- [X] "html-indent"
|
||||
- [X] "html-quotes"
|
||||
- [X] "html-self-closing"
|
||||
- [ ] "jsx-uses-vars"
|
||||
- [ ] "key-spacing"
|
||||
- [ ] "keyword-spacing"
|
||||
- [ ] "match-component-file-name"
|
||||
- [X] "max-attributes-per-line"
|
||||
- [ ] "max-len"
|
||||
- [ ] "multiline-html-element-content-newline"
|
||||
- [ ] "mustache-interpolation-spacing"
|
||||
- [ ] "name-property-casing"
|
||||
- [ ] "no-async-in-computed-properties"
|
||||
- [ ] "no-boolean-default"
|
||||
- [ ] "no-confusing-v-for-v-if"
|
||||
- [ ] "no-deprecated-scope-attribute"
|
||||
- [ ] "no-deprecated-slot-attribute"
|
||||
- [ ] "no-deprecated-slot-scope-attribute"
|
||||
- [ ] "no-dupe-keys"
|
||||
- [ ] "no-duplicate-attributes"
|
||||
- [ ] "no-empty-pattern"
|
||||
- [ ] "no-irregular-whitespace"
|
||||
- [ ] "no-multi-spaces"
|
||||
- [ ] "no-parsing-error"
|
||||
- [ ] "no-reserved-component-names"
|
||||
- [ ] "no-reserved-keys"
|
||||
- [ ] "no-restricted-syntax"
|
||||
- [ ] "no-shared-component-data"
|
||||
- [ ] "no-side-effects-in-computed-properties"
|
||||
- [ ] "no-spaces-around-equal-signs-in-attribute"
|
||||
- [ ] "no-static-inline-styles"
|
||||
- [ ] "no-template-key"
|
||||
- [ ] "no-template-shadow"
|
||||
- [ ] "no-textarea-mustache"
|
||||
- [ ] "no-unsupported-features"
|
||||
- [ ] "no-unused-components"
|
||||
- [ ] "no-unused-vars"
|
||||
- [ ] "no-use-v-if-with-v-for"
|
||||
- [ ] "no-v-html"
|
||||
- [ ] "object-curly-spacing"
|
||||
- [ ] "order-in-components"
|
||||
- [ ] "prop-name-casing"
|
||||
- [ ] "require-component-is"
|
||||
- [ ] "require-default-prop"
|
||||
- [ ] "require-direct-export"
|
||||
- [ ] "require-name-property"
|
||||
- [ ] "require-prop-type-constructor"
|
||||
- [ ] "require-prop-types"
|
||||
- [ ] "require-render-return"
|
||||
- [ ] "require-v-for-key"
|
||||
- [ ] "require-valid-default-prop"
|
||||
- [ ] "return-in-computed-property"
|
||||
- [X] "script-indent"
|
||||
- [ ] "singleline-html-element-content-newline"
|
||||
- [ ] "space-infix-ops"
|
||||
- [ ] "space-unary-ops"
|
||||
- [ ] "static-class-names-order"
|
||||
- [ ] "this-in-template"
|
||||
- [ ] "use-v-on-exact"
|
||||
- [ ] "v-bind-style"
|
||||
- [ ] "v-on-function-call"
|
||||
- [ ] "v-on-style"
|
||||
- [ ] "v-slot-style"
|
||||
- [ ] "valid-template-root"
|
||||
- [ ] "valid-v-bind"
|
||||
- [ ] "valid-v-bind-sync"
|
||||
- [ ] "valid-v-cloak"
|
||||
- [ ] "valid-v-else"
|
||||
- [ ] "valid-v-else-if"
|
||||
- [ ] "valid-v-for"
|
||||
- [ ] "valid-v-html"
|
||||
- [ ] "valid-v-if"
|
||||
- [ ] "valid-v-model"
|
||||
- [ ] "valid-v-on"
|
||||
- [ ] "valid-v-once"
|
||||
- [ ] "valid-v-pre"
|
||||
- [ ] "valid-v-show"
|
||||
- [ ] "valid-v-slot"
|
||||
- [ ] "valid-v-text"
|
11
docs/roadmap/eslint-comments.md
Normal file
11
docs/roadmap/eslint-comments.md
Normal file
@ -0,0 +1,11 @@
|
||||
# ESLint Comments
|
||||
|
||||
- [X] "disable-enable-pair"
|
||||
- [X] "no-aggregating-enable"
|
||||
- [X] "no-duplicate-disable"
|
||||
- [X] "no-restricted-disable"
|
||||
- [X] "no-unlimited-disable"
|
||||
- [X] "no-unused-disable"
|
||||
- [X] "no-unused-enable"
|
||||
- [X] "no-use"
|
||||
- [ ] "require-description"
|
271
docs/roadmap/eslint.md
Normal file
271
docs/roadmap/eslint.md
Normal file
@ -0,0 +1,271 @@
|
||||
# ESLint
|
||||
|
||||
- [ ] "accessor-pairs"
|
||||
- [ ] "array-bracket-newline"
|
||||
- [ ] "array-bracket-spacing"
|
||||
- [X] "array-callback-return"
|
||||
- [ ] "array-element-newline"
|
||||
- [ ] "arrow-body-style"
|
||||
- [X] "arrow-parens"
|
||||
- [X] "arrow-spacing"
|
||||
- [ ] "block-scoped-var"
|
||||
- [ ] "block-spacing"
|
||||
- [X] "brace-style"
|
||||
- [X] "camelcase"
|
||||
- [ ] "capitalized-comments"
|
||||
- [X] "class-methods-use-this"
|
||||
- [X] "comma-dangle"
|
||||
- [X] "comma-spacing"
|
||||
- [X] "comma-style"
|
||||
- [ ] "complexity"
|
||||
- [ ] "computed-property-spacing"
|
||||
- [ ] "consistent-return"
|
||||
- [ ] "consistent-this"
|
||||
- [ ] "constructor-super"
|
||||
- [X] "curly"
|
||||
- [ ] "default-case"
|
||||
- [ ] "default-case-last"
|
||||
- [ ] "default-param-last"
|
||||
- [ ] "dot-location"
|
||||
- [X] "dot-notation"
|
||||
- [X] "eol-last"
|
||||
- [X] "eqeqeq"
|
||||
- [ ] "for-direction"
|
||||
- [ ] "func-call-spacing"
|
||||
- [ ] "func-name-matching"
|
||||
- [ ] "func-names"
|
||||
- [ ] "func-style"
|
||||
- [X] "function-call-argument-newline"
|
||||
- [ ] "function-paren-newline"
|
||||
- [ ] "generator-star-spacing"
|
||||
- [ ] "getter-return"
|
||||
- [ ] "grouped-accessor-pairs"
|
||||
- [ ] "guard-for-in"
|
||||
- [ ] "id-blacklist"
|
||||
- [X] "id-length"
|
||||
- [ ] "id-match"
|
||||
- [ ] "implicit-arrow-linebreak"
|
||||
- [X] "indent"
|
||||
- [X] "indent-legacy"
|
||||
- [ ] "init-declarations"
|
||||
- [X] "jsx-quotes"
|
||||
- [X] "key-spacing"
|
||||
- [X] "keyword-spacing"
|
||||
- [ ] "line-comment-position"
|
||||
- [X] "linebreak-style"
|
||||
- [X] "lines-around-comment"
|
||||
- [X] "lines-around-directive"
|
||||
- [X] "lines-between-class-members"
|
||||
- [ ] "max-classes-per-file"
|
||||
- [ ] "max-depth"
|
||||
- [X] "max-len"
|
||||
- [X] "max-lines"
|
||||
- [X] "max-lines-per-function"
|
||||
- [ ] "max-nested-callbacks"
|
||||
- [ ] "max-params"
|
||||
- [X] "max-statements"
|
||||
- [X] "max-statements-per-line"
|
||||
- [X] "multiline-comment-style"
|
||||
- [ ] "multiline-ternary"
|
||||
- [X] "new-cap"
|
||||
- [ ] "new-parens"
|
||||
- [X] "newline-after-var"
|
||||
- [X] "newline-before-return"
|
||||
- [ ] "newline-per-chained-call"
|
||||
- [X] "no-alert"
|
||||
- [ ] "no-array-constructor"
|
||||
- [ ] "no-async-promise-executor"
|
||||
- [ ] "no-await-in-loop"
|
||||
- [ ] "no-bitwise"
|
||||
- [X] "no-buffer-constructor"
|
||||
- [X] "no-caller"
|
||||
- [ ] "no-case-declarations"
|
||||
- [X] "no-catch-shadow"
|
||||
- [ ] "no-class-assign"
|
||||
- [ ] "no-compare-neg-zero"
|
||||
- [ ] "no-cond-assign"
|
||||
- [ ] "no-confusing-arrow"
|
||||
- [X] "no-console"
|
||||
- [ ] "no-const-assign"
|
||||
- [X] "no-constant-condition"
|
||||
- [ ] "no-constructor-return"
|
||||
- [ ] "no-continue"
|
||||
- [ ] "no-control-regex"
|
||||
- [X] "no-debugger"
|
||||
- [ ] "no-delete-var"
|
||||
- [ ] "no-div-regex"
|
||||
- [ ] "no-dupe-args"
|
||||
- [ ] "no-dupe-class-members"
|
||||
- [ ] "no-dupe-else-if"
|
||||
- [ ] "no-dupe-keys"
|
||||
- [ ] "no-duplicate-case"
|
||||
- [X] "no-duplicate-imports"
|
||||
- [X] "no-else-return"
|
||||
- [X] "no-empty"
|
||||
- [ ] "no-empty-character-class"
|
||||
- [ ] "no-empty-function"
|
||||
- [ ] "no-empty-pattern"
|
||||
- [ ] "no-eq-null"
|
||||
- [X] "no-eval"
|
||||
- [ ] "no-ex-assign"
|
||||
- [X] "no-extend-native"
|
||||
- [X] "no-extra-bind"
|
||||
- [ ] "no-extra-boolean-cast"
|
||||
- [ ] "no-extra-label"
|
||||
- [ ] "no-extra-parens"
|
||||
- [X] "no-extra-semi"
|
||||
- [ ] "no-fallthrough"
|
||||
- [ ] "no-floating-decimal"
|
||||
- [ ] "no-func-assign"
|
||||
- [ ] "no-global-assign"
|
||||
- [ ] "no-implicit-coercion"
|
||||
- [ ] "no-implicit-globals"
|
||||
- [X] "no-implied-eval"
|
||||
- [ ] "no-import-assign"
|
||||
- [ ] "no-inline-comments"
|
||||
- [ ] "no-inner-declarations"
|
||||
- [ ] "no-invalid-regexp"
|
||||
- [ ] "no-invalid-this"
|
||||
- [ ] "no-irregular-whitespace"
|
||||
- [X] "no-iterator"
|
||||
- [ ] "no-label-var"
|
||||
- [X] "no-labels"
|
||||
- [X] "no-lone-blocks"
|
||||
- [ ] "no-lonely-if"
|
||||
- [ ] "no-loop-func"
|
||||
- [ ] "no-loss-of-precision"
|
||||
- [X] "no-magic-numbers"
|
||||
- [ ] "no-misleading-character-class"
|
||||
- [ ] "no-mixed-operators"
|
||||
- [X] "no-mixed-spaces-and-tabs"
|
||||
- [ ] "no-multi-assign"
|
||||
- [X] "no-multi-spaces"
|
||||
- [X] "no-multi-str"
|
||||
- [X] "no-multiple-empty-lines"
|
||||
- [X] "no-native-reassign"
|
||||
- [ ] "no-negated-condition"
|
||||
- [X] "no-negated-in-lhs"
|
||||
- [X] "no-nested-ternary"
|
||||
- [ ] "no-new"
|
||||
- [X] "no-new-func"
|
||||
- [ ] "no-new-object"
|
||||
- [ ] "no-new-symbol"
|
||||
- [X] "no-new-wrappers"
|
||||
- [ ] "no-obj-calls"
|
||||
- [ ] "no-octal"
|
||||
- [X] "no-octal-escape"
|
||||
- [ ] "no-param-reassign"
|
||||
- [ ] "no-plusplus"
|
||||
- [X] "no-proto"
|
||||
- [ ] "no-prototype-builtins"
|
||||
- [ ] "no-redeclare"
|
||||
- [ ] "no-regex-spaces"
|
||||
- [ ] "no-restricted-exports"
|
||||
- [ ] "no-restricted-globals"
|
||||
- [ ] "no-restricted-imports"
|
||||
- [X] "no-restricted-properties"
|
||||
- [ ] "no-restricted-syntax"
|
||||
- [ ] "no-return-assign"
|
||||
- [X] "no-return-await"
|
||||
- [X] "no-script-url"
|
||||
- [ ] "no-self-assign"
|
||||
- [X] "no-self-compare"
|
||||
- [X] "no-sequences"
|
||||
- [ ] "no-setter-return"
|
||||
- [ ] "no-shadow"
|
||||
- [ ] "no-shadow-restricted-names"
|
||||
- [X] "no-spaced-func"
|
||||
- [ ] "no-sparse-arrays"
|
||||
- [X] "no-tabs"
|
||||
- [ ] "no-template-curly-in-string"
|
||||
- [X] "no-ternary"
|
||||
- [ ] "no-this-before-super"
|
||||
- [ ] "no-throw-literal"
|
||||
- [X] "no-trailing-spaces"
|
||||
- [ ] "no-undef"
|
||||
- [X] "no-undef-init"
|
||||
- [X] "no-undefined"
|
||||
- [X] "no-underscore-dangle"
|
||||
- [ ] "no-unexpected-multiline"
|
||||
- [X] "no-unmodified-loop-condition"
|
||||
- [X] "no-unneeded-ternary"
|
||||
- [ ] "no-unreachable"
|
||||
- [ ] "no-unsafe-finally"
|
||||
- [ ] "no-unsafe-negation"
|
||||
- [ ] "no-unused-expressions"
|
||||
- [ ] "no-unused-labels"
|
||||
- [X] "no-unused-vars"
|
||||
- [X] "no-use-before-define"
|
||||
- [ ] "no-useless-backreference"
|
||||
- [X] "no-useless-call"
|
||||
- [ ] "no-useless-catch"
|
||||
- [X] "no-useless-computed-key"
|
||||
- [ ] "no-useless-concat"
|
||||
- [X] "no-useless-constructor"
|
||||
- [ ] "no-useless-escape"
|
||||
- [X] "no-useless-rename"
|
||||
- [X] "no-useless-return"
|
||||
- [X] "no-var"
|
||||
- [ ] "no-void"
|
||||
- [ ] "no-warning-comments"
|
||||
- [X] "no-whitespace-before-property"
|
||||
- [X] "no-with"
|
||||
- [ ] "nonblock-statement-body-position"
|
||||
- [X] "object-curly-newline"
|
||||
- [X] "object-curly-spacing"
|
||||
- [X] "object-property-newline"
|
||||
- [X] "object-shorthand"
|
||||
- [X] "one-var"
|
||||
- [ ] "one-var-declaration-per-line"
|
||||
- [ ] "operator-assignment"
|
||||
- [ ] "operator-linebreak"
|
||||
- [ ] "padded-blocks"
|
||||
- [ ] "padding-line-between-statements"
|
||||
- [X] "prefer-arrow-callback"
|
||||
- [X] "prefer-const"
|
||||
- [ ] "prefer-destructuring"
|
||||
- [ ] "prefer-exponentiation-operator"
|
||||
- [ ] "prefer-named-capture-group"
|
||||
- [X] "prefer-numeric-literals"
|
||||
- [X] "prefer-object-spread"
|
||||
- [ ] "prefer-promise-reject-errors"
|
||||
- [X] "prefer-reflect"
|
||||
- [ ] "prefer-regex-literals"
|
||||
- [X] "prefer-rest-params"
|
||||
- [X] "prefer-spread"
|
||||
- [X] "prefer-template"
|
||||
- [X] "quote-props"
|
||||
- [X] "quotes"
|
||||
- [ ] "radix"
|
||||
- [ ] "require-atomic-updates"
|
||||
- [X] "require-await"
|
||||
- [X] "require-jsdoc"
|
||||
- [ ] "require-unicode-regexp"
|
||||
- [ ] "require-yield"
|
||||
- [ ] "rest-spread-spacing"
|
||||
- [X] "semi"
|
||||
- [X] "semi-spacing"
|
||||
- [X] "semi-style"
|
||||
- [X] "sort-imports"
|
||||
- [X] "sort-keys"
|
||||
- [X] "sort-vars"
|
||||
- [X] "space-before-blocks"
|
||||
- [X] "space-before-function-paren"
|
||||
- [ ] "space-in-parens"
|
||||
- [X] "space-infix-ops"
|
||||
- [ ] "space-unary-ops"
|
||||
- [ ] "spaced-comment"
|
||||
- [X] "strict"
|
||||
- [ ] "switch-colon-spacing"
|
||||
- [ ] "symbol-description"
|
||||
- [ ] "template-curly-spacing"
|
||||
- [ ] "template-tag-spacing"
|
||||
- [ ] "unicode-bom"
|
||||
- [ ] "use-isnan"
|
||||
- [X] "valid-jsdoc"
|
||||
- [X] "valid-typeof"
|
||||
- [ ] "vars-on-top"
|
||||
- [ ] "wrap-iife"
|
||||
- [ ] "wrap-regex"
|
||||
- [ ] "yield-star-spacing"
|
||||
- [X] "yoda"
|
43
docs/roadmap/import.md
Normal file
43
docs/roadmap/import.md
Normal file
@ -0,0 +1,43 @@
|
||||
# Import
|
||||
|
||||
- [ ] "default"
|
||||
- [ ] "dynamic-import-chunkname"
|
||||
- [ ] "export"
|
||||
- [X] "exports-last"
|
||||
- [ ] "extensions"
|
||||
- [X] "first"
|
||||
- [ ] "group-exports"
|
||||
- [ ] "max-dependencies"
|
||||
- [ ] "named"
|
||||
- [ ] "namespace"
|
||||
- [X] "newline-after-import"
|
||||
- [ ] "no-absolute-path"
|
||||
- [ ] "no-amd"
|
||||
- [ ] "no-anonymous-default-export"
|
||||
- [ ] "no-commonjs"
|
||||
- [ ] "no-cycle"
|
||||
- [ ] "no-default-export"
|
||||
- [ ] "no-deprecated"
|
||||
- [ ] "no-duplicates"
|
||||
- [ ] "no-dynamic-require"
|
||||
- [ ] "no-extraneous-dependencies"
|
||||
- [ ] "no-internal-modules"
|
||||
- [ ] "no-loss-of-precision"
|
||||
- [ ] "no-mutable-exports"
|
||||
- [ ] "no-named-as-default"
|
||||
- [ ] "no-named-as-default-member"
|
||||
- [ ] "no-named-default"
|
||||
- [ ] "no-named-export"
|
||||
- [ ] "no-namespace"
|
||||
- [ ] "no-nodejs-modules"
|
||||
- [ ] "no-relative-parent-imports"
|
||||
- [ ] "no-restricted-paths"
|
||||
- [ ] "no-self-import"
|
||||
- [ ] "no-unassigned-import"
|
||||
- [ ] "no-unresolved"
|
||||
- [ ] "no-unused-modules"
|
||||
- [ ] "no-useless-path-segments"
|
||||
- [X] "no-webpack-loader-syntax"
|
||||
- [X] "order"
|
||||
- [ ] "prefer-default-export"
|
||||
- [ ] "unambiguous"
|
38
docs/roadmap/jsx-a11y.md
Normal file
38
docs/roadmap/jsx-a11y.md
Normal file
@ -0,0 +1,38 @@
|
||||
# jsx-a11y
|
||||
|
||||
- [ ] "accessible-emoji"
|
||||
- [ ] "alt-text"
|
||||
- [ ] "anchor-has-content"
|
||||
- [ ] "anchor-is-valid"
|
||||
- [ ] "aria-activedescendant-has-tabindex"
|
||||
- [ ] "aria-props"
|
||||
- [ ] "aria-proptypes"
|
||||
- [ ] "aria-role"
|
||||
- [ ] "aria-unsupported-elements"
|
||||
- [ ] "autocomplete-valid"
|
||||
- [ ] "click-events-have-key-events"
|
||||
- [ ] "control-has-associated-label"
|
||||
- [ ] "heading-has-content"
|
||||
- [ ] "html-has-lang"
|
||||
- [ ] "iframe-has-title"
|
||||
- [ ] "img-redundant-alt"
|
||||
- [ ] "interactive-supports-focus"
|
||||
- [ ] "label-has-associated-control"
|
||||
- [ ] "label-has-for"
|
||||
- [ ] "lang"
|
||||
- [ ] "media-has-caption"
|
||||
- [ ] "mouse-events-have-key-events"
|
||||
- [ ] "no-access-key"
|
||||
- [ ] "no-autofocus"
|
||||
- [ ] "no-distracting-elements"
|
||||
- [ ] "no-interactive-element-to-noninteractive-role"
|
||||
- [ ] "no-noninteractive-element-interactions"
|
||||
- [ ] "no-noninteractive-element-to-interactive-role"
|
||||
- [ ] "no-noninteractive-tabindex"
|
||||
- [ ] "no-onchange"
|
||||
- [ ] "no-redundant-roles"
|
||||
- [ ] "no-static-element-interactions"
|
||||
- [ ] "role-has-required-aria-props"
|
||||
- [ ] "role-supports-aria-props"
|
||||
- [ ] "scope"
|
||||
- [ ] "tabindex-no-positive"
|
4
docs/roadmap/react-hooks.md
Normal file
4
docs/roadmap/react-hooks.md
Normal file
@ -0,0 +1,4 @@
|
||||
# React Hooks
|
||||
|
||||
- [ ] "exhaustive-deps"
|
||||
- [ ] "rules-of-hooks"
|
89
docs/roadmap/react.md
Normal file
89
docs/roadmap/react.md
Normal file
@ -0,0 +1,89 @@
|
||||
# React
|
||||
|
||||
- [ ] "boolean-prop-naming"
|
||||
- [ ] "button-has-type"
|
||||
- [ ] "default-props-match-prop-types"
|
||||
- [ ] "destructuring-assignment"
|
||||
- [ ] "display-name"
|
||||
- [ ] "forbid-component-props"
|
||||
- [ ] "forbid-dom-props"
|
||||
- [ ] "forbid-elements"
|
||||
- [ ] "forbid-foreign-prop-types"
|
||||
- [ ] "forbid-prop-types"
|
||||
- [ ] "function-component-definition"
|
||||
- [ ] "jsx-boolean-value"
|
||||
- [ ] "jsx-child-element-spacing"
|
||||
- [ ] "jsx-closing-bracket-location"
|
||||
- [ ] "jsx-closing-tag-location"
|
||||
- [ ] "jsx-curly-brace-presence"
|
||||
- [ ] "jsx-curly-newline"
|
||||
- [ ] "jsx-curly-spacing"
|
||||
- [ ] "jsx-equals-spacing"
|
||||
- [ ] "jsx-filename-extension"
|
||||
- [ ] "jsx-first-prop-new-line"
|
||||
- [ ] "jsx-fragments"
|
||||
- [ ] "jsx-handler-names"
|
||||
- [ ] "jsx-indent"
|
||||
- [ ] "jsx-indent-props"
|
||||
- [ ] "jsx-key"
|
||||
- [ ] "jsx-max-depth"
|
||||
- [ ] "jsx-max-props-per-line"
|
||||
- [ ] "jsx-no-bind"
|
||||
- [ ] "jsx-no-comment-textnodes"
|
||||
- [ ] "jsx-no-duplicate-props"
|
||||
- [ ] "jsx-no-literals"
|
||||
- [ ] "jsx-no-script-url"
|
||||
- [ ] "jsx-no-target-blank"
|
||||
- [ ] "jsx-no-undef"
|
||||
- [ ] "jsx-no-useless-fragment"
|
||||
- [ ] "jsx-one-expression-per-line"
|
||||
- [ ] "jsx-pascal-case"
|
||||
- [ ] "jsx-props-no-multi-spaces"
|
||||
- [ ] "jsx-props-no-spreading"
|
||||
- [ ] "jsx-sort-default-props"
|
||||
- [ ] "jsx-sort-props"
|
||||
- [ ] "jsx-space-before-closing"
|
||||
- [ ] "jsx-tag-spacing"
|
||||
- [ ] "jsx-uses-react"
|
||||
- [ ] "jsx-uses-vars"
|
||||
- [ ] "jsx-wrap-multilines"
|
||||
- [ ] "no-access-state-in-setstate"
|
||||
- [ ] "no-adjacent-inline-elements"
|
||||
- [ ] "no-array-index-key"
|
||||
- [ ] "no-children-prop"
|
||||
- [ ] "no-danger"
|
||||
- [ ] "no-danger-with-children"
|
||||
- [ ] "no-deprecated"
|
||||
- [ ] "no-did-mount-set-state"
|
||||
- [ ] "no-did-update-set-state"
|
||||
- [ ] "no-direct-mutation-state"
|
||||
- [ ] "no-find-dom-node"
|
||||
- [ ] "no-is-mounted"
|
||||
- [ ] "no-multi-comp"
|
||||
- [ ] "no-redundant-should-component-update"
|
||||
- [ ] "no-render-return-value"
|
||||
- [ ] "no-set-state"
|
||||
- [ ] "no-string-refs"
|
||||
- [ ] "no-this-in-sfc"
|
||||
- [ ] "no-typos"
|
||||
- [ ] "no-unescaped-entities"
|
||||
- [ ] "no-unknown-property"
|
||||
- [ ] "no-unsafe"
|
||||
- [ ] "no-unused-prop-types"
|
||||
- [ ] "no-unused-state"
|
||||
- [ ] "no-will-update-set-state"
|
||||
- [ ] "prefer-es6-class"
|
||||
- [ ] "prefer-read-only-props"
|
||||
- [ ] "prefer-stateless-function"
|
||||
- [ ] "prop-types"
|
||||
- [ ] "react-in-jsx-scope"
|
||||
- [ ] "require-default-props"
|
||||
- [ ] "require-optimization"
|
||||
- [ ] "require-render-return"
|
||||
- [ ] "self-closing-comp"
|
||||
- [ ] "sort-comp"
|
||||
- [ ] "sort-prop-types"
|
||||
- [ ] "state-in-constructor"
|
||||
- [ ] "static-property-placement"
|
||||
- [ ] "style-prop-object"
|
||||
- [ ] "void-dom-elements-no-children"
|
15
docs/roadmap/security.md
Normal file
15
docs/roadmap/security.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Security
|
||||
|
||||
- [ ] "detect-buffer-noassert"
|
||||
- [ ] "detect-child-process"
|
||||
- [ ] "detect-disable-mustache-escape"
|
||||
- [ ] "detect-eval-with-expression"
|
||||
- [ ] "detect-new-buffer"
|
||||
- [ ] "detect-no-csrf-before-method-override"
|
||||
- [ ] "detect-non-literal-fs-filename"
|
||||
- [ ] "detect-non-literal-regexp"
|
||||
- [ ] "detect-non-literal-require"
|
||||
- [ ] "detect-object-injection"
|
||||
- [ ] "detect-possible-timing-attacks"
|
||||
- [ ] "detect-pseudoRandomBytes"
|
||||
- [ ] "detect-unsafe-regex"
|
27
docs/roadmap/sonarjs.md
Normal file
27
docs/roadmap/sonarjs.md
Normal file
@ -0,0 +1,27 @@
|
||||
# SonarJS
|
||||
|
||||
- [X] "cognitive-complexity"
|
||||
- [X] "max-switch-cases"
|
||||
- [X] "no-all-duplicated-branches"
|
||||
- [X] "no-collapsible-if"
|
||||
- [X] "no-collection-size-mischeck"
|
||||
- [X] "no-duplicate-string"
|
||||
- [X] "no-duplicated-branches"
|
||||
- [X] "no-element-overwrite"
|
||||
- [X] "no-extra-arguments"
|
||||
- [X] "no-identical-conditions"
|
||||
- [X] "no-identical-expressions"
|
||||
- [X] "no-identical-functions"
|
||||
- [X] "no-inverted-boolean-check"
|
||||
- [X] "no-one-iteration-loop"
|
||||
- [X] "no-redundant-boolean"
|
||||
- [X] "no-redundant-jump"
|
||||
- [X] "no-same-line-conditional"
|
||||
- [X] "no-small-switch"
|
||||
- [X] "no-unused-collection"
|
||||
- [X] "no-use-of-empty-return-value"
|
||||
- [X] "no-useless-catch"
|
||||
- [X] "prefer-immediate-return"
|
||||
- [X] "prefer-object-literal"
|
||||
- [X] "prefer-single-boolean-return"
|
||||
- [X] "prefer-while"
|
101
docs/roadmap/typescript.md
Normal file
101
docs/roadmap/typescript.md
Normal file
@ -0,0 +1,101 @@
|
||||
# TypeScript
|
||||
|
||||
- [ ] "adjacent-overload-signatures"
|
||||
- [ ] "array-type"
|
||||
- [X] "await-thenable"
|
||||
- [ ] "ban-ts-comment"
|
||||
- [ ] "ban-tslint-comment"
|
||||
- [ ] "ban-types"
|
||||
- [ ] "brace-style"
|
||||
- [ ] "camelcase"
|
||||
- [X] "class-literal-property-style"
|
||||
- [X] "comma-spacing"
|
||||
- [ ] "consistent-type-assertions"
|
||||
- [ ] "consistent-type-definitions"
|
||||
- [ ] "default-param-last"
|
||||
- [ ] "dot-notation"
|
||||
- [X] "explicit-function-return-type"
|
||||
- [X] "explicit-member-accessibility"
|
||||
- [ ] "explicit-module-boundary-types"
|
||||
- [ ] "func-call-spacing"
|
||||
- [X] "indent"
|
||||
- [ ] "init-declarations"
|
||||
- [ ] "keyword-spacing"
|
||||
- [ ] "lines-between-class-members"
|
||||
- [ ] "member-delimiter-style"
|
||||
- [ ] "member-ordering"
|
||||
- [X] "method-signature-style"
|
||||
- [ ] "naming-convention"
|
||||
- [ ] "no-array-constructor"
|
||||
- [X] "no-base-to-string"
|
||||
- [ ] "no-confusing-non-null-assertion"
|
||||
- [ ] "no-dupe-class-members"
|
||||
- [ ] "no-dynamic-delete"
|
||||
- [ ] "no-empty-function"
|
||||
- [X] "no-empty-interface"
|
||||
- [X] "no-explicit-any"
|
||||
- [ ] "no-extra-non-null-assertion"
|
||||
- [ ] "no-extra-parens"
|
||||
- [X] "no-extra-semi"
|
||||
- [ ] "no-extraneous-class"
|
||||
- [ ] "no-floating-promises"
|
||||
- [ ] "no-for-in-array"
|
||||
- [X] "no-implied-eval"
|
||||
- [X] "no-inferrable-types"
|
||||
- [ ] "no-invalid-this"
|
||||
- [ ] "no-invalid-void-type"
|
||||
- [X] "no-magic-numbers"
|
||||
- [ ] "no-misused-new"
|
||||
- [X] "no-misused-promises"
|
||||
- [X] "no-namespace"
|
||||
- [ ] "no-non-null-asserted-optional-chain"
|
||||
- [ ] "no-non-null-assertion"
|
||||
- [ ] "no-parameter-properties"
|
||||
- [ ] "no-require-imports"
|
||||
- [ ] "no-this-alias"
|
||||
- [ ] "no-throw-literal"
|
||||
- [X] "no-type-alias"
|
||||
- [ ] "no-unnecessary-boolean-literal-compare"
|
||||
- [X] "no-unnecessary-condition"
|
||||
- [ ] "no-unnecessary-qualifier"
|
||||
- [ ] "no-unnecessary-type-arguments"
|
||||
- [X] "no-unnecessary-type-assertion"
|
||||
- [ ] "no-unsafe-assignment"
|
||||
- [X] "no-unsafe-call"
|
||||
- [X] "no-unsafe-member-access"
|
||||
- [X] "no-unsafe-return"
|
||||
- [ ] "no-unused-expressions"
|
||||
- [X] "no-unused-vars"
|
||||
- [X] "no-unused-vars-experimental"
|
||||
- [X] "no-use-before-define"
|
||||
- [X] "no-useless-constructor"
|
||||
- [X] "no-var-requires"
|
||||
- [ ] "prefer-as-const"
|
||||
- [ ] "prefer-for-of"
|
||||
- [ ] "prefer-function-type"
|
||||
- [ ] "prefer-includes"
|
||||
- [ ] "prefer-namespace-keyword"
|
||||
- [ ] "prefer-nullish-coalescing"
|
||||
- [ ] "prefer-optional-chain"
|
||||
- [ ] "prefer-readonly"
|
||||
- [X] "prefer-readonly-parameter-types"
|
||||
- [ ] "prefer-reduce-type-parameter"
|
||||
- [ ] "prefer-regexp-exec"
|
||||
- [ ] "prefer-string-starts-ends-with"
|
||||
- [ ] "prefer-ts-expect-error"
|
||||
- [ ] "promise-function-async"
|
||||
- [X] "quotes"
|
||||
- [ ] "require-array-sort-compare"
|
||||
- [X] "require-await"
|
||||
- [ ] "restrict-plus-operands"
|
||||
- [ ] "restrict-template-expressions"
|
||||
- [ ] "return-await"
|
||||
- [X] "semi"
|
||||
- [X] "space-before-function-paren"
|
||||
- [X] "strict-boolean-expressions"
|
||||
- [ ] "switch-exhaustiveness-check"
|
||||
- [ ] "triple-slash-reference"
|
||||
- [X] "type-annotation-spacing"
|
||||
- [X] "typedef"
|
||||
- [ ] "unbound-method"
|
||||
- [ ] "unified-signatures"
|
57
docs/roadmap/unicorn.md
Normal file
57
docs/roadmap/unicorn.md
Normal file
@ -0,0 +1,57 @@
|
||||
# Unicorn
|
||||
|
||||
- [ ] "better-regex"
|
||||
- [ ] "catch-error-name"
|
||||
- [ ] "consistent-function-scoping"
|
||||
- [ ] "custom-error-definition"
|
||||
- [ ] "error-message"
|
||||
- [ ] "escape-case"
|
||||
- [ ] "expiring-todo-comments"
|
||||
- [ ] "explicit-length-check"
|
||||
- [X] "filename-case"
|
||||
- [X] "import-index"
|
||||
- [ ] "new-for-builtins"
|
||||
- [ ] "no-abusive-eslint-disable"
|
||||
- [ ] "no-array-instanceof"
|
||||
- [X] "no-console-spaces"
|
||||
- [ ] "no-fn-reference-in-iterator"
|
||||
- [ ] "no-for-loop"
|
||||
- [ ] "no-hex-escape"
|
||||
- [ ] "no-keyword-prefix"
|
||||
- [ ] "no-nested-ternary"
|
||||
- [ ] "no-new-buffer"
|
||||
- [ ] "no-null"
|
||||
- [ ] "no-process-exit"
|
||||
- [ ] "no-reduce"
|
||||
- [ ] "no-unreadable-array-destructuring"
|
||||
- [ ] "no-unsafe-regex"
|
||||
- [ ] "no-unused-properties"
|
||||
- [ ] "no-useless-undefined"
|
||||
- [ ] "no-zero-fractions"
|
||||
- [ ] "number-literal-case"
|
||||
- [ ] "prefer-add-event-listener"
|
||||
- [ ] "prefer-array-find"
|
||||
- [ ] "prefer-dataset"
|
||||
- [ ] "prefer-event-key"
|
||||
- [ ] "prefer-exponentiation-operator"
|
||||
- [ ] "prefer-flat-map"
|
||||
- [ ] "prefer-includes"
|
||||
- [ ] "prefer-modern-dom-apis"
|
||||
- [ ] "prefer-negative-index"
|
||||
- [ ] "prefer-node-append"
|
||||
- [ ] "prefer-node-remove"
|
||||
- [X] "prefer-number-properties"
|
||||
- [ ] "prefer-optional-catch-binding"
|
||||
- [ ] "prefer-query-selector"
|
||||
- [ ] "prefer-reflect-apply"
|
||||
- [ ] "prefer-replace-all"
|
||||
- [X] "prefer-set-has"
|
||||
- [ ] "prefer-spread"
|
||||
- [ ] "prefer-starts-ends-with"
|
||||
- [ ] "prefer-string-slice"
|
||||
- [ ] "prefer-text-content"
|
||||
- [ ] "prefer-trim-start-end"
|
||||
- [ ] "prefer-type-error"
|
||||
- [X] "prevent-abbreviations"
|
||||
- [ ] "string-content"
|
||||
- [ ] "throw-new-error"
|
100
docs/roadmap/vue.md
Normal file
100
docs/roadmap/vue.md
Normal file
@ -0,0 +1,100 @@
|
||||
# Vue
|
||||
|
||||
- [ ] "array-bracket-spacing"
|
||||
- [ ] "arrow-spacing"
|
||||
- [ ] "attribute-hyphenation"
|
||||
- [X] "attributes-order"
|
||||
- [ ] "block-spacing"
|
||||
- [ ] "brace-style"
|
||||
- [ ] "camelcase"
|
||||
- [X] "comma-dangle"
|
||||
- [ ] "comment-directive"
|
||||
- [ ] "component-definition-name-casing"
|
||||
- [ ] "component-name-in-template-casing"
|
||||
- [ ] "component-tags-order"
|
||||
- [ ] "dot-location"
|
||||
- [ ] "eqeqeq"
|
||||
- [X] "html-closing-bracket-newline"
|
||||
- [X] "html-closing-bracket-spacing"
|
||||
- [ ] "html-end-tags"
|
||||
- [X] "html-indent"
|
||||
- [X] "html-quotes"
|
||||
- [X] "html-self-closing"
|
||||
- [ ] "jsx-uses-vars"
|
||||
- [ ] "key-spacing"
|
||||
- [ ] "keyword-spacing"
|
||||
- [ ] "match-component-file-name"
|
||||
- [X] "max-attributes-per-line"
|
||||
- [ ] "max-len"
|
||||
- [ ] "multiline-html-element-content-newline"
|
||||
- [ ] "mustache-interpolation-spacing"
|
||||
- [ ] "name-property-casing"
|
||||
- [ ] "no-async-in-computed-properties"
|
||||
- [ ] "no-boolean-default"
|
||||
- [ ] "no-confusing-v-for-v-if"
|
||||
- [ ] "no-deprecated-scope-attribute"
|
||||
- [ ] "no-deprecated-slot-attribute"
|
||||
- [ ] "no-deprecated-slot-scope-attribute"
|
||||
- [ ] "no-dupe-keys"
|
||||
- [ ] "no-duplicate-attributes"
|
||||
- [ ] "no-empty-pattern"
|
||||
- [ ] "no-irregular-whitespace"
|
||||
- [X] "no-multi-spaces"
|
||||
- [ ] "no-parsing-error"
|
||||
- [ ] "no-reserved-component-names"
|
||||
- [ ] "no-reserved-keys"
|
||||
- [ ] "no-restricted-syntax"
|
||||
- [ ] "no-shared-component-data"
|
||||
- [ ] "no-side-effects-in-computed-properties"
|
||||
- [ ] "no-spaces-around-equal-signs-in-attribute"
|
||||
- [ ] "no-static-inline-styles"
|
||||
- [ ] "no-template-key"
|
||||
- [ ] "no-template-shadow"
|
||||
- [ ] "no-textarea-mustache"
|
||||
- [ ] "no-unsupported-features"
|
||||
- [ ] "no-unused-components"
|
||||
- [X] "no-unused-vars"
|
||||
- [ ] "no-use-v-if-with-v-for"
|
||||
- [ ] "no-v-html"
|
||||
- [X] "object-curly-spacing"
|
||||
- [ ] "order-in-components"
|
||||
- [X] "padding-line-between-blocks"
|
||||
- [ ] "prop-name-casing"
|
||||
- [ ] "require-component-is"
|
||||
- [ ] "require-default-prop"
|
||||
- [ ] "require-direct-export"
|
||||
- [ ] "require-name-property"
|
||||
- [ ] "require-prop-type-constructor"
|
||||
- [ ] "require-prop-types"
|
||||
- [ ] "require-render-return"
|
||||
- [ ] "require-v-for-key"
|
||||
- [ ] "require-valid-default-prop"
|
||||
- [ ] "return-in-computed-property"
|
||||
- [X] "script-indent"
|
||||
- [ ] "singleline-html-element-content-newline"
|
||||
- [X] "sort-keys"
|
||||
- [X] "space-infix-ops"
|
||||
- [ ] "space-unary-ops"
|
||||
- [ ] "static-class-names-order"
|
||||
- [ ] "this-in-template"
|
||||
- [ ] "use-v-on-exact"
|
||||
- [ ] "v-bind-style"
|
||||
- [ ] "v-on-function-call"
|
||||
- [ ] "v-on-style"
|
||||
- [ ] "v-slot-style"
|
||||
- [ ] "valid-template-root"
|
||||
- [ ] "valid-v-bind"
|
||||
- [ ] "valid-v-bind-sync"
|
||||
- [ ] "valid-v-cloak"
|
||||
- [ ] "valid-v-else"
|
||||
- [ ] "valid-v-else-if"
|
||||
- [ ] "valid-v-for"
|
||||
- [ ] "valid-v-html"
|
||||
- [ ] "valid-v-if"
|
||||
- [ ] "valid-v-model"
|
||||
- [ ] "valid-v-on"
|
||||
- [ ] "valid-v-once"
|
||||
- [ ] "valid-v-pre"
|
||||
- [ ] "valid-v-show"
|
||||
- [ ] "valid-v-slot"
|
||||
- [ ] "valid-v-text"
|
2472
package-lock.json
generated
Normal file
2472
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
49
package.json
49
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@valentineus/eslint-config",
|
||||
"version": "0.0.3",
|
||||
"version": "0.0.17",
|
||||
"description": "Personal ESLint configuration",
|
||||
"main": "index.js",
|
||||
"repository": "git@code.valentineus.link:eslint-config.git",
|
||||
@ -11,32 +11,39 @@
|
||||
"build": "rollup --config rollup.config.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-json": "^4.0.2",
|
||||
"@rollup/plugin-typescript": "^3.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.19.2",
|
||||
"@typescript-eslint/parser": "^2.19.2",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-plugin-eslint-comments": "^3.1.2",
|
||||
"eslint-plugin-import": "^2.20.1",
|
||||
"@rollup/plugin-json": "^4.1.0",
|
||||
"@rollup/plugin-typescript": "^4.1.2",
|
||||
"@types/node": "^14.0.13",
|
||||
"@typescript-eslint/eslint-plugin": "^3.3.0",
|
||||
"@typescript-eslint/parser": "^3.3.0",
|
||||
"eslint": "^7.2.0",
|
||||
"eslint-plugin-eslint-comments": "^3.2.0",
|
||||
"eslint-plugin-import": "^2.21.2",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-react": "^7.20.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.4",
|
||||
"eslint-plugin-security": "^1.4.0",
|
||||
"eslint-plugin-sonarjs": "^0.5.0",
|
||||
"eslint-plugin-unicorn": "^16.1.1",
|
||||
"eslint-plugin-vue": "^6.1.2",
|
||||
"rollup": "^1.31.1",
|
||||
"rollup-plugin-terser": "^5.2.0",
|
||||
"tslib": "^1.10.0",
|
||||
"typescript": "^3.7.5"
|
||||
"eslint-plugin-unicorn": "^20.1.0",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"rollup": "^2.17.0",
|
||||
"rollup-plugin-terser": "^6.1.0",
|
||||
"tslib": "^2.0.0",
|
||||
"typescript": "^3.9.5"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^2.19.0",
|
||||
"@typescript-eslint/parser": "^2.19.0",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-plugin-eslint-comments": "^3.1.2",
|
||||
"eslint-plugin-import": "^2.20.1",
|
||||
"@typescript-eslint/eslint-plugin": "^3.3.0",
|
||||
"@typescript-eslint/parser": "^3.3.0",
|
||||
"eslint": "^7.2.0",
|
||||
"eslint-plugin-eslint-comments": "^3.2.0",
|
||||
"eslint-plugin-import": "^2.21.2",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-react": "^7.20.0",
|
||||
"eslint-plugin-react-hooks": "^4.0.4",
|
||||
"eslint-plugin-security": "^1.4.0",
|
||||
"eslint-plugin-sonarjs": "^0.5.0",
|
||||
"eslint-plugin-unicorn": "^16.1.1",
|
||||
"eslint-plugin-vue": "^6.1.2"
|
||||
"eslint-plugin-unicorn": "^20.1.0",
|
||||
"eslint-plugin-vue": "^6.2.2"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
import { terser } from "rollup-plugin-terser";
|
||||
import json from "@rollup/plugin-json";
|
||||
import typescript from "@rollup/plugin-typescript";
|
||||
import { terser } from "rollup-plugin-terser";
|
||||
|
||||
module.exports = {
|
||||
input: {
|
||||
"javascript": "src/javascript.ts",
|
||||
"react-javascript": "src/react-javascript.ts",
|
||||
"react-typescript": "src/react-typescript.ts",
|
||||
"typescript": "src/typescript.ts",
|
||||
"vue-javascript": "src/vue-javascript.ts",
|
||||
"vue-typescript": "src/vue-typescript.ts",
|
||||
@ -25,7 +27,6 @@ module.exports = {
|
||||
output: {
|
||||
comments: false,
|
||||
},
|
||||
sourcemap: false,
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
import rComments from "./rules/eslint-comments/default.json";
|
||||
import rDefault from "./rules/javascript/default.json";
|
||||
import rImport from "./rules/import/default.json";
|
||||
import rDefault from "./rules/javascript/default.json";
|
||||
import rSecurity from "./rules/security/default.json";
|
||||
import rSonarJS from "./rules/sonarjs/default.json";
|
||||
import rUnicorn from "./rules/unicorn/default.json";
|
||||
|
27
src/react-javascript.ts
Normal file
27
src/react-javascript.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import rJsxA11y from "./rules/jsx-a11y/default.json";
|
||||
import rReactHooks from "./rules/react-hooks/default.json";
|
||||
import rDefault from "./rules/react/default.json";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"./javascript",
|
||||
"plugin:jsx-a11y/recommended",
|
||||
"plugin:react-hooks/recommended",
|
||||
"plugin:react/recommended",
|
||||
],
|
||||
"parserOptions": {
|
||||
ecmaFeatures: {
|
||||
jsx: true,
|
||||
},
|
||||
},
|
||||
"plugins": [
|
||||
"jsx-a11y",
|
||||
"react",
|
||||
"react-hooks",
|
||||
],
|
||||
"rules": {
|
||||
...rDefault,
|
||||
...rJsxA11y,
|
||||
...rReactHooks,
|
||||
},
|
||||
};
|
27
src/react-typescript.ts
Normal file
27
src/react-typescript.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import rJsxA11y from "./rules/jsx-a11y/default.json";
|
||||
import rReactHooks from "./rules/react-hooks/default.json";
|
||||
import rDefault from "./rules/react/default.json";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"./typescript",
|
||||
"plugin:jsx-a11y/recommended",
|
||||
"plugin:react-hooks/recommended",
|
||||
"plugin:react/recommended",
|
||||
],
|
||||
"parserOptions": {
|
||||
ecmaFeatures: {
|
||||
jsx: true,
|
||||
},
|
||||
},
|
||||
"plugins": [
|
||||
"jsx-a11y",
|
||||
"react",
|
||||
"react-hooks",
|
||||
],
|
||||
"rules": {
|
||||
...rDefault,
|
||||
...rJsxA11y,
|
||||
...rReactHooks,
|
||||
},
|
||||
};
|
@ -1 +1,42 @@
|
||||
{}
|
||||
{
|
||||
"eslint-comments/disable-enable-pair": [
|
||||
"error",
|
||||
{
|
||||
"allowWholeFile": true
|
||||
}
|
||||
],
|
||||
"eslint-comments/no-aggregating-enable": [
|
||||
"error"
|
||||
],
|
||||
"eslint-comments/no-duplicate-disable": [
|
||||
"error"
|
||||
],
|
||||
"eslint-comments/no-restricted-disable": [
|
||||
"off"
|
||||
],
|
||||
"eslint-comments/no-unlimited-disable": [
|
||||
"error"
|
||||
],
|
||||
"eslint-comments/no-unused-disable": [
|
||||
"error"
|
||||
],
|
||||
"eslint-comments/no-unused-enable": [
|
||||
"error"
|
||||
],
|
||||
"eslint-comments/no-use": [
|
||||
"error",
|
||||
{
|
||||
"allow": [
|
||||
"eslint",
|
||||
"eslint-disable",
|
||||
"eslint-disable-line",
|
||||
"eslint-disable-next-line",
|
||||
"eslint-enable",
|
||||
"eslint-env",
|
||||
"exported",
|
||||
"global",
|
||||
"globals"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -13,5 +13,30 @@
|
||||
],
|
||||
"import/no-webpack-loader-syntax": [
|
||||
"error"
|
||||
],
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"alphabetize": {
|
||||
"caseInsensitive": false,
|
||||
"order": "asc"
|
||||
},
|
||||
"groups": [
|
||||
[
|
||||
"builtin",
|
||||
"external"
|
||||
],
|
||||
[
|
||||
"internal",
|
||||
"parent",
|
||||
"sibling"
|
||||
],
|
||||
[
|
||||
"index"
|
||||
],
|
||||
"unknown"
|
||||
],
|
||||
"newlines-between": "always"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -2,7 +2,8 @@
|
||||
"array-callback-return": [
|
||||
"error",
|
||||
{
|
||||
"allowImplicit": false
|
||||
"allowImplicit": false,
|
||||
"checkForEach": true
|
||||
}
|
||||
],
|
||||
"arrow-parens": [
|
||||
@ -23,9 +24,6 @@
|
||||
"allowSingleLine": false
|
||||
}
|
||||
],
|
||||
"callback-return": [
|
||||
"warn"
|
||||
],
|
||||
"camelcase": [
|
||||
"error",
|
||||
{
|
||||
@ -53,10 +51,7 @@
|
||||
],
|
||||
"comma-style": [
|
||||
"error",
|
||||
"last",
|
||||
{
|
||||
"exceptions": {}
|
||||
}
|
||||
"last"
|
||||
],
|
||||
"curly": [
|
||||
"error",
|
||||
@ -80,9 +75,6 @@
|
||||
"error",
|
||||
"consistent"
|
||||
],
|
||||
"handle-callback-err": [
|
||||
"error"
|
||||
],
|
||||
"id-length": [
|
||||
"warn",
|
||||
{
|
||||
@ -111,16 +103,20 @@
|
||||
"MemberExpression": 1,
|
||||
"ObjectExpression": 1,
|
||||
"SwitchCase": 1,
|
||||
"VariableDeclarator": "first",
|
||||
"VariableDeclarator": 1,
|
||||
"flatTernaryExpressions": true,
|
||||
"ignoreComments": false,
|
||||
"ignoredNodes": [],
|
||||
"offsetTernaryExpressions": true,
|
||||
"outerIIFEBody": 1
|
||||
}
|
||||
],
|
||||
"indent-legacy": [
|
||||
"off"
|
||||
],
|
||||
"jsx-quotes": [
|
||||
"error",
|
||||
"prefer-double"
|
||||
],
|
||||
"key-spacing": [
|
||||
"error",
|
||||
{
|
||||
@ -173,6 +169,7 @@
|
||||
"code": 180,
|
||||
"comments": 72,
|
||||
"ignoreComments": false,
|
||||
"ignorePattern": "eslint*",
|
||||
"ignoreRegExpLiterals": false,
|
||||
"ignoreStrings": true,
|
||||
"ignoreTemplateLiterals": true,
|
||||
@ -196,6 +193,12 @@
|
||||
"max-statements": [
|
||||
"off"
|
||||
],
|
||||
"max-statements-per-line": [
|
||||
"error",
|
||||
{
|
||||
"max": 1
|
||||
}
|
||||
],
|
||||
"multiline-comment-style": [
|
||||
"error",
|
||||
"starred-block"
|
||||
@ -284,16 +287,7 @@
|
||||
"error"
|
||||
],
|
||||
"no-magic-numbers": [
|
||||
"warn",
|
||||
{
|
||||
"detectObjects": false,
|
||||
"enforceConst": true,
|
||||
"ignore": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"ignoreArrayIndexes": false
|
||||
}
|
||||
"off"
|
||||
],
|
||||
"no-mixed-spaces-and-tabs": [
|
||||
"error"
|
||||
@ -328,17 +322,17 @@
|
||||
"no-new-func": [
|
||||
"error"
|
||||
],
|
||||
"no-new-require": [
|
||||
"error"
|
||||
],
|
||||
"no-new-wrappers": [
|
||||
"error"
|
||||
],
|
||||
"no-octal-escape": [
|
||||
"error"
|
||||
],
|
||||
"no-path-concat": [
|
||||
"error"
|
||||
"no-param-reassign": [
|
||||
"warn",
|
||||
{
|
||||
"props": true
|
||||
}
|
||||
],
|
||||
"no-proto": [
|
||||
"error"
|
||||
@ -375,6 +369,13 @@
|
||||
"no-ternary": [
|
||||
"off"
|
||||
],
|
||||
"no-trailing-spaces": [
|
||||
"error",
|
||||
{
|
||||
"ignoreComments": false,
|
||||
"skipBlankLines": false
|
||||
}
|
||||
],
|
||||
"no-undef-init": [
|
||||
"error"
|
||||
],
|
||||
@ -442,15 +443,31 @@
|
||||
"no-var": [
|
||||
"error"
|
||||
],
|
||||
"no-whitespace-before-property": [
|
||||
"error"
|
||||
],
|
||||
"no-with": [
|
||||
"error"
|
||||
],
|
||||
"object-curly-newline": [
|
||||
"error",
|
||||
{
|
||||
"ExportDeclaration": {
|
||||
"consistent": true,
|
||||
"minProperties": 5,
|
||||
"minProperties": 1,
|
||||
"multiline": true
|
||||
},
|
||||
"ImportDeclaration": "never",
|
||||
"ObjectExpression": {
|
||||
"consistent": true,
|
||||
"minProperties": 1,
|
||||
"multiline": true
|
||||
},
|
||||
"ObjectPattern": {
|
||||
"consistent": true,
|
||||
"minProperties": 1,
|
||||
"multiline": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"object-curly-spacing": [
|
||||
@ -594,6 +611,12 @@
|
||||
"named": "never"
|
||||
}
|
||||
],
|
||||
"space-infix-ops": [
|
||||
"error",
|
||||
{
|
||||
"int32Hint": false
|
||||
}
|
||||
],
|
||||
"strict": [
|
||||
"error",
|
||||
"safe"
|
||||
|
1
src/rules/jsx-a11y/default.json
Normal file
1
src/rules/jsx-a11y/default.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
src/rules/react-hooks/default.json
Normal file
1
src/rules/react-hooks/default.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
1
src/rules/react/default.json
Normal file
1
src/rules/react/default.json
Normal file
@ -0,0 +1 @@
|
||||
{}
|
@ -1 +1,80 @@
|
||||
{}
|
||||
{
|
||||
"sonarjs/cognitive-complexity": [
|
||||
"warn",
|
||||
25
|
||||
],
|
||||
"sonarjs/max-switch-cases": [
|
||||
"warn",
|
||||
30
|
||||
],
|
||||
"sonarjs/no-all-duplicated-branches": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-collapsible-if": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-collection-size-mischeck": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-duplicate-string": [
|
||||
"warn",
|
||||
5
|
||||
],
|
||||
"sonarjs/no-duplicated-branches": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-element-overwrite": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-extra-arguments": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-identical-conditions": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-identical-expressions": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-identical-functions": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-inverted-boolean-check": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-one-iteration-loop": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-redundant-boolean": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-redundant-jump": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-same-line-conditional": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-small-switch": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-unused-collection": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-use-of-empty-return-value": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/no-useless-catch": [
|
||||
"warn"
|
||||
],
|
||||
"sonarjs/prefer-immediate-return": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/prefer-object-literal": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/prefer-single-boolean-return": [
|
||||
"error"
|
||||
],
|
||||
"sonarjs/prefer-while": [
|
||||
"error"
|
||||
]
|
||||
}
|
||||
|
@ -2,6 +2,39 @@
|
||||
"@typescript-eslint/await-thenable": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/class-literal-property-style": [
|
||||
"error",
|
||||
"getters"
|
||||
],
|
||||
"@typescript-eslint/comma-spacing": [
|
||||
"error",
|
||||
{
|
||||
"after": true,
|
||||
"before": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/explicit-function-return-type": [
|
||||
"error",
|
||||
{
|
||||
"allowConciseArrowFunctionExpressionsStartingWithVoid": false,
|
||||
"allowExpressions": false,
|
||||
"allowHigherOrderFunctions": false,
|
||||
"allowTypedFunctionExpressions": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/explicit-member-accessibility": [
|
||||
"error",
|
||||
{
|
||||
"accessibility": "explicit",
|
||||
"overrides": {
|
||||
"accessors": "explicit",
|
||||
"constructors": "explicit",
|
||||
"methods": "explicit",
|
||||
"parameterProperties": "explicit",
|
||||
"properties": "explicit"
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/indent": [
|
||||
"error",
|
||||
"tab",
|
||||
@ -22,19 +55,19 @@
|
||||
"MemberExpression": 1,
|
||||
"ObjectExpression": 1,
|
||||
"SwitchCase": 1,
|
||||
"VariableDeclarator": "first",
|
||||
"VariableDeclarator": 1,
|
||||
"flatTernaryExpressions": true,
|
||||
"ignoreComments": false,
|
||||
"ignoredNodes": [],
|
||||
"outerIIFEBody": 1
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/interface-name-prefix": [
|
||||
"@typescript-eslint/method-signature-style": [
|
||||
"error",
|
||||
{
|
||||
"allowUnderscorePrefix": false,
|
||||
"prefixWithI": "always"
|
||||
}
|
||||
"property"
|
||||
],
|
||||
"@typescript-eslint/no-base-to-string": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-empty-interface": [
|
||||
"warn",
|
||||
@ -45,10 +78,13 @@
|
||||
"@typescript-eslint/no-explicit-any": [
|
||||
"warn",
|
||||
{
|
||||
"fixToUnknown": false,
|
||||
"fixToUnknown": true,
|
||||
"ignoreRestArgs": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-extra-semi": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-implied-eval": [
|
||||
"error"
|
||||
],
|
||||
@ -56,18 +92,13 @@
|
||||
"off"
|
||||
],
|
||||
"@typescript-eslint/no-magic-numbers": [
|
||||
"warn",
|
||||
{
|
||||
"detectObjects": false,
|
||||
"enforceConst": true,
|
||||
"ignore": [
|
||||
0,
|
||||
1
|
||||
"off"
|
||||
],
|
||||
"ignoreArrayIndexes": false,
|
||||
"ignoreEnums": true,
|
||||
"ignoreNumericLiteralTypes": true,
|
||||
"ignoreReadonlyClassProperties": true
|
||||
"@typescript-eslint/no-misused-promises": [
|
||||
"error",
|
||||
{
|
||||
"checksConditionals": true,
|
||||
"checksVoidReturn": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-namespace": [
|
||||
@ -77,14 +108,36 @@
|
||||
"allowDefinitionFiles": true
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-untyped-public-signature": [
|
||||
"@typescript-eslint/no-type-alias": [
|
||||
"error",
|
||||
{
|
||||
"ignoredMethods": [
|
||||
"constructor"
|
||||
]
|
||||
"allowAliases": "in-unions-and-intersections",
|
||||
"allowCallbacks": "always",
|
||||
"allowConditionalTypes": "always",
|
||||
"allowConstructors": "never",
|
||||
"allowLiterals": "never",
|
||||
"allowMappedTypes": "never",
|
||||
"allowTupleTypes": "in-unions-and-intersections"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-unnecessary-condition": [
|
||||
"error",
|
||||
{
|
||||
"allowConstantLoopConditions": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-unnecessary-type-assertion": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-unsafe-call": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-unsafe-member-access": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-unsafe-return": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"error",
|
||||
{
|
||||
@ -113,6 +166,12 @@
|
||||
"@typescript-eslint/no-var-requires": [
|
||||
"error"
|
||||
],
|
||||
"@typescript-eslint/prefer-readonly-parameter-types": [
|
||||
"error",
|
||||
{
|
||||
"checkParameterProperties": true
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/quotes": [
|
||||
"error",
|
||||
"double",
|
||||
@ -131,19 +190,57 @@
|
||||
"omitLastInOneLineBlock": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/space-before-function-paren": [
|
||||
"error",
|
||||
{
|
||||
"anonymous": "always",
|
||||
"asyncArrow": "always",
|
||||
"named": "never"
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/strict-boolean-expressions": [
|
||||
"error",
|
||||
{
|
||||
"allowNullable": false,
|
||||
"allowSafe": false,
|
||||
"ignoreRhs": false
|
||||
"allowAny": false,
|
||||
"allowNullableBoolean": false,
|
||||
"allowNullableNumber": false,
|
||||
"allowNullableObject": false,
|
||||
"allowNullableString": false,
|
||||
"allowNumber": false,
|
||||
"allowString": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/type-annotation-spacing": [
|
||||
"error",
|
||||
{
|
||||
"after": true,
|
||||
"before": false,
|
||||
"overrides": {
|
||||
"arrow": {
|
||||
"after": true,
|
||||
"before": true
|
||||
},
|
||||
"colon": {
|
||||
"after": true,
|
||||
"before": false
|
||||
},
|
||||
"parameter": {
|
||||
"after": true,
|
||||
"before": false
|
||||
},
|
||||
"property": {
|
||||
"after": true,
|
||||
"before": false
|
||||
},
|
||||
"returnType": {
|
||||
"after": true,
|
||||
"before": false
|
||||
},
|
||||
"variable": {
|
||||
"after": true,
|
||||
"before": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/typedef": [
|
||||
@ -155,16 +252,20 @@
|
||||
"objectDestructuring": true,
|
||||
"parameter": true,
|
||||
"propertyDeclaration": true,
|
||||
"variableDeclaration": true
|
||||
"variableDeclaration": true,
|
||||
"variableDeclarationIgnoreFunction": false
|
||||
}
|
||||
],
|
||||
"comma-spacing": [
|
||||
"off"
|
||||
],
|
||||
"indent": [
|
||||
"off"
|
||||
],
|
||||
"no-implied-eval": [
|
||||
"no-extra-semi": [
|
||||
"off"
|
||||
],
|
||||
"no-magic-numbers": [
|
||||
"no-implied-eval": [
|
||||
"off"
|
||||
],
|
||||
"no-unused-vars": [
|
||||
@ -184,5 +285,8 @@
|
||||
],
|
||||
"semi": [
|
||||
"off"
|
||||
],
|
||||
"space-before-function-paren": [
|
||||
"off"
|
||||
]
|
||||
}
|
@ -1 +1,44 @@
|
||||
{}
|
||||
{
|
||||
"unicorn/filename-case": [
|
||||
"error",
|
||||
{
|
||||
"cases": {
|
||||
"kebabCase": true,
|
||||
"pascalCase": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"unicorn/import-index": [
|
||||
"error",
|
||||
{
|
||||
"ignoreImports": true
|
||||
}
|
||||
],
|
||||
"unicorn/no-console-spaces": [
|
||||
"error"
|
||||
],
|
||||
"unicorn/prefer-number-properties": [
|
||||
"error"
|
||||
],
|
||||
"unicorn/prefer-set-has": [
|
||||
"error"
|
||||
],
|
||||
"unicorn/prevent-abbreviations": [
|
||||
"error",
|
||||
{
|
||||
"checkDefaultAndNamespaceImports": "internal",
|
||||
"checkFilenames": true,
|
||||
"checkProperties": true,
|
||||
"checkShorthandImports": "internal",
|
||||
"checkShorthandProperties": true,
|
||||
"checkVariables": true,
|
||||
"extendDefaultReplacements": true,
|
||||
"extendDefaultWhitelist": true,
|
||||
"replacements": {},
|
||||
"whitelist": {}
|
||||
}
|
||||
],
|
||||
"unicorn/string-content": [
|
||||
"error"
|
||||
]
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
"vue/attributes-order": [
|
||||
"error",
|
||||
{
|
||||
"alphabetical": true,
|
||||
"order": [
|
||||
"DEFINITION",
|
||||
"LIST_RENDERING",
|
||||
@ -17,6 +18,10 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"vue/comma-dangle": [
|
||||
"error",
|
||||
"always-multiline"
|
||||
],
|
||||
"vue/html-closing-bracket-newline": [
|
||||
"error",
|
||||
{
|
||||
@ -44,7 +49,10 @@
|
||||
],
|
||||
"vue/html-quotes": [
|
||||
"error",
|
||||
"double"
|
||||
"double",
|
||||
{
|
||||
"avoidEscape": false
|
||||
}
|
||||
],
|
||||
"vue/html-self-closing": [
|
||||
"error",
|
||||
@ -68,6 +76,27 @@
|
||||
"singleline": 8
|
||||
}
|
||||
],
|
||||
"vue/no-multi-spaces": [
|
||||
"error",
|
||||
{
|
||||
"ignoreProperties": false
|
||||
}
|
||||
],
|
||||
"vue/no-unused-vars": [
|
||||
"error"
|
||||
],
|
||||
"vue/object-curly-spacing": [
|
||||
"error",
|
||||
"always",
|
||||
{
|
||||
"arraysInObjects": false,
|
||||
"objectsInObjects": false
|
||||
}
|
||||
],
|
||||
"vue/padding-line-between-blocks": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"vue/script-indent": [
|
||||
"error",
|
||||
"tab",
|
||||
@ -75,5 +104,45 @@
|
||||
"baseIndent": 0,
|
||||
"switchCase": 1
|
||||
}
|
||||
],
|
||||
"vue/sort-keys": [
|
||||
"warn",
|
||||
"asc",
|
||||
{
|
||||
"caseSensitive": true,
|
||||
"ignoreChildrenOf": [
|
||||
"model"
|
||||
],
|
||||
"ignoreGrandchildrenOf": [
|
||||
"activated",
|
||||
"beforeCreate",
|
||||
"beforeDestroy",
|
||||
"beforeMount",
|
||||
"beforeUpdate",
|
||||
"components",
|
||||
"computed",
|
||||
"created",
|
||||
"data",
|
||||
"deactivated",
|
||||
"destroyed",
|
||||
"directives",
|
||||
"errorCaptured",
|
||||
"filters",
|
||||
"methods",
|
||||
"mounted",
|
||||
"name",
|
||||
"props",
|
||||
"updated",
|
||||
"watch"
|
||||
],
|
||||
"minKeys": 2,
|
||||
"natural": true
|
||||
}
|
||||
],
|
||||
"vue/space-infix-ops": [
|
||||
"error",
|
||||
{
|
||||
"int32Hint": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
5
src/rules/vue/overrides.json
Normal file
5
src/rules/vue/overrides.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"sort-keys": [
|
||||
"off"
|
||||
]
|
||||
}
|
@ -3,14 +3,18 @@ import rDefault from "./rules/typescript/default.json";
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"./javascript",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:@typescript-eslint/recommended-requiring-type-checking",
|
||||
"plugin:import/typescript",
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": {
|
||||
createDefaultProgram: true,
|
||||
},
|
||||
"plugins": [
|
||||
"@typescript-eslint",
|
||||
],
|
||||
"rules": { ...rDefault },
|
||||
"rules": {
|
||||
...rDefault,
|
||||
},
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
import rDefault from "./rules/vue/default.json";
|
||||
import rOverrides from "./rules/vue/overrides.json";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
@ -8,6 +9,16 @@ module.exports = {
|
||||
"plugin:vue/recommended",
|
||||
"plugin:vue/strongly-recommended",
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
files: [
|
||||
"*.vue",
|
||||
],
|
||||
rules: {
|
||||
...rOverrides,
|
||||
},
|
||||
},
|
||||
],
|
||||
"parser": "vue-eslint-parser",
|
||||
"parserOptions": {
|
||||
extraFileExtensions: [
|
||||
@ -15,5 +26,7 @@ module.exports = {
|
||||
],
|
||||
},
|
||||
"plugins": ["vue"],
|
||||
"rules": { ...rDefault },
|
||||
"rules": {
|
||||
...rDefault,
|
||||
},
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
import rDefault from "./rules/vue/default.json";
|
||||
import rOverrides from "./rules/vue/overrides.json";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
@ -8,13 +9,26 @@ module.exports = {
|
||||
"plugin:vue/recommended",
|
||||
"plugin:vue/strongly-recommended",
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
files: [
|
||||
"*.vue",
|
||||
],
|
||||
rules: {
|
||||
...rOverrides,
|
||||
},
|
||||
},
|
||||
],
|
||||
"parser": "vue-eslint-parser",
|
||||
"parserOptions": {
|
||||
createDefaultProgram: true,
|
||||
extraFileExtensions: [
|
||||
".vue",
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
},
|
||||
"plugins": ["vue"],
|
||||
"rules": { ...rDefault },
|
||||
"rules": {
|
||||
...rDefault,
|
||||
},
|
||||
};
|
||||
|
Reference in New Issue
Block a user