47 Commits

Author SHA1 Message Date
2b9c6380f0 Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 01:06:52 +04:00
ee0e9ca2e4 Updated RollUp version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 01:06:15 +04:00
84a6f6a0f1 Updated Actions config file
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 01:05:06 +04:00
27c334ef9b Formatted TypeScript files
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 01:02:50 +04:00
14cecabc10 Fixed rules
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 01:02:06 +04:00
10507bf4d5 Updated plugin rules
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 00:47:04 +04:00
7f69fc6b1e Updated ESLint rules
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-18 00:20:56 +04:00
802224efd3 Updated TypeScript rules
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-17 21:33:14 +04:00
65cf95c441 Recovered build
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-17 20:49:00 +04:00
2c62da8dec Updated RollUp dependence
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-17 20:44:45 +04:00
e1d7895283 Updated TypeScript dependence
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-17 20:42:58 +04:00
75912b5777 Changed Yarn manager to NPM manager
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-06-17 20:28:17 +04:00
adf39edc06 Merge pull request #3 from valentineus/20200401
20200401
2020-04-01 14:54:34 +04:00
43a293985c Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 14:53:13 +04:00
fd0218c01e feat(vue): no-multi-spaces
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 14:51:51 +04:00
a3a2934e43 feat(vue): Added overrides
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 14:49:17 +04:00
28516614a3 feat(project): Update README.md
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 14:23:30 +04:00
1b9319f0f7 feat(project): Update README.md
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 14:19:19 +04:00
c94f480062 feat(project): Update dependence's
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 13:56:42 +04:00
7398379ef8 fix(typescript): type-annotation-spacing
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-04-01 13:52:40 +04:00
3d805a1417 feat(npm): Updated ignore
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:46:20 +04:00
4aa0bc667b Merge pull request #2 from valentineus/develop
Develop
2020-03-26 22:38:42 +04:00
2bdf5c8799 Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:38:04 +04:00
bbc0fca985 fix(actions): Update auth action
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:36:31 +04:00
f12fa08c45 fix(actions): Used node action
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:31:34 +04:00
4431cd50b1 fix(actions): Updated auth token
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:25:32 +04:00
c2ad7f211e fix(actions): Added auth token
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:24:06 +04:00
e214aeb8a5 Add GitHub Action
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 22:16:28 +04:00
3f3d4da18b Merge branch 'master' into develop 2020-03-26 21:56:41 +04:00
1380e38397 Merge pull request #1 from valentineus/dependabot/npm_and_yarn/acorn-7.1.1
build(deps): Bump acorn from 7.1.0 to 7.1.1
2020-03-26 21:55:49 +04:00
5ab5dadfc1 build(deps): Bump acorn from 7.1.0 to 7.1.1
Bumps [acorn](https://github.com/acornjs/acorn) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/7.1.0...7.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-26 17:50:29 +00:00
838f58e1cd Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:45:48 +04:00
a03e6513cb feat(project): Updated "README.md"
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:44:40 +04:00
78586ee73c fix(javascript): Formatted file
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:35:39 +04:00
9ba18706cd fix(sonarjs): prefer-immediate-return
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:34:11 +04:00
4925f485ea feat(import): order
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:32:18 +04:00
46d05009cc feat(sonarjs): Added rules
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 21:12:27 +04:00
582698ebfa Fixed TypeScript error after create new file
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 20:49:19 +04:00
5d9c8c8b4e fix(typescript): no-explicit-any
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 20:43:49 +04:00
3c92284822 Updated Vue plugin to v6.2.2
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 20:39:09 +04:00
09caa0dcba Updated TypeScript to v2.25.0
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 20:36:44 +04:00
a40468c437 Updated Unicorn to v18.0.0
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-03-26 20:04:51 +04:00
694ac9c74d update(project): Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-02-26 22:01:41 +04:00
9ff6063149 feat(unicorn): import-index
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-02-26 22:01:09 +04:00
d604a6f373 update(project): Bump version
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-02-20 11:51:57 +04:00
3dd60105f6 fix(typescript): no-untyped-public-signature
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-02-20 11:51:22 +04:00
e3f0415e2b fix(eslint): max-len
Signed-off-by: Valentin Popov <info@valentineus.link>
2020-02-20 11:45:35 +04:00
22 changed files with 2656 additions and 1802 deletions

View File

@ -12,9 +12,7 @@ tab_width = 4
trim_trailing_whitespace = true
[*.json]
indent_size = 2
indent_style = space
[*.yml]
indent_size = 2
indent_style = space

19
.github/workflows/publish.yml vendored Normal file
View 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
View File

@ -198,9 +198,5 @@ $RECYCLE.BIN/
### Project ###
# Resulting code
/_tslib-*.js
/default-*.js
/javascript.js
/typescript.js
/vue-javascript.js
/vue-typescript.js
/*.js

View File

@ -1,19 +0,0 @@
image: "node:latest"
cache:
paths:
- node_modules/
job-publish:
only:
- tags
before_script:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
script:
- yarn install
- yarn run build
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
- npm publish

View File

@ -203,7 +203,7 @@ src/
# Configuration file
.editorconfig
.eslintrc.json
.github/
.gitignore
.gitlab-ci.yml
rollup.config.js
tsconfig.json

View File

@ -1 +1,71 @@
# 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`
* `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-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-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).

View File

@ -13,7 +13,6 @@
- [ ] "block-scoped-var"
- [ ] "block-spacing"
- [X] "brace-style"
- [X] "callback-return"
- [X] "camelcase"
- [ ] "capitalized-comments"
- [X] "class-methods-use-this"
@ -42,10 +41,8 @@
- [ ] "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"
@ -138,10 +135,10 @@
- [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"
- [ ] "no-mixed-requires"
- [X] "no-mixed-spaces-and-tabs"
- [ ] "no-multi-assign"
- [X] "no-multi-spaces"
@ -154,17 +151,13 @@
- [ ] "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"
- [X] "no-process-env"
- [ ] "no-process-exit"
- [X] "no-proto"
- [ ] "no-prototype-builtins"
- [ ] "no-redeclare"
@ -172,7 +165,6 @@
- [ ] "no-restricted-exports"
- [ ] "no-restricted-globals"
- [ ] "no-restricted-imports"
- [ ] "no-restricted-modules"
- [X] "no-restricted-properties"
- [ ] "no-restricted-syntax"
- [ ] "no-return-assign"
@ -186,7 +178,6 @@
- [ ] "no-shadow-restricted-names"
- [X] "no-spaced-func"
- [ ] "no-sparse-arrays"
- [ ] "no-sync"
- [X] "no-tabs"
- [ ] "no-template-curly-in-string"
- [X] "no-ternary"
@ -291,6 +282,7 @@
- [X] "no-unused-disable"
- [X] "no-unused-enable"
- [X] "no-use"
- [ ] "require-description"
## Import
@ -316,6 +308,7 @@
- [ ] "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"
@ -331,7 +324,7 @@
- [ ] "no-unused-modules"
- [ ] "no-useless-path-segments"
- [X] "no-webpack-loader-syntax"
- [ ] "order"
- [X] "order"
- [ ] "prefer-default-export"
- [ ] "unambiguous"
@ -353,31 +346,31 @@
## 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"
- [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"
## TypeScript
@ -385,27 +378,31 @@
- [ ] "array-type"
- [X] "await-thenable"
- [ ] "ban-ts-comment"
- [ ] "ban-ts-ignore"
- [ ] "ban-tslint-comment"
- [ ] "ban-types"
- [ ] "brace-style"
- [ ] "camelcase"
- [ ] "class-name-casing"
- [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"
- [ ] "generic-type-naming"
- [X] "indent"
- [X] "interface-name-prefix"
- [ ] "init-declarations"
- [ ] "keyword-spacing"
- [ ] "lines-between-class-members"
- [ ] "member-delimiter-style"
- [ ] "member-naming"
- [ ] "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"
@ -419,6 +416,8 @@
- [ ] "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"
@ -431,11 +430,14 @@
- [ ] "no-throw-literal"
- [X] "no-type-alias"
- [ ] "no-unnecessary-boolean-literal-compare"
- [ ] "no-unnecessary-condition"
- [X] "no-unnecessary-condition"
- [ ] "no-unnecessary-qualifier"
- [ ] "no-unnecessary-type-arguments"
- [ ] "no-unnecessary-type-assertion"
- [X] "no-untyped-public-signature"
- [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"
@ -450,8 +452,11 @@
- [ ] "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"
@ -480,7 +485,7 @@
- [ ] "expiring-todo-comments"
- [ ] "explicit-length-check"
- [X] "filename-case"
- [ ] "import-index"
- [X] "import-index"
- [ ] "new-for-builtins"
- [ ] "no-abusive-eslint-disable"
- [ ] "no-array-instanceof"
@ -491,13 +496,17 @@
- [ ] "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"
@ -507,9 +516,12 @@
- [ ] "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"
@ -517,7 +529,7 @@
- [ ] "prefer-trim-start-end"
- [ ] "prefer-type-error"
- [X] "prevent-abbreviations"
- [ ] "regex-shorthand"
- [ ] "string-content"
- [ ] "throw-new-error"
## Vue
@ -561,7 +573,7 @@
- [ ] "no-duplicate-attributes"
- [ ] "no-empty-pattern"
- [ ] "no-irregular-whitespace"
- [ ] "no-multi-spaces"
- [X] "no-multi-spaces"
- [ ] "no-parsing-error"
- [ ] "no-reserved-component-names"
- [ ] "no-reserved-keys"

2233
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "@valentineus/eslint-config",
"version": "0.0.11",
"version": "0.0.16",
"description": "Personal ESLint configuration",
"main": "index.js",
"repository": "git@code.valentineus.link:eslint-config.git",
@ -11,32 +11,33 @@
"build": "rollup --config rollup.config.js"
},
"devDependencies": {
"@rollup/plugin-json": "^4.0.2",
"@rollup/plugin-typescript": "^3.0.0",
"@typescript-eslint/eslint-plugin": "^2.20.0",
"@typescript-eslint/parser": "^2.20.0",
"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-security": "^1.4.0",
"eslint-plugin-sonarjs": "^0.5.0",
"eslint-plugin-unicorn": "^16.1.1",
"eslint-plugin-vue": "^6.2.1",
"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-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": {}
}

View File

@ -1,6 +1,6 @@
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: {
@ -25,7 +25,6 @@ module.exports = {
output: {
comments: false,
},
sourcemap: false,
}),
],
};

View File

@ -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";

View File

@ -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"
}
]
}

View File

@ -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",
{
@ -114,7 +106,7 @@
"VariableDeclarator": 1,
"flatTernaryExpressions": true,
"ignoreComments": false,
"ignoredNodes": [],
"offsetTernaryExpressions": true,
"outerIIFEBody": 1
}
],
@ -177,6 +169,7 @@
"code": 180,
"comments": 72,
"ignoreComments": false,
"ignorePattern": "eslint*",
"ignoreRegExpLiterals": false,
"ignoreStrings": true,
"ignoreTemplateLiterals": true,
@ -329,9 +322,6 @@
"no-new-func": [
"error"
],
"no-new-require": [
"error"
],
"no-new-wrappers": [
"error"
],
@ -344,12 +334,6 @@
"props": true
}
],
"no-path-concat": [
"error"
],
"no-process-env": [
"off"
],
"no-proto": [
"error"
],
@ -468,9 +452,22 @@
"object-curly-newline": [
"error",
{
"consistent": true,
"minProperties": 5,
"multiline": true
"ExportDeclaration": {
"consistent": true,
"minProperties": 1,
"multiline": true
},
"ImportDeclaration": "never",
"ObjectExpression": {
"consistent": true,
"minProperties": 1,
"multiline": true
},
"ObjectPattern": {
"consistent": true,
"minProperties": 1,
"multiline": true
}
}
],
"object-curly-spacing": [

View File

@ -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"
]
}

View File

@ -2,6 +2,10 @@
"@typescript-eslint/await-thenable": [
"error"
],
"@typescript-eslint/class-literal-property-style": [
"error",
"getters"
],
"@typescript-eslint/comma-spacing": [
"error",
{
@ -12,6 +16,7 @@
"@typescript-eslint/explicit-function-return-type": [
"error",
{
"allowConciseArrowFunctionExpressionsStartingWithVoid": false,
"allowExpressions": false,
"allowHigherOrderFunctions": false,
"allowTypedFunctionExpressions": false
@ -57,12 +62,12 @@
"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",
@ -73,7 +78,7 @@
"@typescript-eslint/no-explicit-any": [
"warn",
{
"fixToUnknown": false,
"fixToUnknown": true,
"ignoreRestArgs": false
}
],
@ -115,14 +120,24 @@
"allowTupleTypes": "in-unions-and-intersections"
}
],
"@typescript-eslint/no-untyped-public-signature": [
"@typescript-eslint/no-unnecessary-condition": [
"error",
{
"ignoredMethods": [
"constructor"
]
"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",
{
@ -151,6 +166,12 @@
"@typescript-eslint/no-var-requires": [
"error"
],
"@typescript-eslint/prefer-readonly-parameter-types": [
"error",
{
"checkParameterProperties": true
}
],
"@typescript-eslint/quotes": [
"error",
"double",
@ -180,14 +201,20 @@
"@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,
@ -196,6 +223,22 @@
"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
}
}
}
@ -209,7 +252,8 @@
"objectDestructuring": true,
"parameter": true,
"propertyDeclaration": true,
"variableDeclaration": true
"variableDeclaration": true,
"variableDeclarationIgnoreFunction": false
}
],
"comma-spacing": [

View File

@ -8,9 +8,21 @@
}
}
],
"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",
{
@ -25,5 +37,8 @@
"replacements": {},
"whitelist": {}
}
],
"unicorn/string-content": [
"error"
]
}

View File

@ -76,6 +76,12 @@
"singleline": 8
}
],
"vue/no-multi-spaces": [
"error",
{
"ignoreProperties": false
}
],
"vue/no-unused-vars": [
"error"
],

View File

@ -0,0 +1,5 @@
{
"sort-keys": [
"off"
]
}

View File

@ -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,
},
};

View File

@ -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,
},
};

View File

@ -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,
},
};

1657
yarn.lock

File diff suppressed because it is too large Load Diff