feat(sonar): Initial SonarJS plugin
Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
parent
570290241d
commit
3a6a1d0c3a
28
ROADMAP.md
28
ROADMAP.md
@ -340,6 +340,34 @@
|
|||||||
- [ ] "detect-pseudoRandomBytes"
|
- [ ] "detect-pseudoRandomBytes"
|
||||||
- [ ] "detect-unsafe-regex"
|
- [ ] "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
|
## TypeScript
|
||||||
|
|
||||||
- [ ] "adjacent-overload-signatures"
|
- [ ] "adjacent-overload-signatures"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"eslint-plugin-import": "^2.20.1",
|
"eslint-plugin-import": "^2.20.1",
|
||||||
"eslint-plugin-security": "^1.4.0",
|
"eslint-plugin-security": "^1.4.0",
|
||||||
|
"eslint-plugin-sonarjs": "^0.5.0",
|
||||||
"rollup": "^1.31.1",
|
"rollup": "^1.31.1",
|
||||||
"rollup-plugin-terser": "^5.2.0",
|
"rollup-plugin-terser": "^5.2.0",
|
||||||
"tslib": "^1.10.0",
|
"tslib": "^1.10.0",
|
||||||
@ -28,7 +29,8 @@
|
|||||||
"@typescript-eslint/parser": "^2.19.0",
|
"@typescript-eslint/parser": "^2.19.0",
|
||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"eslint-plugin-import": "^2.20.1",
|
"eslint-plugin-import": "^2.20.1",
|
||||||
"eslint-plugin-security": "^1.4.0"
|
"eslint-plugin-security": "^1.4.0",
|
||||||
|
"eslint-plugin-sonarjs": "^0.5.0"
|
||||||
},
|
},
|
||||||
"dependencies": {}
|
"dependencies": {}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import rDefault from "./rules/default.json";
|
import rDefault from "./rules/default.json";
|
||||||
import rImport from "./rules/import.json";
|
import rImport from "./rules/import.json";
|
||||||
import rSecurity from "./rules/security.json";
|
import rSecurity from "./rules/security.json";
|
||||||
|
import rSonarJS from "./rules/sonarjs.json";
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
"extends": [
|
"extends": [
|
||||||
@ -9,14 +10,17 @@ module.exports = {
|
|||||||
"plugin:import/recommended",
|
"plugin:import/recommended",
|
||||||
"plugin:import/warnings",
|
"plugin:import/warnings",
|
||||||
"plugin:security/recommended",
|
"plugin:security/recommended",
|
||||||
|
"plugin:sonarjs/recommended",
|
||||||
],
|
],
|
||||||
"plugins": [
|
"plugins": [
|
||||||
"import",
|
"import",
|
||||||
"security",
|
"security",
|
||||||
|
"sonarjs",
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
...rDefault,
|
...rDefault,
|
||||||
...rImport,
|
...rImport,
|
||||||
...rSecurity,
|
...rSecurity,
|
||||||
|
...rSonarJS,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
1
src/rules/sonarjs.json
Normal file
1
src/rules/sonarjs.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
@ -393,6 +393,11 @@ eslint-plugin-security@^1.4.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-regex "^1.1.0"
|
safe-regex "^1.1.0"
|
||||||
|
|
||||||
|
eslint-plugin-sonarjs@^0.5.0:
|
||||||
|
version "0.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.5.0.tgz#ce17b2daba65a874c2862213a9e38e8986ad7d7d"
|
||||||
|
integrity sha512-XW5MnzlRjhXpIdbULC/qAdJYHWw3rRLws/DyawdlPU/IdVr9AmRK1r2LaCvabwKOAW2XYYSo3kDX58E4MrB7PQ==
|
||||||
|
|
||||||
eslint-scope@^5.0.0:
|
eslint-scope@^5.0.0:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
|
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user