diff --git a/its/eslint8-plugin-sonarjs/package.json b/its/eslint8-plugin-sonarjs/package.json index 94e6ca3df64..15ca65eca0c 100644 --- a/its/eslint8-plugin-sonarjs/package.json +++ b/its/eslint8-plugin-sonarjs/package.json @@ -8,6 +8,7 @@ "devDependencies": { "cross-spawn": "7.0.3", "eslint": "8.57.0", + "eslint-plugin-import": "2.29.1", "typescript": "5.5.4", "typescript-eslint": "7.16.1" } diff --git a/its/eslint9-plugin-sonarjs/package.json b/its/eslint9-plugin-sonarjs/package.json index 77a6863028d..3948ab48b30 100644 --- a/its/eslint9-plugin-sonarjs/package.json +++ b/its/eslint9-plugin-sonarjs/package.json @@ -8,6 +8,7 @@ "devDependencies": { "cross-spawn": "7.0.3", "eslint": "8.57.0", + "eslint-plugin-import": "2.29.1", "typescript": "5.5.4", "typescript-eslint": "7.16.1" } diff --git a/its/plugin/tests/src/test/java/com/sonar/javascript/it/plugin/PRAnalysisTest.java b/its/plugin/tests/src/test/java/com/sonar/javascript/it/plugin/PRAnalysisTest.java index f002a2ca81e..ce669254f7d 100644 --- a/its/plugin/tests/src/test/java/com/sonar/javascript/it/plugin/PRAnalysisTest.java +++ b/its/plugin/tests/src/test/java/com/sonar/javascript/it/plugin/PRAnalysisTest.java @@ -93,7 +93,7 @@ void should_analyse_js_ts_pull_requests(String language) { .withCachedFilesCounts(1, 1) .isUsed() .logsOnce(format("%s\" with linterId \"default\"", indexFile)) - .logsTimes(Main.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule no-extra-semi") + .logsTimes(Main.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule S1116") .logsOnce(format("%s\" with linterId \"default\"", helloFile)) .logsOnce( "INFO: Hit the cache for 0 out of 2", @@ -125,7 +125,7 @@ void should_analyse_js_ts_pull_requests(String language) { .withCachedFilesCounts(1) .isUsed() .logsOnce(format("%s\" with linterId \"default\"", helloFile)) - .logsTimes(PR.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule no-extra-semi") + .logsTimes(PR.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule S1116") .logsOnce( "INFO: Hit the cache for 1 out of 2", "INFO: Miss the cache for 1 out of 2: FILE_CHANGED [1/2]" @@ -198,7 +198,7 @@ void should_analyse_yaml_pull_requests() { .withCachedFilesCounts(1) .isUsed() .logsOnce("file2.yaml\" with linterId \"default\"") - .logsTimes(PR.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule no-extra-semi") + .logsTimes(PR.ANALYZER_REPORTED_ISSUES, "DEBUG: Saving issue for rule S1116") .logsOnce( "INFO: Hit the cache for 1 out of 2", "INFO: Miss the cache for 1 out of 2: FILE_CHANGED [1/2]" diff --git a/packages/jsts/src/linter/quickfixes/messages.ts b/packages/jsts/src/linter/quickfixes/messages.ts index 945fadf62c8..35d7271c70f 100644 --- a/packages/jsts/src/linter/quickfixes/messages.ts +++ b/packages/jsts/src/linter/quickfixes/messages.ts @@ -58,6 +58,40 @@ const quickFixMessages = new Map([ ['quotes', 'Fix quotes'], ['radix', 'Add 10 as radix'], ['semi', 'Add semicolon'], + + ['S1537', 'Remove this trailing comma'], + ['S113', 'Add a new line at the end of file'], + ['S6749', 'Remove redundant fragment'], + ['S6859', 'Replace with a relative path'], + ['S4023', 'Replace with type alias'], + ['S6637', 'Remove .bind() call'], + ['S6509', 'Remove extra cast'], + ['S1116', 'Remove extra semicolon'], + ['S3257', 'Remove type declaration'], + ['S6660', "Replace with 'else if'"], + ['S2966', "Replace with optional chaining '.?'"], + ['S1131', 'Remove trailing space'], + ['S6645', 'Remove initialization'], + ['S4157', 'Remove type argument'], + ['S4325', 'Remove type assertion'], + ['S6644', 'Replace with a simpler expression'], + ['S6650', 'Remove alias'], + ['S3504', "Replace 'var' with 'let'"], + ['S3498', 'Use shorthand property'], + ['S6590', "Replace with 'as const'"], + ['S3353', "Replace with 'const'"], + ['S6598', 'Replace with a function type'], + ['S1488', 'Return value immediately'], + ['S4156', "Replace with 'namespace' keyword"], + ['S6653', 'Replace with Object.hasOwn()'], + ['S6661', 'Replace with object spread syntax'], + ['S2933', "Add 'readonly'"], + ['S6565', "Replace return type with 'this'"], + ['S3512', 'Replace with template string literal'], + ['S1264', "Replace with 'while' loop"], + ['S1441', 'Fix quotes'], + ['S2427', 'Add 10 as radix'], + ['S1438', 'Add semicolon'], ]); /** @@ -73,7 +107,7 @@ const quickFixMessages = new Map([ export function getQuickFixMessage(ruleKey: string): string { const message = quickFixMessages.get(ruleKey); if (!message) { - if (ruleKey === 'no-duplicates') { + if (ruleKey === 'no-duplicates' || ruleKey === 'S3863') { // TODO workaround for eslint-plugin-import/no-duplicates, rule doesn't provide message for fix return 'Remove this duplicate import'; } diff --git a/packages/jsts/src/linter/quickfixes/rules.ts b/packages/jsts/src/linter/quickfixes/rules.ts index a8e44ebea0c..e4f5a253178 100644 --- a/packages/jsts/src/linter/quickfixes/rules.ts +++ b/packages/jsts/src/linter/quickfixes/rules.ts @@ -132,4 +132,107 @@ export const quickFixRules = new Set([ // eslint-plugin-import 'no-absolute-path', 'no-duplicates', + + // eslint core + 'S1537', + 'S113', + 'S6637', + 'S6509', + 'S1116', + 'S4326', + 'S1131', + 'S6645', + 'S6644', + 'S3812', + 'S6650', + 'S3504', + 'S3498', + 'S3353', + 'S6653', + 'S6325', + 'S3512', + 'S1441', + 'S2427', + 'S1438', + + // decorated eslint core + 'S1186', + 'S108', + 'S6660', + 'S6679', + 'S3696', + 'S1763', + 'S1068', + 'S6676', + 'S6647', + 'S6661', + 'S6666', + 'S2688', + + // eslint-plugin-sonarjs + 'S3981', + 'S1940', + 'S3626', + 'S2757', + 'S1488', + 'S1126', + 'S1264', + + // eslint-plugin-react + 'S6754', + 'S6479', + 'S6747', + + // @typescript-eslint plugin + 'S6568', + 'S4023', + 'S4204', + 'S3257', + 'S2966', + 'S4157', + 'S4325', + 'S6569', + 'S6590', + 'S6598', + 'S4156', + 'S6606', + 'S2933', + 'S6565', + 'S6557', + + // decorated @typescript-eslint plugin + 'S6572', + 'S4138', + + // sonarjs + 'S1528', + 'S3403', + 'S3415', + 'S2871', + 'S125', + 'S4621', + 'S6426', + 'S2990', + 'S4619', + 'S4043', + 'S1533', + 'S4781', + 'S1110', + 'S4623', + 'S3984', + 'S1172', + 'S1444', + 'S4634', + 'S4322', + 'S1534', + 'S5868', + 'S6759', + 'S6594', + 'S131', + 'S6535', + 'S1128', + + // eslint-plugin-import + 'S6859', + 'S3863', ]); diff --git a/packages/jsts/src/rules/index.ts b/packages/jsts/src/rules/index.ts index 0a7700611d0..6792b0ee5a3 100644 --- a/packages/jsts/src/rules/index.ts +++ b/packages/jsts/src/rules/index.ts @@ -347,336 +347,784 @@ import { rule as S4423 } from './S4423'; // weak-ssl import { rule as S2817 } from './S2817'; // web-sql-database import { rule as S5689 } from './S5689'; // x-powered-by import { rule as S2755 } from './S2755'; // xml-parser-xxe -import { rule as S4817 } from './S4817'; // xpath +import { rule as S4817 } from './S4817'; +import { eslintRules } from './core'; +import { rules as a11yPluginRules } from 'eslint-plugin-jsx-a11y'; +import { tsEslintRules } from './typescript-eslint'; +import { rules as importPluginRules } from 'eslint-plugin-import'; +import { rules as reactPluginRules } from 'eslint-plugin-react'; // xpath + +const bridgeRules: { [key: string]: Rule.RuleModule } = { + S100, + S101, + S103: eslintRules['max-len'], + S104, + S105, + S106: eslintRules['no-console'], + S1066, + S1067, + S1068, + S107, + S1077, + S108: eslintRules['no-empty'], + S1082, + S109, + S1090: a11yPluginRules['iframe-has-title'], + S1105, + S1110, + S1116, + S1117: tsEslintRules['no-shadow'], + S1119, + S1121, + S1125, + S1126, + S1128, + S113: eslintRules['eol-last'], + S1131: eslintRules['no-trailing-spaces'], + S1134, + S1135, + S1143: eslintRules['no-unsafe-finally'], + S1154, + S117, + S1172, + S1186, + S1192, + S1199: eslintRules['no-lone-blocks'], + S121: eslintRules['curly'], + S1219, + S122: eslintRules['max-statements-per-line'], + S1226, + S124, + S125, + S126, + S1264, + S128, + S1301, + S131, + S1313, + S1314: eslintRules['no-octal'], + S1321: eslintRules['no-with'], + S134, + S135, + S138, + S139: eslintRules['line-comment-position'], + S1438, + S1439, + S1440: eslintRules['eqeqeq'], + S1441: eslintRules['quotes'], + S1442: eslintRules['no-alert'], + S1444, + S1451, + S1472, + S1479, + S1481, + S1488, + S1515, + S1516: eslintRules['no-multi-str'], + S1523, + S1525: eslintRules['no-debugger'], + S1526, + S1527, + S1528, + S1529, + S1530, + S1533, + S1534, + S1535, + S1536: eslintRules['no-dupe-args'], + S1537: tsEslintRules['comma-dangle'], + S1539: eslintRules['strict'], + S1541, + S1656: eslintRules['no-self-assign'], + S1751, + S1763, + S1764, + S1774: eslintRules['no-ternary'], + S1788, + S1821, + S1848, + S1854, + S1862, + S1871, + S1874, + S1940, + S1994, + S2004, + S2068, + S2077, + S2092, + S2094: tsEslintRules['no-extraneous-class'], + S2123, + S2137, + S2138, + S2187, + S2189, + S2201, + S2208, + S2234, + S2245, + S2251, + S2255, + S2259, + S2310, + S2376, + S2392, + S2424, + S2427: eslintRules['radix'], + S2430, + S2432: eslintRules['no-setter-return'], + S2428, + S2486, + S2589, + S2598, + S2612, + S2639, + S2681, + S2685: eslintRules['no-caller'], + S2688, + S2692, + S2699, + S2703, + S2737, + S2755, + S2757, + S2814, + S2817, + S2819, + S2870, + S2871, + S2933: tsEslintRules['prefer-readonly'], + S2966: tsEslintRules['no-non-null-assertion'], + S2970, + S2990, + S2999, + S3001, + S3003, + S3257: tsEslintRules['no-inferrable-types'], + S3317, + S3330, + S3353: eslintRules['prefer-const'], + S3358, + S3402, + S3403, + S3415, + S3498, + S3499, + S3500, + S3504, + S3512, + S3513, + S3514, + S3516, + S3523: eslintRules['no-new-func'], + S3524, + S3525, + S3531, + S3533, + S3579, + S3616, + S3626, + S3686, + S3696, + S3699, + S3758, + S3723, + S3735, + S3757, + S3760, + S3776, + S3782, + S3785, + S3786: eslintRules['no-template-curly-in-string'], + S3796, + S3798, + S3799: eslintRules['no-empty-pattern'], + S3800, + S3801, + S3812: eslintRules['no-unsafe-negation'], + S3827, + S3834: eslintRules['no-new-native-nonconstructor'], + S3854, + S3863: importPluginRules['no-duplicates'], + S3923, + S3972, + S3973, + S3981, + S3984, + S4023, + S4030, + S4036, + S4043, + S4084, + S4123, + S4124: tsEslintRules['no-misused-new'], + S4125: eslintRules['valid-typeof'], + S4136: tsEslintRules['adjacent-overload-signatures'], + S4137: tsEslintRules['consistent-type-assertions'], + S4138, + S4139, + S4140: eslintRules['no-sparse-arrays'], + S4143, + S4144, + S4156, + S4157: tsEslintRules['no-unnecessary-type-arguments'], + S4158, + S4165, + S4204: tsEslintRules['no-explicit-any'], + S4275, + S4322, + S4323, + S4324, + S4325: tsEslintRules['no-unnecessary-type-assertion'], + S4326: eslintRules['no-return-await'], + S4327, + S4328, + S4335, + S4423, + S4426, + S4502, + S4507, + S4524, + S4619, + S4621, + S4622, + S4623, + S4624, + S4634, + S4721, + S4782, + S4784, + S4787, + S4790, + S4798, + S4817, + S4818, + S4822, + S4823, + S4829, + S4830, + S5042, + S5122, + S5148, + S5247, + S5254, + S5256, + S5257, + S5260, + S5264, + S5332, + S5443, + S5527, + S5542, + S5547, + S5604, + S5659, + S5689, + S5691, + S5693, + S5725, + S5728, + S5730, + S5732, + S5734, + S5736, + S5739, + S5742, + S5743, + S5757, + S5759, + S5842, + S5843, + S5850, + S5852, + S5856, + S5860, + S5863, + S5867, + S5868, + S5869, + S5876, + S5958, + S5973, + S6019, + S6035, + S6079, + S6080, + S6092, + S6245, + S6249, + S6252, + S6265, + S6268, + S6270, + S6275, + S6281, + S6299, + S6302, + S6303, + S6304, + S6308, + S6317, + S6319, + S6321, + S6323, + S6324, + S6325: eslintRules['prefer-regex-literals'], + S6326, + S6327, + S6328, + S6329, + S6330, + S6331, + S6332, + S6333, + S6351, + S6353, + S6397, + S6426, + S6435: reactPluginRules['require-render-return'], + S6438: reactPluginRules['jsx-no-comment-textnodes'], + S6439, + S6440, + S6441, + S6442, + S6443, + S6477, + S6478, + S6479, + S6480: reactPluginRules['jsx-no-bind'], + S6481, + S6486, + S6509: eslintRules['no-extra-boolean-cast'], + S6522: eslintRules['no-import-assign'], + S6523: eslintRules['no-unsafe-optional-chaining'], + S6534: eslintRules['no-loss-of-precision'], + S6535, + S6544, + S6550: tsEslintRules['prefer-literal-enum-member'], + S6551, + S6557, + S6564, + S6565: tsEslintRules['prefer-return-this-type'], + S6568: tsEslintRules['no-confusing-non-null-assertion'], + S6569: tsEslintRules['no-unnecessary-type-constraint'], + S6571, + S6572, + S6578: tsEslintRules['no-duplicate-enum-values'], + S6582, + S6583: tsEslintRules['no-mixed-enums'], + S6590: tsEslintRules['prefer-as-const'], + S6594, + S6598, + S6606, + S6635: eslintRules['no-constructor-return'], + S6637: eslintRules['no-extra-bind'], + S6638: eslintRules['no-constant-binary-expression'], + S6643, + S6644: eslintRules['no-unneeded-ternary'], + S6645: eslintRules['no-undef-init'], + S6647, + S6650: eslintRules['no-useless-rename'], + S6653: eslintRules['prefer-object-has-own'], + S6654: eslintRules['no-proto'], + S6657: eslintRules['no-octal-escape'], + S6660, + S6661, + S6666, + S6671: tsEslintRules['prefer-promise-reject-errors'], + S6676, + S6679, + S6746: reactPluginRules['no-direct-mutation-state'], + S6747, + S6748: reactPluginRules['no-children-prop'], + S6749, + S6750: reactPluginRules['no-render-return-value'], + S6754, + S6756: reactPluginRules['no-access-state-in-setstate'], + S6757: reactPluginRules['no-this-in-sfc'], + S6759, + S6761: reactPluginRules['no-danger-with-children'], + S6763: reactPluginRules['no-redundant-should-component-update'], + S6766: reactPluginRules['no-unescaped-entities'], + S6767: reactPluginRules['no-unused-prop-types'], + S6770: reactPluginRules['jsx-pascal-case'], + S6772: reactPluginRules['jsx-child-element-spacing'], + S6774: reactPluginRules['prop-types'], + S6775: reactPluginRules['default-props-match-prop-types'], + S6788, + S6789: reactPluginRules['no-is-mounted'], + S6790: reactPluginRules['no-string-refs'], + S6791, + S6793: a11yPluginRules['aria-proptypes'], + S6807: a11yPluginRules['role-has-required-aria-props'], + S6811: a11yPluginRules['role-supports-aria-props'], + S6819: a11yPluginRules['prefer-tag-over-role'], + S6821: a11yPluginRules['aria-role'], + S6822: a11yPluginRules['no-redundant-roles'], + S6823: a11yPluginRules['aria-activedescendant-has-tabindex'], + S6824: a11yPluginRules['aria-unsupported-elements'], + S6825: a11yPluginRules['no-aria-hidden-on-focusable'], + S6827, + S6836: eslintRules['no-case-declarations'], + S6840: a11yPluginRules['autocomplete-valid'], + S6841: a11yPluginRules['tabindex-no-positive'], + S6842: a11yPluginRules['no-noninteractive-element-to-interactive-role'], + S6843: a11yPluginRules['no-interactive-element-to-noninteractive-role'], + S6844, + S6845: a11yPluginRules['no-noninteractive-tabindex'], + S6846: a11yPluginRules['no-access-key'], + S6847: a11yPluginRules['no-noninteractive-element-interactions'], + S6848: a11yPluginRules['no-static-element-interactions'], + S6850: a11yPluginRules['heading-has-content'], + S6851: a11yPluginRules['img-redundant-alt'], + S6852: a11yPluginRules['interactive-supports-focus'], + S6853, + S6859: importPluginRules['no-absolute-path'], + S6861: importPluginRules['no-mutable-exports'], + S6957, + S6958, + S6959, + S878: eslintRules['no-sequences'], + S881, + S888, + S905, + S909: eslintRules['no-continue'], + S930, +}; + +export const pluginRules: Record = {}; /** - * Maps ESLint rule keys declared in the JavaScript checks to rule implementations + * Maps ESLint rule keys to rule implementations in order to preserve the contract of the ESLint plugin */ -const rules: { [key: string]: Rule.RuleModule } = {}; +pluginRules['accessor-pairs'] = S2376; +pluginRules['alt-text'] = S1077; +pluginRules['anchor-has-content'] = S6827; +pluginRules['anchor-is-valid'] = S6844; +pluginRules['anchor-precedence'] = S5850; +pluginRules['argument-type'] = S3782; +pluginRules['arguments-order'] = S2234; +pluginRules['arguments-usage'] = S3513; +pluginRules['array-callback-without-return'] = S3796; +pluginRules['array-constructor'] = S1528; +pluginRules['arrow-function-convention'] = S3524; +pluginRules['assertions-in-tests'] = S2699; +pluginRules['aws-apigateway-public-api'] = S6333; +pluginRules['aws-ec2-rds-dms-public'] = S6329; +pluginRules['aws-ec2-unencrypted-ebs-volume'] = S6275; +pluginRules['aws-efs-unencrypted'] = S6332; +pluginRules['aws-iam-all-privileges'] = S6302; +pluginRules['aws-iam-all-resources-accessible'] = S6304; +pluginRules['aws-iam-privilege-escalation'] = S6317; +pluginRules['aws-iam-public-access'] = S6270; +pluginRules['aws-opensearchservice-domain'] = S6308; +pluginRules['aws-rds-unencrypted-databases'] = S6303; +pluginRules['aws-restricted-ip-admin-access'] = S6321; +pluginRules['aws-s3-bucket-granted-access'] = S6265; +pluginRules['aws-s3-bucket-insecure-http'] = S6249; +pluginRules['aws-s3-bucket-public-access'] = S6281; +pluginRules['aws-s3-bucket-server-encryption'] = S6245; +pluginRules['aws-s3-bucket-versioning'] = S6252; +pluginRules['aws-sagemaker-unencrypted-notebook'] = S6319; +pluginRules['aws-sns-unencrypted-topics'] = S6327; +pluginRules['aws-sqs-unencrypted-queue'] = S6330; +pluginRules['bitwise-operators'] = S1529; +pluginRules['bool-param-default'] = S4798; +pluginRules['brace-style'] = S1105; +pluginRules['call-argument-line'] = S1472; +pluginRules['certificate-transparency'] = S5742; +pluginRules['chai-determinate-assertion'] = S6092; +pluginRules['class-name'] = S101; +pluginRules['class-prototype'] = S3525; +pluginRules['code-eval'] = S1523; +pluginRules['cognitive-complexity'] = S3776; +pluginRules['comma-or-logical-or-case'] = S3616; +pluginRules['comment-regex'] = S124; +pluginRules['concise-regex'] = S6353; +pluginRules['conditional-indentation'] = S3973; +pluginRules['confidential-information-logging'] = S5757; +pluginRules['constructor-for-side-effects'] = S1848; +pluginRules['content-length'] = S5693; +pluginRules['content-security-policy'] = S5728; +pluginRules['cookie-no-httponly'] = S3330; +pluginRules['cookies'] = S2255; +pluginRules['cors'] = S5122; +pluginRules['csrf'] = S4502; +pluginRules['cyclomatic-complexity'] = S1541; +pluginRules['declarations-in-global-scope'] = S3798; +pluginRules['default-param-last'] = S1788; +pluginRules['deprecation'] = S1874; +pluginRules['destructuring-assignment-syntax'] = S3514; +pluginRules['different-types-comparison'] = S3403; +pluginRules['disabled-auto-escaping'] = S5247; +pluginRules['disabled-resource-integrity'] = S5725; +pluginRules['disabled-timeout'] = S6080; +pluginRules['dns-prefetching'] = S5743; +pluginRules['duplicates-in-character-class'] = S5869; +pluginRules['elseif-without-else'] = S126; +pluginRules['empty-string-repetition'] = S5842; +pluginRules['encryption'] = S4787; +pluginRules['encryption-secure-mode'] = S5542; +pluginRules['enforce-trailing-comma'] = S3723; +pluginRules['existing-groups'] = S6328; +pluginRules['expression-complexity'] = S1067; +pluginRules['file-header'] = S1451; +pluginRules['file-name-differ-from-class'] = S3317; +pluginRules['file-permissions'] = S2612; +pluginRules['file-uploads'] = S2598; +pluginRules['fixme-tag'] = S1134; +pluginRules['for-in'] = S1535; +pluginRules['for-loop-increment-sign'] = S2251; +pluginRules['frame-ancestors'] = S5732; +pluginRules['function-inside-loop'] = S1515; +pluginRules['function-name'] = S100; +pluginRules['function-return-type'] = S3800; +pluginRules['future-reserved-words'] = S1527; +pluginRules['generator-without-yield'] = S3531; +pluginRules['hashing'] = S4790; +pluginRules['hidden-files'] = S5691; +pluginRules['hook-use-state'] = S6754; +pluginRules['html-has-lang'] = S5254; +pluginRules['in-operator-type-error'] = S3785; +pluginRules['inconsistent-function-call'] = S3686; +pluginRules['index-of-compare-to-positive-number'] = S2692; +pluginRules['insecure-cookie'] = S2092; +pluginRules['insecure-jwt-token'] = S5659; +pluginRules['inverted-assertion-arguments'] = S3415; +pluginRules['jsx-key'] = S6477; +pluginRules['jsx-no-constructed-context-values'] = S6481; +pluginRules['jsx-no-useless-fragment'] = S6749; +pluginRules['label-has-associated-control'] = S6853; +pluginRules['label-position'] = S1439; +pluginRules['link-with-target-blank'] = S5148; +pluginRules['max-switch-cases'] = S1479; +pluginRules['max-union-size'] = S4622; +pluginRules['media-has-caption'] = S4084; +pluginRules['misplaced-loop-counter'] = S1994; +pluginRules['mouse-events-a11y'] = S1082; +pluginRules['nested-control-flow'] = S134; +pluginRules['new-cap'] = S2430; +pluginRules['new-operator-misuse'] = S2999; +pluginRules['no-accessor-field-mismatch'] = S4275; +pluginRules['no-all-duplicated-branches'] = S3923; +pluginRules['no-alphabetical-sort'] = S2871; +pluginRules['no-angular-bypass-sanitization'] = S6268; +pluginRules['no-array-delete'] = S2870; +pluginRules['no-array-index-key'] = S6479; +pluginRules['no-associative-arrays'] = S3579; +pluginRules['no-base-to-string'] = S6551; +pluginRules['no-built-in-override'] = S2424; +pluginRules['no-case-label-in-switch'] = S1219; +pluginRules['no-clear-text-protocols'] = S5332; +pluginRules['no-code-after-done'] = S6079; +pluginRules['no-collapsible-if'] = S1066; +pluginRules['no-collection-size-mischeck'] = S3981; +pluginRules['no-commented-code'] = S125; +pluginRules['no-dead-store'] = S1854; +pluginRules['no-delete-var'] = S3001; +pluginRules['no-deprecated-react'] = S6957; +pluginRules['no-duplicate-in-composite'] = S4621; +pluginRules['no-duplicate-string'] = S1192; +pluginRules['no-duplicated-branches'] = S1871; +pluginRules['no-element-overwrite'] = S4143; +pluginRules['no-empty-after-reluctant'] = S6019; +pluginRules['no-empty-alternatives'] = S6323; +pluginRules['no-empty-collection'] = S4158; +pluginRules['no-empty-function'] = S1186; +pluginRules['no-empty-group'] = S6331; +pluginRules['no-empty-interface'] = S4023; +pluginRules['no-empty-test-file'] = S2187; +pluginRules['no-equals-in-for-termination'] = S888; +pluginRules['no-exclusive-tests'] = S6426; +pluginRules['no-extend-native'] = S6643; +pluginRules['no-extra-arguments'] = S930; +pluginRules['no-extra-semi'] = S1116; +pluginRules['no-find-dom-node'] = S6788; +pluginRules['no-for-in-iterable'] = S4139; +pluginRules['no-function-declaration-in-block'] = S1530; +pluginRules['no-global-this'] = S2990; +pluginRules['no-globals-shadowing'] = S2137; +pluginRules['no-gratuitous-expressions'] = S2589; +pluginRules['no-hardcoded-credentials'] = S2068; +pluginRules['no-hardcoded-ip'] = S1313; +pluginRules['no-hook-setter-in-body'] = S6442; +pluginRules['no-identical-conditions'] = S1862; +pluginRules['no-identical-expressions'] = S1764; +pluginRules['no-identical-functions'] = S4144; +pluginRules['no-ignored-exceptions'] = S2486; +pluginRules['no-ignored-return'] = S2201; +pluginRules['no-implicit-dependencies'] = S4328; +pluginRules['no-implicit-global'] = S2703; +pluginRules['no-in-misuse'] = S4619; +pluginRules['no-incomplete-assertions'] = S2970; +pluginRules['no-inconsistent-returns'] = S3801; +pluginRules['no-incorrect-string-concat'] = S3402; +pluginRules['no-infinite-loop'] = S2189; +pluginRules['no-intrusive-permissions'] = S5604; +pluginRules['no-invalid-await'] = S4123; +pluginRules['no-invariant-returns'] = S3516; +pluginRules['no-inverted-boolean-check'] = S1940; +pluginRules['no-ip-forward'] = S5759; +pluginRules['no-labels'] = S1119; +pluginRules['no-literal-call'] = S6958; +pluginRules['no-lonely-if'] = S6660; +pluginRules['no-mime-sniff'] = S5734; +pluginRules['no-misleading-array-reverse'] = S4043; +pluginRules['no-misused-promises'] = S6544; +pluginRules['no-mixed-content'] = S5730; +pluginRules['no-nested-assignment'] = S1121; +pluginRules['no-nested-conditional'] = S3358; +pluginRules['no-nested-functions'] = S2004; +pluginRules['no-nested-incdec'] = S881; +pluginRules['no-nested-switch'] = S1821; +pluginRules['no-nested-template-literals'] = S4624; +pluginRules['no-one-iteration-loop'] = S1751; +pluginRules['no-os-command-from-path'] = S4036; +pluginRules['no-parameter-reassignment'] = S1226; +pluginRules['no-primitive-wrappers'] = S1533; +pluginRules['no-redeclare'] = S2814; +pluginRules['no-redundant-assignments'] = S4165; +pluginRules['no-redundant-boolean'] = S1125; +pluginRules['no-redundant-jump'] = S3626; +pluginRules['no-redundant-optional'] = S4782; +pluginRules['no-redundant-parentheses'] = S1110; +pluginRules['no-redundant-type-constituents'] = S6571; +pluginRules['no-reference-error'] = S3827; +pluginRules['no-referrer-policy'] = S5736; +pluginRules['no-require-or-define'] = S3533; +pluginRules['no-return-type-any'] = S4324; +pluginRules['no-same-argument-assert'] = S5863; +pluginRules['no-same-line-conditional'] = S3972; +pluginRules['no-self-compare'] = S6679; +pluginRules['no-small-switch'] = S1301; +pluginRules['no-tab'] = S105; +pluginRules['no-table-as-layout'] = S5257; +pluginRules['no-this-alias'] = S4327; +pluginRules['no-throw-literal'] = S3696; +pluginRules['no-try-promise'] = S4822; +pluginRules['no-undefined-argument'] = S4623; +pluginRules['no-undefined-assignment'] = S2138; +pluginRules['no-unenclosed-multiline-block'] = S2681; +pluginRules['no-uniq-key'] = S6486; +pluginRules['no-unknown-property'] = S6747; +pluginRules['no-unreachable'] = S1763; +pluginRules['no-unsafe'] = S6791; +pluginRules['no-unsafe-unzip'] = S5042; +pluginRules['no-unstable-nested-components'] = S6478; +pluginRules['no-unthrown-error'] = S3984; +pluginRules['no-unused-collection'] = S4030; +pluginRules['no-unused-expressions'] = S905; +pluginRules['no-unused-function-argument'] = S1172; +pluginRules['no-unused-private-class-members'] = S1068; +pluginRules['no-use-of-empty-return-value'] = S3699; +pluginRules['no-useless-call'] = S6676; +pluginRules['no-useless-catch'] = S2737; +pluginRules['no-useless-constructor'] = S6647; +pluginRules['no-useless-increment'] = S2123; +pluginRules['no-useless-intersection'] = S4335; +pluginRules['no-useless-react-setstate'] = S6443; +pluginRules['no-var'] = S3504; +pluginRules['no-variable-usage-before-declaration'] = S1526; +pluginRules['no-vue-bypass-sanitization'] = S6299; +pluginRules['no-weak-cipher'] = S5547; +pluginRules['no-weak-keys'] = S4426; +pluginRules['no-wildcard-import'] = S2208; +pluginRules['non-existent-operator'] = S2757; +pluginRules['non-number-in-arithmetic-expression'] = S3760; +pluginRules['null-dereference'] = S2259; +pluginRules['object-alt-content'] = S5264; +pluginRules['object-shorthand'] = S3498; +pluginRules['operation-returning-nan'] = S3757; +pluginRules['os-command'] = S4721; +pluginRules['post-message'] = S2819; +pluginRules['prefer-default-last'] = S4524; +pluginRules['prefer-enum-initializers'] = S6572; +pluginRules['prefer-for-of'] = S4138; +pluginRules['prefer-function-type'] = S6598; +pluginRules['prefer-immediate-return'] = S1488; +pluginRules['prefer-namespace-keyword'] = S4156; +pluginRules['prefer-nullish-coalescing'] = S6606; +pluginRules['prefer-object-literal'] = S2428; +pluginRules['prefer-object-spread'] = S6661; +pluginRules['prefer-promise-shorthand'] = S4634; +pluginRules['prefer-single-boolean-return'] = S1126; +pluginRules['prefer-spread'] = S6666; +pluginRules['prefer-string-starts-ends-with'] = S6557; +pluginRules['prefer-template'] = S3512; +pluginRules['prefer-type-guard'] = S4322; +pluginRules['prefer-while'] = S1264; +pluginRules['process-argv'] = S4823; +pluginRules['production-debug'] = S4507; +pluginRules['pseudo-random'] = S2245; +pluginRules['public-static-readonly'] = S1444; +pluginRules['publicly-writable-directories'] = S5443; +pluginRules['reduce-initial-value'] = S6959; +pluginRules['redundant-type-aliases'] = S6564; +pluginRules['regex-complexity'] = S5843; +pluginRules['regular-expr'] = S4784; +pluginRules['pluginRules-of-hooks'] = S6440; +pluginRules['semi'] = S1438; +pluginRules['session-regeneration'] = S5876; +pluginRules['shorthand-property-grouping'] = S3499; +pluginRules['single-char-in-character-classes'] = S6397; +pluginRules['single-character-alternation'] = S6035; +pluginRules['slow-regex'] = S5852; +pluginRules['sockets'] = S4818; +pluginRules['sonar-block-scoped-var'] = S2392; +pluginRules['sonar-jsx-no-leaked-render'] = S6439; +pluginRules['sonar-max-lines'] = S104; +pluginRules['sonar-max-lines-per-function'] = S138; +pluginRules['sonar-max-params'] = S107; +pluginRules['sonar-no-control-regex'] = S6324; +pluginRules['sonar-no-dupe-keys'] = S1534; +pluginRules['sonar-no-empty-character-class'] = S2639; +pluginRules['sonar-no-fallthrough'] = S128; +pluginRules['sonar-no-invalid-regexp'] = S5856; +pluginRules['sonar-no-magic-numbers'] = S109; +pluginRules['sonar-no-misleading-character-class'] = S5868; +pluginRules['sonar-no-regex-spaces'] = S6326; +pluginRules['sonar-no-unused-class-component-methods'] = S6441; +pluginRules['sonar-no-unused-vars'] = S1481; +pluginRules['sonar-prefer-optional-chain'] = S6582; +pluginRules['sonar-prefer-read-only-props'] = S6759; +pluginRules['sonar-prefer-regexp-exec'] = S6594; +pluginRules['sql-queries'] = S2077; +pluginRules['stable-tests'] = S5973; +pluginRules['standard-input'] = S4829; +pluginRules['stateful-regex'] = S6351; +pluginRules['strict-transport-security'] = S5739; +pluginRules['strings-comparison'] = S3003; +pluginRules['super-invocation'] = S3854; +pluginRules['switch-without-default'] = S131; +pluginRules['table-header'] = S5256; +pluginRules['table-header-reference'] = S5260; +pluginRules['test-check-exception'] = S5958; +pluginRules['todo-tag'] = S1135; +pluginRules['too-many-break-or-continue-in-loop'] = S135; +pluginRules['unicode-aware-regex'] = S5867; +pluginRules['unnecessary-character-escapes'] = S6535; +pluginRules['unused-import'] = S1128; +pluginRules['unused-named-groups'] = S5860; +pluginRules['unverified-certificate'] = S4830; +pluginRules['unverified-hostname'] = S5527; +pluginRules['updated-const-var'] = S3500; +pluginRules['updated-loop-counter'] = S2310; +pluginRules['use-isnan'] = S2688; +pluginRules['use-type-alias'] = S4323; +pluginRules['useless-string-operation'] = S1154; +pluginRules['values-not-convertible-to-numbers'] = S3758; +pluginRules['variable-name'] = S117; +pluginRules['void-use'] = S3735; +pluginRules['weak-ssl'] = S4423; +pluginRules['web-sql-database'] = S2817; +pluginRules['x-powered-by'] = S5689; +pluginRules['xml-parser-xxe'] = S2755; +pluginRules['xpath'] = S4817; -rules['accessor-pairs'] = S2376; -rules['alt-text'] = S1077; -rules['anchor-has-content'] = S6827; -rules['anchor-is-valid'] = S6844; -rules['anchor-precedence'] = S5850; -rules['argument-type'] = S3782; -rules['arguments-order'] = S2234; -rules['arguments-usage'] = S3513; -rules['array-callback-without-return'] = S3796; -rules['array-constructor'] = S1528; -rules['arrow-function-convention'] = S3524; -rules['assertions-in-tests'] = S2699; -rules['aws-apigateway-public-api'] = S6333; -rules['aws-ec2-rds-dms-public'] = S6329; -rules['aws-ec2-unencrypted-ebs-volume'] = S6275; -rules['aws-efs-unencrypted'] = S6332; -rules['aws-iam-all-privileges'] = S6302; -rules['aws-iam-all-resources-accessible'] = S6304; -rules['aws-iam-privilege-escalation'] = S6317; -rules['aws-iam-public-access'] = S6270; -rules['aws-opensearchservice-domain'] = S6308; -rules['aws-rds-unencrypted-databases'] = S6303; -rules['aws-restricted-ip-admin-access'] = S6321; -rules['aws-s3-bucket-granted-access'] = S6265; -rules['aws-s3-bucket-insecure-http'] = S6249; -rules['aws-s3-bucket-public-access'] = S6281; -rules['aws-s3-bucket-server-encryption'] = S6245; -rules['aws-s3-bucket-versioning'] = S6252; -rules['aws-sagemaker-unencrypted-notebook'] = S6319; -rules['aws-sns-unencrypted-topics'] = S6327; -rules['aws-sqs-unencrypted-queue'] = S6330; -rules['bitwise-operators'] = S1529; -rules['bool-param-default'] = S4798; -rules['brace-style'] = S1105; -rules['call-argument-line'] = S1472; -rules['certificate-transparency'] = S5742; -rules['chai-determinate-assertion'] = S6092; -rules['class-name'] = S101; -rules['class-prototype'] = S3525; -rules['code-eval'] = S1523; -rules['cognitive-complexity'] = S3776; -rules['comma-or-logical-or-case'] = S3616; -rules['comment-regex'] = S124; -rules['concise-regex'] = S6353; -rules['conditional-indentation'] = S3973; -rules['confidential-information-logging'] = S5757; -rules['constructor-for-side-effects'] = S1848; -rules['content-length'] = S5693; -rules['content-security-policy'] = S5728; -rules['cookie-no-httponly'] = S3330; -rules['cookies'] = S2255; -rules['cors'] = S5122; -rules['csrf'] = S4502; -rules['cyclomatic-complexity'] = S1541; -rules['declarations-in-global-scope'] = S3798; -rules['default-param-last'] = S1788; -rules['deprecation'] = S1874; -rules['destructuring-assignment-syntax'] = S3514; -rules['different-types-comparison'] = S3403; -rules['disabled-auto-escaping'] = S5247; -rules['disabled-resource-integrity'] = S5725; -rules['disabled-timeout'] = S6080; -rules['dns-prefetching'] = S5743; -rules['duplicates-in-character-class'] = S5869; -rules['elseif-without-else'] = S126; -rules['empty-string-repetition'] = S5842; -rules['encryption'] = S4787; -rules['encryption-secure-mode'] = S5542; -rules['enforce-trailing-comma'] = S3723; -rules['existing-groups'] = S6328; -rules['expression-complexity'] = S1067; -rules['file-header'] = S1451; -rules['file-name-differ-from-class'] = S3317; -rules['file-permissions'] = S2612; -rules['file-uploads'] = S2598; -rules['fixme-tag'] = S1134; -rules['for-in'] = S1535; -rules['for-loop-increment-sign'] = S2251; -rules['frame-ancestors'] = S5732; -rules['function-inside-loop'] = S1515; -rules['function-name'] = S100; -rules['function-return-type'] = S3800; -rules['future-reserved-words'] = S1527; -rules['generator-without-yield'] = S3531; -rules['hashing'] = S4790; -rules['hidden-files'] = S5691; -rules['hook-use-state'] = S6754; -rules['html-has-lang'] = S5254; -rules['in-operator-type-error'] = S3785; -rules['inconsistent-function-call'] = S3686; -rules['index-of-compare-to-positive-number'] = S2692; -rules['insecure-cookie'] = S2092; -rules['insecure-jwt-token'] = S5659; -rules['inverted-assertion-arguments'] = S3415; -rules['jsx-key'] = S6477; -rules['jsx-no-constructed-context-values'] = S6481; -rules['jsx-no-useless-fragment'] = S6749; -rules['label-has-associated-control'] = S6853; -rules['label-position'] = S1439; -rules['link-with-target-blank'] = S5148; -rules['max-switch-cases'] = S1479; -rules['max-union-size'] = S4622; -rules['media-has-caption'] = S4084; -rules['misplaced-loop-counter'] = S1994; -rules['mouse-events-a11y'] = S1082; -rules['nested-control-flow'] = S134; -rules['new-cap'] = S2430; -rules['new-operator-misuse'] = S2999; -rules['no-accessor-field-mismatch'] = S4275; -rules['no-all-duplicated-branches'] = S3923; -rules['no-alphabetical-sort'] = S2871; -rules['no-angular-bypass-sanitization'] = S6268; -rules['no-array-delete'] = S2870; -rules['no-array-index-key'] = S6479; -rules['no-associative-arrays'] = S3579; -rules['no-base-to-string'] = S6551; -rules['no-built-in-override'] = S2424; -rules['no-case-label-in-switch'] = S1219; -rules['no-clear-text-protocols'] = S5332; -rules['no-code-after-done'] = S6079; -rules['no-collapsible-if'] = S1066; -rules['no-collection-size-mischeck'] = S3981; -rules['no-commented-code'] = S125; -rules['no-dead-store'] = S1854; -rules['no-delete-var'] = S3001; -rules['no-deprecated-react'] = S6957; -rules['no-duplicate-in-composite'] = S4621; -rules['no-duplicate-string'] = S1192; -rules['no-duplicated-branches'] = S1871; -rules['no-element-overwrite'] = S4143; -rules['no-empty-after-reluctant'] = S6019; -rules['no-empty-alternatives'] = S6323; -rules['no-empty-collection'] = S4158; -rules['no-empty-function'] = S1186; -rules['no-empty-group'] = S6331; -rules['no-empty-interface'] = S4023; -rules['no-empty-test-file'] = S2187; -rules['no-equals-in-for-termination'] = S888; -rules['no-exclusive-tests'] = S6426; -rules['no-extend-native'] = S6643; -rules['no-extra-arguments'] = S930; -rules['no-extra-semi'] = S1116; -rules['no-find-dom-node'] = S6788; -rules['no-for-in-iterable'] = S4139; -rules['no-function-declaration-in-block'] = S1530; -rules['no-global-this'] = S2990; -rules['no-globals-shadowing'] = S2137; -rules['no-gratuitous-expressions'] = S2589; -rules['no-hardcoded-credentials'] = S2068; -rules['no-hardcoded-ip'] = S1313; -rules['no-hook-setter-in-body'] = S6442; -rules['no-identical-conditions'] = S1862; -rules['no-identical-expressions'] = S1764; -rules['no-identical-functions'] = S4144; -rules['no-ignored-exceptions'] = S2486; -rules['no-ignored-return'] = S2201; -rules['no-implicit-dependencies'] = S4328; -rules['no-implicit-global'] = S2703; -rules['no-in-misuse'] = S4619; -rules['no-incomplete-assertions'] = S2970; -rules['no-inconsistent-returns'] = S3801; -rules['no-incorrect-string-concat'] = S3402; -rules['no-infinite-loop'] = S2189; -rules['no-intrusive-permissions'] = S5604; -rules['no-invalid-await'] = S4123; -rules['no-invariant-returns'] = S3516; -rules['no-inverted-boolean-check'] = S1940; -rules['no-ip-forward'] = S5759; -rules['no-labels'] = S1119; -rules['no-literal-call'] = S6958; -rules['no-lonely-if'] = S6660; -rules['no-mime-sniff'] = S5734; -rules['no-misleading-array-reverse'] = S4043; -rules['no-misused-promises'] = S6544; -rules['no-mixed-content'] = S5730; -rules['no-nested-assignment'] = S1121; -rules['no-nested-conditional'] = S3358; -rules['no-nested-functions'] = S2004; -rules['no-nested-incdec'] = S881; -rules['no-nested-switch'] = S1821; -rules['no-nested-template-literals'] = S4624; -rules['no-one-iteration-loop'] = S1751; -rules['no-os-command-from-path'] = S4036; -rules['no-parameter-reassignment'] = S1226; -rules['no-primitive-wrappers'] = S1533; -rules['no-redeclare'] = S2814; -rules['no-redundant-assignments'] = S4165; -rules['no-redundant-boolean'] = S1125; -rules['no-redundant-jump'] = S3626; -rules['no-redundant-optional'] = S4782; -rules['no-redundant-parentheses'] = S1110; -rules['no-redundant-type-constituents'] = S6571; -rules['no-reference-error'] = S3827; -rules['no-referrer-policy'] = S5736; -rules['no-require-or-define'] = S3533; -rules['no-return-type-any'] = S4324; -rules['no-same-argument-assert'] = S5863; -rules['no-same-line-conditional'] = S3972; -rules['no-self-compare'] = S6679; -rules['no-small-switch'] = S1301; -rules['no-tab'] = S105; -rules['no-table-as-layout'] = S5257; -rules['no-this-alias'] = S4327; -rules['no-throw-literal'] = S3696; -rules['no-try-promise'] = S4822; -rules['no-undefined-argument'] = S4623; -rules['no-undefined-assignment'] = S2138; -rules['no-unenclosed-multiline-block'] = S2681; -rules['no-uniq-key'] = S6486; -rules['no-unknown-property'] = S6747; -rules['no-unreachable'] = S1763; -rules['no-unsafe'] = S6791; -rules['no-unsafe-unzip'] = S5042; -rules['no-unstable-nested-components'] = S6478; -rules['no-unthrown-error'] = S3984; -rules['no-unused-collection'] = S4030; -rules['no-unused-expressions'] = S905; -rules['no-unused-function-argument'] = S1172; -rules['no-unused-private-class-members'] = S1068; -rules['no-use-of-empty-return-value'] = S3699; -rules['no-useless-call'] = S6676; -rules['no-useless-catch'] = S2737; -rules['no-useless-constructor'] = S6647; -rules['no-useless-increment'] = S2123; -rules['no-useless-intersection'] = S4335; -rules['no-useless-react-setstate'] = S6443; -rules['no-var'] = S3504; -rules['no-variable-usage-before-declaration'] = S1526; -rules['no-vue-bypass-sanitization'] = S6299; -rules['no-weak-cipher'] = S5547; -rules['no-weak-keys'] = S4426; -rules['no-wildcard-import'] = S2208; -rules['non-existent-operator'] = S2757; -rules['non-number-in-arithmetic-expression'] = S3760; -rules['null-dereference'] = S2259; -rules['object-alt-content'] = S5264; -rules['object-shorthand'] = S3498; -rules['operation-returning-nan'] = S3757; -rules['os-command'] = S4721; -rules['post-message'] = S2819; -rules['prefer-default-last'] = S4524; -rules['prefer-enum-initializers'] = S6572; -rules['prefer-for-of'] = S4138; -rules['prefer-function-type'] = S6598; -rules['prefer-immediate-return'] = S1488; -rules['prefer-namespace-keyword'] = S4156; -rules['prefer-nullish-coalescing'] = S6606; -rules['prefer-object-literal'] = S2428; -rules['prefer-object-spread'] = S6661; -rules['prefer-promise-shorthand'] = S4634; -rules['prefer-single-boolean-return'] = S1126; -rules['prefer-spread'] = S6666; -rules['prefer-string-starts-ends-with'] = S6557; -rules['prefer-template'] = S3512; -rules['prefer-type-guard'] = S4322; -rules['prefer-while'] = S1264; -rules['process-argv'] = S4823; -rules['production-debug'] = S4507; -rules['pseudo-random'] = S2245; -rules['public-static-readonly'] = S1444; -rules['publicly-writable-directories'] = S5443; -rules['reduce-initial-value'] = S6959; -rules['redundant-type-aliases'] = S6564; -rules['regex-complexity'] = S5843; -rules['regular-expr'] = S4784; -rules['rules-of-hooks'] = S6440; -rules['semi'] = S1438; -rules['session-regeneration'] = S5876; -rules['shorthand-property-grouping'] = S3499; -rules['single-char-in-character-classes'] = S6397; -rules['single-character-alternation'] = S6035; -rules['slow-regex'] = S5852; -rules['sockets'] = S4818; -rules['sonar-block-scoped-var'] = S2392; -rules['sonar-jsx-no-leaked-render'] = S6439; -rules['sonar-max-lines'] = S104; -rules['sonar-max-lines-per-function'] = S138; -rules['sonar-max-params'] = S107; -rules['sonar-no-control-regex'] = S6324; -rules['sonar-no-dupe-keys'] = S1534; -rules['sonar-no-empty-character-class'] = S2639; -rules['sonar-no-fallthrough'] = S128; -rules['sonar-no-invalid-regexp'] = S5856; -rules['sonar-no-magic-numbers'] = S109; -rules['sonar-no-misleading-character-class'] = S5868; -rules['sonar-no-regex-spaces'] = S6326; -rules['sonar-no-unused-class-component-methods'] = S6441; -rules['sonar-no-unused-vars'] = S1481; -rules['sonar-prefer-optional-chain'] = S6582; -rules['sonar-prefer-read-only-props'] = S6759; -rules['sonar-prefer-regexp-exec'] = S6594; -rules['sql-queries'] = S2077; -rules['stable-tests'] = S5973; -rules['standard-input'] = S4829; -rules['stateful-regex'] = S6351; -rules['strict-transport-security'] = S5739; -rules['strings-comparison'] = S3003; -rules['super-invocation'] = S3854; -rules['switch-without-default'] = S131; -rules['table-header'] = S5256; -rules['table-header-reference'] = S5260; -rules['test-check-exception'] = S5958; -rules['todo-tag'] = S1135; -rules['too-many-break-or-continue-in-loop'] = S135; -rules['unicode-aware-regex'] = S5867; -rules['unnecessary-character-escapes'] = S6535; -rules['unused-import'] = S1128; -rules['unused-named-groups'] = S5860; -rules['unverified-certificate'] = S4830; -rules['unverified-hostname'] = S5527; -rules['updated-const-var'] = S3500; -rules['updated-loop-counter'] = S2310; -rules['use-isnan'] = S2688; -rules['use-type-alias'] = S4323; -rules['useless-string-operation'] = S1154; -rules['values-not-convertible-to-numbers'] = S3758; -rules['variable-name'] = S117; -rules['void-use'] = S3735; -rules['weak-ssl'] = S4423; -rules['web-sql-database'] = S2817; -rules['x-powered-by'] = S5689; -rules['xml-parser-xxe'] = S2755; -rules['xpath'] = S4817; +const rules: Record = { + ...bridgeRules, + ...pluginRules, +}; const recommendedLegacyConfig: TSESLint.Linter.ConfigType = { plugins: ['sonarjs'], rules: {} }; const recommendedConfig: FlatConfig.Config = { @@ -694,7 +1142,7 @@ const recommendedConfig: FlatConfig.Config = { }, }; -for (const [key, rule] of Object.entries(rules)) { +for (const [key, rule] of Object.entries(pluginRules)) { const recommended = !!rule.meta!.docs?.recommended; recommendedConfig.rules![`sonarjs/${key}`] = recommended ? 'error' : 'off'; diff --git a/packages/jsts/tests/linter/wrapper.test.ts b/packages/jsts/tests/linter/wrapper.test.ts index d629842e949..e3f93380ee2 100644 --- a/packages/jsts/tests/linter/wrapper.test.ts +++ b/packages/jsts/tests/linter/wrapper.test.ts @@ -333,6 +333,11 @@ describe('LinterWrapper', () => { test.each(Array.from(quickFixRules))( `should provide quick fixes from enabled fixable rule '%s'`, async ruleId => { + // we ignore SXXX rules: they are aliases of ESLint keys, for which we have proper fixtures + if (/^S\d+$/.test(ruleId)) { + return; + } + const fixtures = path.join(__dirname, 'fixtures', 'wrapper', 'quickfixes'); const files = await fs.promises.readdir(fixtures); @@ -351,10 +356,6 @@ describe('LinterWrapper', () => { } } - if (!fixture) { - throw new Error(`Failed to find fixture file for rule '${ruleId}' in '${fixtures}'.`); - } - const tsConfig = path.join(fixtures, 'tsconfig.json'); const filePath = path.join(fixtures, fixture); const parser = language === 'js' ? parseJavaScriptSourceFile : parseTypeScriptSourceFile; diff --git a/packages/jsts/tests/rules/index.test.ts b/packages/jsts/tests/rules/index.test.ts index 30003ba71f6..f8f0d8acb6b 100644 --- a/packages/jsts/tests/rules/index.test.ts +++ b/packages/jsts/tests/rules/index.test.ts @@ -52,7 +52,6 @@ describe('index', () => { } } expect(missing).toHaveLength(0); - expect(Object.keys(rules)).toHaveLength(mappedRules.size); }); it('should export legacy config', () => { diff --git a/packages/ruling/tests/tools/parseRulesData.ts b/packages/ruling/tests/tools/parseRulesData.ts index de0348900d9..32a859b4175 100644 --- a/packages/ruling/tests/tools/parseRulesData.ts +++ b/packages/ruling/tests/tools/parseRulesData.ts @@ -95,17 +95,20 @@ function isInvalidRule(ruleKey: string, eslintKey?: string) { */ function applyRulingConfig(rule: RuleData) { switch (rule.key) { - case 'no-ignored-exceptions': { + case 'no-ignored-exceptions': + case 'S2486': { // for some reason the scope is different rule.fileTypeTarget = ['TEST']; break; } - case 'no-exclusive-tests': { + case 'no-exclusive-tests': + case 'S6426': { // for some reason the scope is different rule.fileTypeTarget = ['TEST']; break; } - case 'file-header': { + case 'file-header': + case 'S1451': { if (rule.language === 'js') { rule.configurations[0].headerFormat = '// Copyright 20\\d\\d The Closure Library Authors. All Rights Reserved.'; @@ -116,12 +119,14 @@ function applyRulingConfig(rule: RuleData) { } break; } - case 'comment-regex': { + case 'comment-regex': + case 'S124': { rule.configurations[0].regularExpression = '.*TODO.*'; rule.configurations[0].flags = 'i'; break; } - case 'no-duplicate-string': { + case 'no-duplicate-string': + case 'S1192': { if (rule.language === 'js') { rule.configurations[0]!.threshold = 4; } diff --git a/packages/ruling/tests/tools/testProject.ts b/packages/ruling/tests/tools/testProject.ts index 282a0c72573..66a45b76bf9 100644 --- a/packages/ruling/tests/tools/testProject.ts +++ b/packages/ruling/tests/tools/testProject.ts @@ -115,7 +115,7 @@ function initializeRules(rules: RuleConfig[], customRules?: CustomRule[]) { loadCustomRules(htmlLinter.linter, customRules); } initializeLinter(rules, DEFAULT_ENVIRONMENTS, DEFAULT_GLOBALS); - const htmlRules = rules.filter(rule => rule.key !== 'no-var'); + const htmlRules = rules.filter(rule => rule.key !== 'S3504'); initializeLinter(htmlRules, DEFAULT_ENVIRONMENTS, DEFAULT_GLOBALS, HTML_LINTER_ID); } function getProjectName(testFilePath: string) { diff --git a/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/Check.java b/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/Check.java new file mode 100644 index 00000000000..956c3e6dca9 --- /dev/null +++ b/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/Check.java @@ -0,0 +1,13 @@ +package org.sonar.plugins.javascript.api; + +import org.sonar.check.Rule; + +public class Check implements EslintBasedCheck { + /** + * This should be named `key()`, but we keep the compatibility with the legacy semantic. + */ + @Override + public String eslintKey() { + return this.getClass().getAnnotation(Rule.class).key(); + } +} diff --git a/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/TestFileCheck.java b/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/TestFileCheck.java index 50b01a0176f..389fd6b967c 100644 --- a/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/TestFileCheck.java +++ b/sonar-plugin/api/src/main/java/org/sonar/plugins/javascript/api/TestFileCheck.java @@ -22,8 +22,9 @@ import java.util.Collections; import java.util.List; import org.sonar.api.batch.fs.InputFile; +import org.sonar.check.Rule; -public abstract class TestFileCheck implements EslintBasedCheck { +public abstract class TestFileCheck extends Check { @Override public List targets() { diff --git a/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/CustomRuleRepositoryTest.java b/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/CustomRuleRepositoryTest.java index 7d06d633774..36d9bbd9524 100644 --- a/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/CustomRuleRepositoryTest.java +++ b/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/CustomRuleRepositoryTest.java @@ -24,6 +24,7 @@ import java.util.Collections; import java.util.List; import org.junit.jupiter.api.Test; +import org.sonar.check.Rule; class CustomRuleRepositoryTest { @@ -42,15 +43,11 @@ public String repositoryKey() { @Override public List> checkClasses() { - return Collections.singletonList(Check.class); + return Collections.singletonList(CustomCheck.class); } } - static class Check implements EslintBasedCheck { - - @Override - public String eslintKey() { - return "rulekey"; - } + @Rule(key="key") + static class CustomCheck extends Check { } } diff --git a/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/EslintBasedCheckTest.java b/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/EslintBasedCheckTest.java index 20406a06b48..af12c7814ae 100644 --- a/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/EslintBasedCheckTest.java +++ b/sonar-plugin/api/src/test/java/org/sonar/plugins/javascript/api/EslintBasedCheckTest.java @@ -23,12 +23,17 @@ import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputFile; +import org.sonar.check.Rule; class EslintBasedCheckTest { + @Rule(key="key") + static class CustomCheck extends Check { + } + @Test void test() { - EslintBasedCheck check = () -> "key"; + var check = new CustomCheck(); assertThat(check.eslintKey()).isEqualTo("key"); assertThat(check.configurations()).isEmpty(); diff --git a/sonar-plugin/bridge/src/main/java/org/sonar/plugins/javascript/bridge/AnalysisMode.java b/sonar-plugin/bridge/src/main/java/org/sonar/plugins/javascript/bridge/AnalysisMode.java index 270a4423838..9218fa86572 100644 --- a/sonar-plugin/bridge/src/main/java/org/sonar/plugins/javascript/bridge/AnalysisMode.java +++ b/sonar-plugin/bridge/src/main/java/org/sonar/plugins/javascript/bridge/AnalysisMode.java @@ -74,7 +74,7 @@ public static List getUnchangedFileRules(List rules) { */ public static List getHtmlFileRules(List rules) { var blackListRuleKeys = new HashSet(); - blackListRuleKeys.add("no-var"); + blackListRuleKeys.add("S3504"); blackListRuleKeys.add("ucfg"); return EslintRule.findAllBut(rules, blackListRuleKeys); } diff --git a/sonar-plugin/bridge/src/test/java/org/sonar/plugins/javascript/bridge/AnalysisModeTest.java b/sonar-plugin/bridge/src/test/java/org/sonar/plugins/javascript/bridge/AnalysisModeTest.java index 5dc9a60da20..70f62346aac 100644 --- a/sonar-plugin/bridge/src/test/java/org/sonar/plugins/javascript/bridge/AnalysisModeTest.java +++ b/sonar-plugin/bridge/src/test/java/org/sonar/plugins/javascript/bridge/AnalysisModeTest.java @@ -120,7 +120,7 @@ void should_reflect_pr_analysis() { @Test void should_filter_out_rules_for_html() { - var rules = rules("key1", "key2", "ucfg", "no-var"); + var rules = rules("key1", "key2", "ucfg", "S3504"); var filteredRules = AnalysisMode.getHtmlFileRules(rules); assertThat(filteredRules) .hasSize(2) diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AdjacentOverloadSignaturesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AdjacentOverloadSignaturesCheck.java index 5485195e532..38193cbd6fb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AdjacentOverloadSignaturesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AdjacentOverloadSignaturesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4136") -public class AdjacentOverloadSignaturesCheck implements EslintBasedCheck { +public class AdjacentOverloadSignaturesCheck extends Check { + - @Override - public String eslintKey() { - return "adjacent-overload-signatures"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlertUseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlertUseCheck.java index 1be03499d7b..33a25229864 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlertUseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlertUseCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S1442") -public class AlertUseCheck implements EslintBasedCheck { +public class AlertUseCheck extends Check { + - @Override - public String eslintKey() { - return "no-alert"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlphabeticalSortCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlphabeticalSortCheck.java index 01e2236f47e..0676ff45364 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlphabeticalSortCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlphabeticalSortCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2871") -public class AlphabeticalSortCheck implements EslintBasedCheck { +public class AlphabeticalSortCheck extends Check { + - @Override - public String eslintKey() { - return "no-alphabetical-sort"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AltTextCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AltTextCheck.java index fc67cb643c2..13a6ff7a9cc 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AltTextCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AltTextCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1077") -public class AltTextCheck implements EslintBasedCheck { +public class AltTextCheck extends Check { + - @Override - public String eslintKey() { - return "alt-text"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlwaysUseCurlyBracesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlwaysUseCurlyBracesCheck.java index 6b77e2b0a3d..d71025f1657 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlwaysUseCurlyBracesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AlwaysUseCurlyBracesCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "CurlyBraces") @Rule(key = "S121") -public class AlwaysUseCurlyBracesCheck implements EslintBasedCheck { +public class AlwaysUseCurlyBracesCheck extends Check { + - @Override - public String eslintKey() { - return "curly"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorHasContentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorHasContentCheck.java index 4998c118c4e..981b5c69af6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorHasContentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorHasContentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6827") -public class AnchorHasContentCheck implements EslintBasedCheck { +public class AnchorHasContentCheck extends Check { - @Override - public String eslintKey() { - return "anchor-has-content"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorIsValidCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorIsValidCheck.java index bcd4e466885..9dc12b057a1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorIsValidCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorIsValidCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6844") -public class AnchorIsValidCheck implements EslintBasedCheck { +public class AnchorIsValidCheck extends Check { + - @Override - public String eslintKey() { - return "anchor-is-valid"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorPrecedenceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorPrecedenceCheck.java index e47a2ae4a64..8d463cfa559 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorPrecedenceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AnchorPrecedenceCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5850") -public class AnchorPrecedenceCheck implements EslintBasedCheck { +public class AnchorPrecedenceCheck extends Check { + - @Override - public String eslintKey() { - return "anchor-precedence"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AngleBracketTypeAssertionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AngleBracketTypeAssertionCheck.java index caf85f8903e..8d7627e9709 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AngleBracketTypeAssertionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AngleBracketTypeAssertionCheck.java @@ -22,22 +22,19 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4137") -public class AngleBracketTypeAssertionCheck implements EslintBasedCheck { +public class AngleBracketTypeAssertionCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "consistent-type-assertions"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentTypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentTypesCheck.java index a70a9915cee..459dfd45862 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentTypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentTypesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3782") -public class ArgumentTypesCheck implements EslintBasedCheck { +public class ArgumentTypesCheck extends Check { + - @Override - public String eslintKey() { - return "argument-type"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsCallerCalleeUsageCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsCallerCalleeUsageCheck.java index 7c4a100f590..34122c419a8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsCallerCalleeUsageCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsCallerCalleeUsageCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2685") -public class ArgumentsCallerCalleeUsageCheck implements EslintBasedCheck { +public class ArgumentsCallerCalleeUsageCheck extends Check { + - @Override - public String eslintKey() { - return "no-caller"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsUsageCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsUsageCheck.java index 703b0227552..6e186ae195e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsUsageCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArgumentsUsageCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3513") -public class ArgumentsUsageCheck implements EslintBasedCheck { +public class ArgumentsUsageCheck extends Check { + - @Override - public String eslintKey() { - return "arguments-usage"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaActivedescendantHasTabindexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaActivedescendantHasTabindexCheck.java index 3ef7707bb73..852f87dbe4e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaActivedescendantHasTabindexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaActivedescendantHasTabindexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6823") -public class AriaActivedescendantHasTabindexCheck implements EslintBasedCheck { +public class AriaActivedescendantHasTabindexCheck extends Check { - @Override - public String eslintKey() { - return "aria-activedescendant-has-tabindex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaProptypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaProptypesCheck.java index 5d8a7e37b5d..bdbee0e1d49 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaProptypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaProptypesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6793") -public class AriaProptypesCheck implements EslintBasedCheck { +public class AriaProptypesCheck extends Check { - @Override - public String eslintKey() { - return "aria-proptypes"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaRoleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaRoleCheck.java index 1e854c7d129..dc05c18887f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaRoleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaRoleCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6821") -public class AriaRoleCheck implements EslintBasedCheck { +public class AriaRoleCheck extends Check { + - @Override - public String eslintKey() { - return "aria-role"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaUnsupportedElementsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaUnsupportedElementsCheck.java index 85f652223bd..41c90c00105 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaUnsupportedElementsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AriaUnsupportedElementsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6824") -public class AriaUnsupportedElementsCheck implements EslintBasedCheck { +public class AriaUnsupportedElementsCheck extends Check { + - @Override - public String eslintKey() { - return "aria-unsupported-elements"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArithmeticOperationReturningNanCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArithmeticOperationReturningNanCheck.java index a7d7ea5abc5..82f7ec5fe67 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArithmeticOperationReturningNanCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArithmeticOperationReturningNanCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3757") -public class ArithmeticOperationReturningNanCheck implements EslintBasedCheck { +public class ArithmeticOperationReturningNanCheck extends Check { + - @Override - public String eslintKey() { - return "operation-returning-nan"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayCallbackWithoutReturnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayCallbackWithoutReturnCheck.java index dfb86907977..1a5a1a52766 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayCallbackWithoutReturnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayCallbackWithoutReturnCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3796") -public class ArrayCallbackWithoutReturnCheck implements EslintBasedCheck { +public class ArrayCallbackWithoutReturnCheck extends Check { + - @Override - public String eslintKey() { - return "array-callback-without-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayConstructorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayConstructorsCheck.java index d308f705d84..96cd6f53dc1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayConstructorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrayConstructorsCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1528") @DeprecatedRuleKey(ruleKey = "ArrayAndObjectConstructors") -public class ArrayConstructorsCheck implements EslintBasedCheck { +public class ArrayConstructorsCheck extends Check { + - @Override - public String eslintKey() { - return "array-constructor"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrowFunctionConventionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrowFunctionConventionCheck.java index 3a8a8553712..2de127c3a7d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrowFunctionConventionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ArrowFunctionConventionCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3524") -public class ArrowFunctionConventionCheck implements EslintBasedCheck { +public class ArrowFunctionConventionCheck extends Check { private static final boolean DEFAULT_PARAMETER_PARENS = false; private static final boolean DEFAULT_BODY_BRACES = false; @@ -49,10 +49,7 @@ public class ArrowFunctionConventionCheck implements EslintBasedCheck { ) boolean bodyBraces = DEFAULT_BODY_BRACES; - @Override - public String eslintKey() { - return "arrow-function-convention"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssertionsInTestsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssertionsInTestsCheck.java index 219afc5c2f8..d2a240896f3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssertionsInTestsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssertionsInTestsCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S2699") public class AssertionsInTestsCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "assertions-in-tests"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssociativeArraysCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssociativeArraysCheck.java index 21c6c81efb3..1a8484aeaf9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssociativeArraysCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AssociativeArraysCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3579") -public class AssociativeArraysCheck implements EslintBasedCheck { +public class AssociativeArraysCheck extends Check { + - @Override - public String eslintKey() { - return "no-associative-arrays"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AutocompleteValidCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AutocompleteValidCheck.java index 554ccdaff95..0f69c1a8e76 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AutocompleteValidCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AutocompleteValidCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6840") -public class AutocompleteValidCheck implements EslintBasedCheck { +public class AutocompleteValidCheck extends Check { + - @Override - public String eslintKey() { - return "autocomplete-valid"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsApigatewayPublicApiCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsApigatewayPublicApiCheck.java index cbddbd59776..59e9a910112 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsApigatewayPublicApiCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsApigatewayPublicApiCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6333") -public class AwsApigatewayPublicApiCheck implements EslintBasedCheck { +public class AwsApigatewayPublicApiCheck extends Check { + - @Override - public String eslintKey() { - return "aws-apigateway-public-api"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2RdsDmsPublicCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2RdsDmsPublicCheck.java index f48326baf0a..612652f7c89 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2RdsDmsPublicCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2RdsDmsPublicCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6329") -public class AwsEc2RdsDmsPublicCheck implements EslintBasedCheck { +public class AwsEc2RdsDmsPublicCheck extends Check { + - @Override - public String eslintKey() { - return "aws-ec2-rds-dms-public"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2UnencryptedEbsVolumeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2UnencryptedEbsVolumeCheck.java index af8fd124afe..7d36e4ee3b8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2UnencryptedEbsVolumeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEc2UnencryptedEbsVolumeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6275") -public class AwsEc2UnencryptedEbsVolumeCheck implements EslintBasedCheck { +public class AwsEc2UnencryptedEbsVolumeCheck extends Check { + - @Override - public String eslintKey() { - return "aws-ec2-unencrypted-ebs-volume"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEfsUnencryptedCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEfsUnencryptedCheck.java index 0846bd305ac..333e6b27b4d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEfsUnencryptedCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsEfsUnencryptedCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6332") -public class AwsEfsUnencryptedCheck implements EslintBasedCheck { +public class AwsEfsUnencryptedCheck extends Check { + - @Override - public String eslintKey() { - return "aws-efs-unencrypted"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllPrivilegesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllPrivilegesCheck.java index 64fe222d2a4..1dec20b32e6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllPrivilegesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllPrivilegesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6302") -public class AwsIamAllPrivilegesCheck implements EslintBasedCheck { +public class AwsIamAllPrivilegesCheck extends Check { + - @Override - public String eslintKey() { - return "aws-iam-all-privileges"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllResourcesAccessibleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllResourcesAccessibleCheck.java index dcf150ede2e..108c0965fc2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllResourcesAccessibleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamAllResourcesAccessibleCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6304") -public class AwsIamAllResourcesAccessibleCheck implements EslintBasedCheck { +public class AwsIamAllResourcesAccessibleCheck extends Check { - @Override - public String eslintKey() { - return "aws-iam-all-resources-accessible"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPrivilegeEscalationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPrivilegeEscalationCheck.java index efa580a71a8..38edb9871e7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPrivilegeEscalationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPrivilegeEscalationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6317") -public class AwsIamPrivilegeEscalationCheck implements EslintBasedCheck { +public class AwsIamPrivilegeEscalationCheck extends Check { + - @Override - public String eslintKey() { - return "aws-iam-privilege-escalation"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPublicAccessCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPublicAccessCheck.java index 55b039a953c..f53f4e3df9a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPublicAccessCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsIamPublicAccessCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6270") -public class AwsIamPublicAccessCheck implements EslintBasedCheck { +public class AwsIamPublicAccessCheck extends Check { + - @Override - public String eslintKey() { - return "aws-iam-public-access"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsOpenSearchServiceDomainCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsOpenSearchServiceDomainCheck.java index e193216f6df..1e73985d633 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsOpenSearchServiceDomainCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsOpenSearchServiceDomainCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6308") -public class AwsOpenSearchServiceDomainCheck implements EslintBasedCheck { +public class AwsOpenSearchServiceDomainCheck extends Check { + - @Override - public String eslintKey() { - return "aws-opensearchservice-domain"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRdsUnencryptedDatabasesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRdsUnencryptedDatabasesCheck.java index fa7a835c70a..506df2c2b17 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRdsUnencryptedDatabasesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRdsUnencryptedDatabasesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6303") -public class AwsRdsUnencryptedDatabasesCheck implements EslintBasedCheck { +public class AwsRdsUnencryptedDatabasesCheck extends Check { - @Override - public String eslintKey() { - return "aws-rds-unencrypted-databases"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRestrictedIpAdminAccessCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRestrictedIpAdminAccessCheck.java index ed4748a5bee..29c465c41e2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRestrictedIpAdminAccessCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsRestrictedIpAdminAccessCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6321") -public class AwsRestrictedIpAdminAccessCheck implements EslintBasedCheck { +public class AwsRestrictedIpAdminAccessCheck extends Check { - @Override - public String eslintKey() { - return "aws-restricted-ip-admin-access"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketGrantedAccessCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketGrantedAccessCheck.java index 6f486e0f565..746c224ee82 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketGrantedAccessCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketGrantedAccessCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6265") -public class AwsS3BucketGrantedAccessCheck implements EslintBasedCheck { +public class AwsS3BucketGrantedAccessCheck extends Check { + - @Override - public String eslintKey() { - return "aws-s3-bucket-granted-access"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketInsecureHttpCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketInsecureHttpCheck.java index 1e754f4c47d..e01b94f9e72 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketInsecureHttpCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketInsecureHttpCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6249") -public class AwsS3BucketInsecureHttpCheck implements EslintBasedCheck { +public class AwsS3BucketInsecureHttpCheck extends Check { + - @Override - public String eslintKey() { - return "aws-s3-bucket-insecure-http"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketPublicAccessCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketPublicAccessCheck.java index cc149ad3568..fd0ad0b4f60 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketPublicAccessCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketPublicAccessCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6281") -public class AwsS3BucketPublicAccessCheck implements EslintBasedCheck { +public class AwsS3BucketPublicAccessCheck extends Check { + - @Override - public String eslintKey() { - return "aws-s3-bucket-public-access"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketServerEncryptionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketServerEncryptionCheck.java index d2686794cd4..9ee78a3ed8b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketServerEncryptionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketServerEncryptionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6245") -public class AwsS3BucketServerEncryptionCheck implements EslintBasedCheck { +public class AwsS3BucketServerEncryptionCheck extends Check { - @Override - public String eslintKey() { - return "aws-s3-bucket-server-encryption"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketVersioningCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketVersioningCheck.java index 36f10ec6a75..e5faefbc83c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketVersioningCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsS3BucketVersioningCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6252") -public class AwsS3BucketVersioningCheck implements EslintBasedCheck { +public class AwsS3BucketVersioningCheck extends Check { + - @Override - public String eslintKey() { - return "aws-s3-bucket-versioning"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSagemakerUnencryptedNotebookCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSagemakerUnencryptedNotebookCheck.java index 2fc5553e82b..294458e39aa 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSagemakerUnencryptedNotebookCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSagemakerUnencryptedNotebookCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6319") -public class AwsSagemakerUnencryptedNotebookCheck implements EslintBasedCheck { +public class AwsSagemakerUnencryptedNotebookCheck extends Check { + - @Override - public String eslintKey() { - return "aws-sagemaker-unencrypted-notebook"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSnsUnencryptedTopicsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSnsUnencryptedTopicsCheck.java index 8cdeb2b1c2e..888f63e9ab2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSnsUnencryptedTopicsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSnsUnencryptedTopicsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6327") -public class AwsSnsUnencryptedTopicsCheck implements EslintBasedCheck { +public class AwsSnsUnencryptedTopicsCheck extends Check { + - @Override - public String eslintKey() { - return "aws-sns-unencrypted-topics"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSqsUnencryptedQueueCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSqsUnencryptedQueueCheck.java index 6a977b3e335..2306659004e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSqsUnencryptedQueueCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/AwsSqsUnencryptedQueueCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6330") -public class AwsSqsUnencryptedQueueCheck implements EslintBasedCheck { +public class AwsSqsUnencryptedQueueCheck extends Check { + - @Override - public String eslintKey() { - return "aws-sqs-unencrypted-queue"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BitwiseOperatorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BitwiseOperatorsCheck.java index 467f460f609..7d33320f800 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BitwiseOperatorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BitwiseOperatorsCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "BitwiseOperators") @Rule(key = "S1529") -public class BitwiseOperatorsCheck implements EslintBasedCheck { +public class BitwiseOperatorsCheck extends Check { - @Override - public String eslintKey() { - return "bitwise-operators"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BoolParamDefaultCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BoolParamDefaultCheck.java index 539ffa48025..6fb97ccf2de 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BoolParamDefaultCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BoolParamDefaultCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4798") -public class BoolParamDefaultCheck implements EslintBasedCheck { +public class BoolParamDefaultCheck extends Check { - @Override - public String eslintKey() { - return "bool-param-default"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BooleanEqualityComparisonCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BooleanEqualityComparisonCheck.java index cfb6b373987..8be6179302a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BooleanEqualityComparisonCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BooleanEqualityComparisonCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1125") -public class BooleanEqualityComparisonCheck implements EslintBasedCheck { +public class BooleanEqualityComparisonCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-boolean"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BuiltInObjectOverriddenCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BuiltInObjectOverriddenCheck.java index e7773318ef7..a50d52dccdf 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BuiltInObjectOverriddenCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/BuiltInObjectOverriddenCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2424") -public class BuiltInObjectOverriddenCheck implements EslintBasedCheck { +public class BuiltInObjectOverriddenCheck extends Check { + - @Override - public String eslintKey() { - return "no-built-in-override"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CertificateTransparencyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CertificateTransparencyCheck.java index 9bf581e0f06..6e18a06beea 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CertificateTransparencyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CertificateTransparencyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5742") -public class CertificateTransparencyCheck implements EslintBasedCheck { +public class CertificateTransparencyCheck extends Check { + - @Override - public String eslintKey() { - return "certificate-transparency"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ChaiDeterminateAssertionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ChaiDeterminateAssertionCheck.java index 71e3e61bdd2..0437aad4fa3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ChaiDeterminateAssertionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ChaiDeterminateAssertionCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S6092") public class ChaiDeterminateAssertionCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "chai-determinate-assertion"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassNameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassNameCheck.java index 5b8441a64a7..683717d9a79 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassNameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassNameCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S101") -public class ClassNameCheck implements EslintBasedCheck { +public class ClassNameCheck extends Check { private static final String DEFAULT_FORMAT = "^[A-Z][a-zA-Z0-9]*$"; @@ -46,8 +46,5 @@ public List configurations() { return Collections.singletonList(new FormatRuleProperty(format)); } - @Override - public String eslintKey() { - return "class-name"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassPrototypeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassPrototypeCheck.java index e85da025b1a..96dd3af3bd6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassPrototypeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ClassPrototypeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3525") -public class ClassPrototypeCheck implements EslintBasedCheck { +public class ClassPrototypeCheck extends Check { - @Override - public String eslintKey() { - return "class-prototype"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CognitiveComplexityFunctionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CognitiveComplexityFunctionCheck.java index 21f279f21d5..294f1ca1590 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CognitiveComplexityFunctionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CognitiveComplexityFunctionCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3776") -public class CognitiveComplexityFunctionCheck implements EslintBasedCheck { +public class CognitiveComplexityFunctionCheck extends Check { private static final int DEFAULT_THRESHOLD = 15; @@ -41,10 +41,7 @@ public class CognitiveComplexityFunctionCheck implements EslintBasedCheck { ) int threshold = DEFAULT_THRESHOLD; - @Override - public String eslintKey() { - return "cognitive-complexity"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollapsibleIfStatementsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollapsibleIfStatementsCheck.java index eecb0d10371..97a6b3327c0 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollapsibleIfStatementsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollapsibleIfStatementsCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "CollapsibleIfStatements") @Rule(key = "S1066") -public class CollapsibleIfStatementsCheck implements EslintBasedCheck { +public class CollapsibleIfStatementsCheck extends Check { - @Override - public String eslintKey() { - return "no-collapsible-if"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollectionSizeComparisonCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollectionSizeComparisonCheck.java index b1969cebf2b..799cbcc1694 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollectionSizeComparisonCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CollectionSizeComparisonCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3981") -public class CollectionSizeComparisonCheck implements EslintBasedCheck { +public class CollectionSizeComparisonCheck extends Check { + - @Override - public String eslintKey() { - return "no-collection-size-mischeck"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorInSwitchCaseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorInSwitchCaseCheck.java index 3262ab19f20..97ce82fa0a8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorInSwitchCaseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorInSwitchCaseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3616") -public class CommaOperatorInSwitchCaseCheck implements EslintBasedCheck { +public class CommaOperatorInSwitchCaseCheck extends Check { + - @Override - public String eslintKey() { - return "comma-or-logical-or-case"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorUseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorUseCheck.java index 4df61fab5bd..27be44c3010 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorUseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommaOperatorUseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S878") -public class CommaOperatorUseCheck implements EslintBasedCheck { +public class CommaOperatorUseCheck extends Check { + - @Override - public String eslintKey() { - return "no-sequences"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentRegularExpressionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentRegularExpressionCheck.java index 6684614174c..f703831eb41 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentRegularExpressionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentRegularExpressionCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,7 +32,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "CommentRegularExpression") @Rule(key = "S124") -public class CommentRegularExpressionCheck implements EslintBasedCheck { +public class CommentRegularExpressionCheck extends Check { private static final String DEFAULT_MESSAGE = "The regular expression matches this comment."; private static final String DEFAULT_REGULAR_EXPRESSION = ""; @@ -55,10 +55,7 @@ public class CommentRegularExpressionCheck implements EslintBasedCheck { ) public String flags = DEFAULT_FLAGS; - @Override - public String eslintKey() { - return "comment-regex"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentedCodeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentedCodeCheck.java index 9acdb91f59d..43a820a9b07 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentedCodeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CommentedCodeCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "CommentedCode") @Rule(key = "S125") -public class CommentedCodeCheck implements EslintBasedCheck { +public class CommentedCodeCheck extends Check { + - @Override - public String eslintKey() { - return "no-commented-code"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ComparisonWithNaNCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ComparisonWithNaNCheck.java index f569f6b8923..d2f31211de6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ComparisonWithNaNCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ComparisonWithNaNCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2688") -public class ComparisonWithNaNCheck implements EslintBasedCheck { +public class ComparisonWithNaNCheck extends Check { + - @Override - public String eslintKey() { - return "use-isnan"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConciseRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConciseRegexCheck.java index c169e13c7b2..435dd8e8e11 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConciseRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConciseRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6353") -public class ConciseRegexCheck implements EslintBasedCheck { +public class ConciseRegexCheck extends Check { - @Override - public String eslintKey() { - return "concise-regex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalIndentationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalIndentationCheck.java index 352c4b357a8..0739380daeb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalIndentationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalIndentationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3973") -public class ConditionalIndentationCheck implements EslintBasedCheck { +public class ConditionalIndentationCheck extends Check { + - @Override - public String eslintKey() { - return "conditional-indentation"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalOperatorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalOperatorCheck.java index bb6d666880d..d0f6830c33e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalOperatorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConditionalOperatorCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1774") @DeprecatedRuleKey(ruleKey = "ConditionalOperator") -public class ConditionalOperatorCheck implements EslintBasedCheck { +public class ConditionalOperatorCheck extends Check { - @Override - public String eslintKey() { - return "no-ternary"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConfidentialInformationLoggingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConfidentialInformationLoggingCheck.java index f4edb970a43..93203487b44 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConfidentialInformationLoggingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConfidentialInformationLoggingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5757") -public class ConfidentialInformationLoggingCheck implements EslintBasedCheck { +public class ConfidentialInformationLoggingCheck extends Check { + - @Override - public String eslintKey() { - return "confidential-information-logging"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsistentReturnsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsistentReturnsCheck.java index 79010dfa1a1..c9919c9964b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsistentReturnsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsistentReturnsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3801") -public class ConsistentReturnsCheck implements EslintBasedCheck { +public class ConsistentReturnsCheck extends Check { + - @Override - public String eslintKey() { - return "no-inconsistent-returns"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsoleLoggingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsoleLoggingCheck.java index 32dc2ae8428..c8959d7058a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsoleLoggingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConsoleLoggingCheck.java @@ -23,7 +23,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -33,12 +33,9 @@ // deprecated key in TS @DeprecatedRuleKey(ruleKey = "S2228") @Rule(key = "S106") -public class ConsoleLoggingCheck implements EslintBasedCheck { +public class ConsoleLoggingCheck extends Check { - @Override - public String eslintKey() { - return "no-console"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConstructorFunctionsForSideEffectsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConstructorFunctionsForSideEffectsCheck.java index 874e429ef46..51bcaf933c9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConstructorFunctionsForSideEffectsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ConstructorFunctionsForSideEffectsCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "ConstructorFunctionsForSideEffects") @Rule(key = "S1848") -public class ConstructorFunctionsForSideEffectsCheck implements EslintBasedCheck { +public class ConstructorFunctionsForSideEffectsCheck extends Check { + - @Override - public String eslintKey() { - return "constructor-for-side-effects"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentLengthCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentLengthCheck.java index f810fa66dc9..01ae6d44ec5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentLengthCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentLengthCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5693") -public class ContentLengthCheck implements EslintBasedCheck { +public class ContentLengthCheck extends Check { private static final int DEFAULT_FILE_UPLOAD_SIZE_LIMIT = 8_000_000; @@ -57,10 +57,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "content-length"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentSecurityPolicyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentSecurityPolicyCheck.java index 42ebc7a67ca..206bfc1379f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentSecurityPolicyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContentSecurityPolicyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5728") -public class ContentSecurityPolicyCheck implements EslintBasedCheck { +public class ContentSecurityPolicyCheck extends Check { + - @Override - public String eslintKey() { - return "content-security-policy"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContinueStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContinueStatementCheck.java index 382ef40f9af..3d618f065b8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContinueStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ContinueStatementCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S909") @DeprecatedRuleKey(ruleKey = "ContinueStatement") -public class ContinueStatementCheck implements EslintBasedCheck { +public class ContinueStatementCheck extends Check { + - @Override - public String eslintKey() { - return "no-continue"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookieNoHttpOnlyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookieNoHttpOnlyCheck.java index 79a5eb2d0b8..1208fb82704 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookieNoHttpOnlyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookieNoHttpOnlyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3330") -public class CookieNoHttpOnlyCheck implements EslintBasedCheck { +public class CookieNoHttpOnlyCheck extends Check { + - @Override - public String eslintKey() { - return "cookie-no-httponly"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookiesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookiesCheck.java index 8f3c8b85d65..7f641704a93 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookiesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CookiesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2255") -public class CookiesCheck implements EslintBasedCheck { +public class CookiesCheck extends Check { + - @Override - public String eslintKey() { - return "cookies"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CorsCheck.java index 68c20d707fb..e4ce08b9b28 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CorsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5122") -public class CorsCheck implements EslintBasedCheck { +public class CorsCheck extends Check { + - @Override - public String eslintKey() { - return "cors"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CounterUpdatedInLoopCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CounterUpdatedInLoopCheck.java index 88ad4e2c3a9..04bc42e0f63 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CounterUpdatedInLoopCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CounterUpdatedInLoopCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2310") -public class CounterUpdatedInLoopCheck implements EslintBasedCheck { +public class CounterUpdatedInLoopCheck extends Check { + - @Override - public String eslintKey() { - return "updated-loop-counter"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CsrfCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CsrfCheck.java index 9994e7b9b8c..24198167a20 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CsrfCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CsrfCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4502") -public class CsrfCheck implements EslintBasedCheck { +public class CsrfCheck extends Check { - @Override - public String eslintKey() { - return "csrf"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityJavaScriptCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityJavaScriptCheck.java index 47343d3e45e..f74afe99f23 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityJavaScriptCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityJavaScriptCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -33,7 +33,7 @@ @JavaScriptRule @DeprecatedRuleKey(ruleKey = "FunctionComplexity") @Rule(key = "S1541") -public class CyclomaticComplexityJavaScriptCheck implements EslintBasedCheck { +public class CyclomaticComplexityJavaScriptCheck extends Check { private static final int DEFAULT_THRESHOLD = 10; @@ -51,10 +51,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "cyclomatic-complexity"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityTypeScriptCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityTypeScriptCheck.java index 872f481ba15..1ccd1d3b1c1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityTypeScriptCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/CyclomaticComplexityTypeScriptCheck.java @@ -23,12 +23,12 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S1541") -public class CyclomaticComplexityTypeScriptCheck implements EslintBasedCheck { +public class CyclomaticComplexityTypeScriptCheck extends Check { private static final int DEFAULT_THRESHOLD = 10; @@ -45,10 +45,7 @@ public List configurations() { new Config(threshold) ); } - @Override - public String eslintKey() { - return "cyclomatic-complexity"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeadStoreCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeadStoreCheck.java index 74139c7aef9..7d92e4f32d9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeadStoreCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeadStoreCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1854") -public class DeadStoreCheck implements EslintBasedCheck { +public class DeadStoreCheck extends Check { - @Override - public String eslintKey() { - return "no-dead-store"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DebuggerStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DebuggerStatementCheck.java index 91d8deef73d..761677541cf 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DebuggerStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DebuggerStatementCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "DebuggerStatement") @Rule(key = "S1525") -public class DebuggerStatementCheck implements EslintBasedCheck { +public class DebuggerStatementCheck extends Check { + - @Override - public String eslintKey() { - return "no-debugger"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeclarationInGlobalScopeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeclarationInGlobalScopeCheck.java index 380e3c8c485..5ad5c85c511 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeclarationInGlobalScopeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeclarationInGlobalScopeCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3798") -public class DeclarationInGlobalScopeCheck implements EslintBasedCheck { +public class DeclarationInGlobalScopeCheck extends Check { + - @Override - public String eslintKey() { - return "declarations-in-global-scope"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultParametersNotLastCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultParametersNotLastCheck.java index 544f505d5fe..6777414d25c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultParametersNotLastCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultParametersNotLastCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1788") -public class DefaultParametersNotLastCheck implements EslintBasedCheck { +public class DefaultParametersNotLastCheck extends Check { + - @Override - public String eslintKey() { - return "default-param-last"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultPropsMatchPropTypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultPropsMatchPropTypesCheck.java index fd5be24a31b..c910c34e06e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultPropsMatchPropTypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DefaultPropsMatchPropTypesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6775") -public class DefaultPropsMatchPropTypesCheck implements EslintBasedCheck { +public class DefaultPropsMatchPropTypesCheck extends Check { - @Override - public String eslintKey() { - return "default-props-match-prop-types"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeleteNonPropertyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeleteNonPropertyCheck.java index 9fa625a8752..d202148cd06 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeleteNonPropertyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeleteNonPropertyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3001") -public class DeleteNonPropertyCheck implements EslintBasedCheck { +public class DeleteNonPropertyCheck extends Check { - @Override - public String eslintKey() { - return "no-delete-var"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeprecationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeprecationCheck.java index 1f56cd3b25e..05eb8f51350 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeprecationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DeprecationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1874") -public class DeprecationCheck implements EslintBasedCheck { +public class DeprecationCheck extends Check { + - @Override - public String eslintKey() { - return "deprecation"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DestructuringAssignmentSyntaxCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DestructuringAssignmentSyntaxCheck.java index e6019eef05d..b2f226eefde 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DestructuringAssignmentSyntaxCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DestructuringAssignmentSyntaxCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3514") -public class DestructuringAssignmentSyntaxCheck implements EslintBasedCheck { +public class DestructuringAssignmentSyntaxCheck extends Check { + - @Override - public String eslintKey() { - return "destructuring-assignment-syntax"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DifferentTypesComparisonCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DifferentTypesComparisonCheck.java index ffcd10e10b9..c9e24efcb92 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DifferentTypesComparisonCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DifferentTypesComparisonCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3403") -public class DifferentTypesComparisonCheck implements EslintBasedCheck { +public class DifferentTypesComparisonCheck extends Check { - @Override - public String eslintKey() { - return "different-types-comparison"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledAutoEscapingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledAutoEscapingCheck.java index 2a22ebd6745..69c343864bf 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledAutoEscapingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledAutoEscapingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5247") -public class DisabledAutoEscapingCheck implements EslintBasedCheck { +public class DisabledAutoEscapingCheck extends Check { + - @Override - public String eslintKey() { - return "disabled-auto-escaping"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledResourceIntegrityCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledResourceIntegrityCheck.java index b88f7c73376..5ec0532006f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledResourceIntegrityCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledResourceIntegrityCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5725") -public class DisabledResourceIntegrityCheck implements EslintBasedCheck { +public class DisabledResourceIntegrityCheck extends Check { + - @Override - public String eslintKey() { - return "disabled-resource-integrity"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledTimeoutCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledTimeoutCheck.java index 18123f915a7..da27bde1582 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledTimeoutCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DisabledTimeoutCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S6080") public class DisabledTimeoutCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "disabled-timeout"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DnsPrefetchingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DnsPrefetchingCheck.java index 28b65fb0122..98550c2df16 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DnsPrefetchingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DnsPrefetchingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5743") -public class DnsPrefetchingCheck implements EslintBasedCheck { +public class DnsPrefetchingCheck extends Check { + - @Override - public String eslintKey() { - return "dns-prefetching"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateAllBranchImplementationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateAllBranchImplementationCheck.java index 0cf38a477a7..e10048ae5e8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateAllBranchImplementationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateAllBranchImplementationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3923") -public class DuplicateAllBranchImplementationCheck implements EslintBasedCheck { +public class DuplicateAllBranchImplementationCheck extends Check { + - @Override - public String eslintKey() { - return "no-all-duplicated-branches"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateBranchImplementationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateBranchImplementationCheck.java index 0e2f75fd9d4..2112ab4fb16 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateBranchImplementationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateBranchImplementationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1871") -public class DuplicateBranchImplementationCheck implements EslintBasedCheck { +public class DuplicateBranchImplementationCheck extends Check { + - @Override - public String eslintKey() { - return "no-duplicated-branches"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateConditionIfCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateConditionIfCheck.java index 2034ea12604..64ebf2616c7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateConditionIfCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateConditionIfCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1862") -public class DuplicateConditionIfCheck implements EslintBasedCheck { +public class DuplicateConditionIfCheck extends Check { - @Override - public String eslintKey() { - return "no-identical-conditions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateFunctionArgumentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateFunctionArgumentCheck.java index 29fa1bae43b..eb45237634e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateFunctionArgumentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicateFunctionArgumentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @JavaScriptRule @Rule(key = "S1536") @DeprecatedRuleKey(ruleKey = "DuplicateFunctionArgument") -public class DuplicateFunctionArgumentCheck implements EslintBasedCheck { +public class DuplicateFunctionArgumentCheck extends Check { - @Override - public String eslintKey() { - return "no-dupe-args"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatePropertyNameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatePropertyNameCheck.java index b708a70f9d0..d3c23ff88c9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatePropertyNameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatePropertyNameCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1534") @DeprecatedRuleKey(ruleKey = "DuplicatePropertyName") -public class DuplicatePropertyNameCheck implements EslintBasedCheck { +public class DuplicatePropertyNameCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-no-dupe-keys"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatesInCharacterClassCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatesInCharacterClassCheck.java index 3467fe86726..2a9c6098710 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatesInCharacterClassCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/DuplicatesInCharacterClassCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S5869") -public class DuplicatesInCharacterClassCheck implements EslintBasedCheck { +public class DuplicatesInCharacterClassCheck extends Check { - @Override - public String eslintKey() { - return "duplicates-in-character-class"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ElseIfWithoutElseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ElseIfWithoutElseCheck.java index da9592011a8..81335a96f97 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ElseIfWithoutElseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ElseIfWithoutElseCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "ElseIfWithoutElse") @Rule(key = "S126") -public class ElseIfWithoutElseCheck implements EslintBasedCheck { +public class ElseIfWithoutElseCheck extends Check { - @Override - public String eslintKey() { - return "elseif-without-else"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyBlockCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyBlockCheck.java index cf5ee1b75dd..8d1f933369d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyBlockCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyBlockCheck.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -31,17 +31,14 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "EmptyBlock") @Rule(key = "S108") -public class EmptyBlockCheck implements EslintBasedCheck { +public class EmptyBlockCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "no-empty"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyCharacterClassesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyCharacterClassesCheck.java index 6d7e9c0212e..2e722803bad 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyCharacterClassesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyCharacterClassesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2639") -public class EmptyCharacterClassesCheck implements EslintBasedCheck { +public class EmptyCharacterClassesCheck extends Check { - @Override - public String eslintKey() { - return "sonar-no-empty-character-class"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyDestructuringPatternCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyDestructuringPatternCheck.java index e0303bf99fd..ccb4bbc4d44 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyDestructuringPatternCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyDestructuringPatternCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3799") -public class EmptyDestructuringPatternCheck implements EslintBasedCheck { +public class EmptyDestructuringPatternCheck extends Check { + - @Override - public String eslintKey() { - return "no-empty-pattern"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyFunctionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyFunctionCheck.java index d6862f14b4b..0cd2084c274 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyFunctionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyFunctionCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1186") -public class EmptyFunctionCheck implements EslintBasedCheck { +public class EmptyFunctionCheck extends Check { + - @Override - public String eslintKey() { - return "no-empty-function"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStatementCheck.java index 9f93afbef05..3ef07814d5c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStatementCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1116") -public class EmptyStatementCheck implements EslintBasedCheck { +public class EmptyStatementCheck extends Check { + - @Override - public String eslintKey() { - return "no-extra-semi"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStringRepetitionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStringRepetitionCheck.java index 241926605d4..06e4cb643c8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStringRepetitionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EmptyStringRepetitionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5842") -public class EmptyStringRepetitionCheck implements EslintBasedCheck { +public class EmptyStringRepetitionCheck extends Check { + - @Override - public String eslintKey() { - return "empty-string-repetition"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionCheck.java index 7e15c5cb24e..c33a246bdad 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4787") -public class EncryptionCheck implements EslintBasedCheck { +public class EncryptionCheck extends Check { + - @Override - public String eslintKey() { - return "encryption"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionSecureModeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionSecureModeCheck.java index 9553ef35fe9..98e36ed1a08 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionSecureModeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EncryptionSecureModeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5542") -public class EncryptionSecureModeCheck implements EslintBasedCheck { +public class EncryptionSecureModeCheck extends Check { + - @Override - public String eslintKey() { - return "encryption-secure-mode"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqEqEqCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqEqEqCheck.java index 6ac71f18b7b..565b2f62322 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqEqEqCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqEqEqCheck.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -31,15 +31,12 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "EqEqEq") @Rule(key = "S1440") -public class EqEqEqCheck implements EslintBasedCheck { +public class EqEqEqCheck extends Check { @Override public List configurations() { return Collections.singletonList("smart"); } - @Override - public String eslintKey() { - return "eqeqeq"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqualInForLoopTerminationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqualInForLoopTerminationCheck.java index dfdf7e25d58..7d4b454632f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqualInForLoopTerminationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EqualInForLoopTerminationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S888") -public class EqualInForLoopTerminationCheck implements EslintBasedCheck { +public class EqualInForLoopTerminationCheck extends Check { + - @Override - public String eslintKey() { - return "no-equals-in-for-termination"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ErrorWithoutThrowCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ErrorWithoutThrowCheck.java index 1b7d07c5a03..9d4c96fff71 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ErrorWithoutThrowCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ErrorWithoutThrowCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3984") -public class ErrorWithoutThrowCheck implements EslintBasedCheck { +public class ErrorWithoutThrowCheck extends Check { + - @Override - public String eslintKey() { - return "no-unthrown-error"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EvalCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EvalCheck.java index b1bcf3f9094..d592971912f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EvalCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/EvalCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @JavaScriptRule @Rule(key = "S1523") @DeprecatedRuleKey(ruleKey = "Eval") -public class EvalCheck implements EslintBasedCheck { +public class EvalCheck extends Check { + - @Override - public String eslintKey() { - return "code-eval"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExistingGroupsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExistingGroupsCheck.java index cded22ec309..c4ab0ef8375 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExistingGroupsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExistingGroupsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6328") -public class ExistingGroupsCheck implements EslintBasedCheck { +public class ExistingGroupsCheck extends Check { - @Override - public String eslintKey() { - return "existing-groups"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExpressionComplexityCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExpressionComplexityCheck.java index 1520cd761cb..6333c03bc14 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExpressionComplexityCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ExpressionComplexityCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1067") -public class ExpressionComplexityCheck implements EslintBasedCheck { +public class ExpressionComplexityCheck extends Check { private static final int DEFAULT = 3; @@ -47,10 +47,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "expression-complexity"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileHeaderCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileHeaderCheck.java index d3c9f0bc002..0d464c707b9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileHeaderCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileHeaderCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1451") -public class FileHeaderCheck implements EslintBasedCheck { +public class FileHeaderCheck extends Check { private static final String DEFAULT_HEADER_FORMAT = ""; @@ -54,10 +54,7 @@ public List configurations() { return Collections.singletonList(new Config(headerFormat, isRegularExpression)); } - @Override - public String eslintKey() { - return "file-header"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileNameDiffersFromClassCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileNameDiffersFromClassCheck.java index 30d600f65fa..764fa9154a7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileNameDiffersFromClassCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileNameDiffersFromClassCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3317") -public class FileNameDiffersFromClassCheck implements EslintBasedCheck { +public class FileNameDiffersFromClassCheck extends Check { - @Override - public String eslintKey() { - return "file-name-differ-from-class"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FilePermissionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FilePermissionsCheck.java index 12bcdd5ee9a..62af9be43d8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FilePermissionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FilePermissionsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2612") -public class FilePermissionsCheck implements EslintBasedCheck { +public class FilePermissionsCheck extends Check { + - @Override - public String eslintKey() { - return "file-permissions"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileUploadsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileUploadsCheck.java index 4a2590e7086..ca4a2e742f2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileUploadsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FileUploadsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2598") -public class FileUploadsCheck implements EslintBasedCheck { +public class FileUploadsCheck extends Check { + - @Override - public String eslintKey() { - return "file-uploads"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FixmeTagPresenceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FixmeTagPresenceCheck.java index 62871a1e470..229cf430bfb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FixmeTagPresenceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FixmeTagPresenceCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1134") -public class FixmeTagPresenceCheck implements EslintBasedCheck { +public class FixmeTagPresenceCheck extends Check { + - @Override - public String eslintKey() { - return "fixme-tag"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForHidingWhileCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForHidingWhileCheck.java index e1e6e6ddc85..3bba40c8795 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForHidingWhileCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForHidingWhileCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1264") -public class ForHidingWhileCheck implements EslintBasedCheck { +public class ForHidingWhileCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-while"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForInCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForInCheck.java index 10acfb29db4..ed558c77db5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForInCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForInCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1535") @DeprecatedRuleKey(ruleKey = "ForIn") -public class ForInCheck implements EslintBasedCheck { +public class ForInCheck extends Check { + - @Override - public String eslintKey() { - return "for-in"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopConditionAndUpdateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopConditionAndUpdateCheck.java index 3bb5e5edf1e..e9140c5c5af 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopConditionAndUpdateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopConditionAndUpdateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1994") -public class ForLoopConditionAndUpdateCheck implements EslintBasedCheck { +public class ForLoopConditionAndUpdateCheck extends Check { + - @Override - public String eslintKey() { - return "misplaced-loop-counter"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopIncrementSignCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopIncrementSignCheck.java index 7effaea07d8..8d617ca71ce 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopIncrementSignCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ForLoopIncrementSignCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2251") -public class ForLoopIncrementSignCheck implements EslintBasedCheck { +public class ForLoopIncrementSignCheck extends Check { - @Override - public String eslintKey() { - return "for-loop-increment-sign"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FrameAncestorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FrameAncestorsCheck.java index 5823016ffe6..1c8507c97ce 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FrameAncestorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FrameAncestorsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5732") -public class FrameAncestorsCheck implements EslintBasedCheck { +public class FrameAncestorsCheck extends Check { + - @Override - public String eslintKey() { - return "frame-ancestors"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionCallArgumentsOnNewLineCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionCallArgumentsOnNewLineCheck.java index 0122374ddf5..8b451f4c34f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionCallArgumentsOnNewLineCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionCallArgumentsOnNewLineCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1472") -public class FunctionCallArgumentsOnNewLineCheck implements EslintBasedCheck { +public class FunctionCallArgumentsOnNewLineCheck extends Check { + - @Override - public String eslintKey() { - return "call-argument-line"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionConstructorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionConstructorCheck.java index 8b6768e61d8..37a4e04051f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionConstructorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionConstructorCheck.java @@ -20,15 +20,11 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3523") -public class FunctionConstructorCheck implements EslintBasedCheck { +public class FunctionConstructorCheck extends Check { - @Override - public String eslintKey() { - return "no-new-func"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDeclarationsWithinBlocksCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDeclarationsWithinBlocksCheck.java index c23d098c41c..00a71c114d2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDeclarationsWithinBlocksCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDeclarationsWithinBlocksCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "FunctionDeclarationsWithinBlocks") @Rule(key = "S1530") -public class FunctionDeclarationsWithinBlocksCheck implements EslintBasedCheck { +public class FunctionDeclarationsWithinBlocksCheck extends Check { + - @Override - public String eslintKey() { - return "no-function-declaration-in-block"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDefinitionInsideLoopCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDefinitionInsideLoopCheck.java index 8f6b211f5d7..140e5c4f539 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDefinitionInsideLoopCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionDefinitionInsideLoopCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "FunctionDefinitionInsideLoop") @Rule(key = "S1515") -public class FunctionDefinitionInsideLoopCheck implements EslintBasedCheck { +public class FunctionDefinitionInsideLoopCheck extends Check { + - @Override - public String eslintKey() { - return "function-inside-loop"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionNameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionNameCheck.java index a07ca5a5147..68a31965995 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionNameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionNameCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S100") -public class FunctionNameCheck implements EslintBasedCheck { +public class FunctionNameCheck extends Check { public static final String DEFAULT = "^[_a-z][a-zA-Z0-9]*$"; @@ -46,8 +46,5 @@ public List configurations() { return Collections.singletonList(new FormatRuleProperty(format)); } - @Override - public String eslintKey() { - return "function-name"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionReturnTypeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionReturnTypeCheck.java index 8f4c0d55c0e..95a494206f8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionReturnTypeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FunctionReturnTypeCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3800") -public class FunctionReturnTypeCheck implements EslintBasedCheck { +public class FunctionReturnTypeCheck extends Check { + - @Override - public String eslintKey() { - return "function-return-type"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FutureReservedWordsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FutureReservedWordsCheck.java index e20ce2932ea..3ef9a1b339b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FutureReservedWordsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/FutureReservedWordsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @JavaScriptRule @Rule(key = "S1527") @DeprecatedRuleKey(ruleKey = "FutureReservedWords") -public class FutureReservedWordsCheck implements EslintBasedCheck { +public class FutureReservedWordsCheck extends Check { + - @Override - public String eslintKey() { - return "future-reserved-words"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GeneratorWithoutYieldCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GeneratorWithoutYieldCheck.java index ad6d938ca7d..3ecbe874edb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GeneratorWithoutYieldCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GeneratorWithoutYieldCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3531") -public class GeneratorWithoutYieldCheck implements EslintBasedCheck { +public class GeneratorWithoutYieldCheck extends Check { + - @Override - public String eslintKey() { - return "generator-without-yield"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GetterSetterCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GetterSetterCheck.java index ef43318b57b..1066fd01b83 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GetterSetterCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GetterSetterCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2376") -public class GetterSetterCheck implements EslintBasedCheck { +public class GetterSetterCheck extends Check { private static final boolean DEFAULT_GET_WITHOUT_SET = false; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "accessor-pairs"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalThisCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalThisCheck.java index b0d8e1384b6..cf5ca3ae4c7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalThisCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalThisCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2990") -public class GlobalThisCheck implements EslintBasedCheck { +public class GlobalThisCheck extends Check { + - @Override - public String eslintKey() { - return "no-global-this"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalsShadowingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalsShadowingCheck.java index e4ef71b1bf4..21bbad86a90 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalsShadowingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GlobalsShadowingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2137") -public class GlobalsShadowingCheck implements EslintBasedCheck { +public class GlobalsShadowingCheck extends Check { + - @Override - public String eslintKey() { - return "no-globals-shadowing"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GratuitousConditionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GratuitousConditionCheck.java index 384362b0d6c..f199d243a3b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GratuitousConditionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/GratuitousConditionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S2589") -public class GratuitousConditionCheck implements EslintBasedCheck { +public class GratuitousConditionCheck extends Check { - @Override - public String eslintKey() { - return "no-gratuitous-expressions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HardcodedCredentialsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HardcodedCredentialsCheck.java index 1efb223222b..d067f8c0681 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HardcodedCredentialsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HardcodedCredentialsCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2068") -public class HardcodedCredentialsCheck implements EslintBasedCheck { +public class HardcodedCredentialsCheck extends Check { private static final String DEFAULT = "password, pwd, passwd"; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "no-hardcoded-credentials"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HashingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HashingCheck.java index 9a769fa163a..ca1047ee396 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HashingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HashingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4790") -public class HashingCheck implements EslintBasedCheck { +public class HashingCheck extends Check { - @Override - public String eslintKey() { - return "hashing"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HeadingHasContentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HeadingHasContentCheck.java index 8af52d41a5d..e5bf4b3980b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HeadingHasContentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HeadingHasContentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6850") -public class HeadingHasContentCheck implements EslintBasedCheck { +public class HeadingHasContentCheck extends Check { + - @Override - public String eslintKey() { - return "heading-has-content"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HiddenFilesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HiddenFilesCheck.java index a12bff490b9..dd0cf446c5d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HiddenFilesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HiddenFilesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5691") -public class HiddenFilesCheck implements EslintBasedCheck { +public class HiddenFilesCheck extends Check { + - @Override - public String eslintKey() { - return "hidden-files"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HookUseStateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HookUseStateCheck.java index 41f2b3e8e1e..4b92e83c4b6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HookUseStateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HookUseStateCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6754") -public class HookUseStateCheck implements EslintBasedCheck { +public class HookUseStateCheck extends Check { + - @Override - public String eslintKey() { - return "hook-use-state"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HtmlHasLangCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HtmlHasLangCheck.java index f7015a7eca4..badde3044a1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HtmlHasLangCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/HtmlHasLangCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @JavaScriptRule @DeprecatedRuleKey(ruleKey = "S6849") @Rule(key = "S5254") -public class HtmlHasLangCheck implements EslintBasedCheck { +public class HtmlHasLangCheck extends Check { - @Override - public String eslintKey() { - return "html-has-lang"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalExpressionOnBinaryOperatorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalExpressionOnBinaryOperatorCheck.java index 75ba7dd7ba1..895f7556ca0 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalExpressionOnBinaryOperatorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalExpressionOnBinaryOperatorCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1764") -public class IdenticalExpressionOnBinaryOperatorCheck implements EslintBasedCheck { +public class IdenticalExpressionOnBinaryOperatorCheck extends Check { + - @Override - public String eslintKey() { - return "no-identical-expressions"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalFunctionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalFunctionsCheck.java index 32229d17b4f..15b30d4afc3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalFunctionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IdenticalFunctionsCheck.java @@ -22,14 +22,14 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4144") -public class IdenticalFunctionsCheck implements EslintBasedCheck { +public class IdenticalFunctionsCheck extends Check { private static final int DEFAULT_THRESHOLD = 3; @@ -38,8 +38,5 @@ public List configurations() { return Collections.singletonList(DEFAULT_THRESHOLD); } - @Override - public String eslintKey() { - return "no-identical-functions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IframeHasTitleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IframeHasTitleCheck.java index 37528068744..2d9435568b4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IframeHasTitleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IframeHasTitleCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "S6854") @Rule(key = "S1090") -public class IframeHasTitleCheck implements EslintBasedCheck { +public class IframeHasTitleCheck extends Check { - @Override - public String eslintKey() { - return "iframe-has-title"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IgnoredReturnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IgnoredReturnCheck.java index ad23ef50fdb..9d6fb32c27d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IgnoredReturnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IgnoredReturnCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2201") -public class IgnoredReturnCheck implements EslintBasedCheck { +public class IgnoredReturnCheck extends Check { + - @Override - public String eslintKey() { - return "no-ignored-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImgRedundantAltCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImgRedundantAltCheck.java index 3e280b311f2..0e399773b06 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImgRedundantAltCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImgRedundantAltCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6851") -public class ImgRedundantAltCheck implements EslintBasedCheck { +public class ImgRedundantAltCheck extends Check { + - @Override - public String eslintKey() { - return "img-redundant-alt"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImmediatelyReturnedVariableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImmediatelyReturnedVariableCheck.java index 2561b61a53c..7097661001f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImmediatelyReturnedVariableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImmediatelyReturnedVariableCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1488") -public class ImmediatelyReturnedVariableCheck implements EslintBasedCheck { +public class ImmediatelyReturnedVariableCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-immediate-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImplicitDependenciesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImplicitDependenciesCheck.java index f39efd2f33e..a79cd2648b8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImplicitDependenciesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ImplicitDependenciesCheck.java @@ -24,12 +24,12 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4328") -public class ImplicitDependenciesCheck implements EslintBasedCheck { +public class ImplicitDependenciesCheck extends Check { private static final String DEFAULT = ""; @@ -51,10 +51,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "no-implicit-dependencies"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InOperatorTypeErrorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InOperatorTypeErrorCheck.java index 8a82d25993e..48df122714a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InOperatorTypeErrorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InOperatorTypeErrorCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3785") -public class InOperatorTypeErrorCheck implements EslintBasedCheck { +public class InOperatorTypeErrorCheck extends Check { + - @Override - public String eslintKey() { - return "in-operator-type-error"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InconsistentFunctionCallCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InconsistentFunctionCallCheck.java index fd08711f046..cd54cc6927b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InconsistentFunctionCallCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InconsistentFunctionCallCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3686") -public class InconsistentFunctionCallCheck implements EslintBasedCheck { +public class InconsistentFunctionCallCheck extends Check { + - @Override - public String eslintKey() { - return "inconsistent-function-call"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IncrementDecrementInSubExpressionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IncrementDecrementInSubExpressionCheck.java index 0d50615b756..b7da600fe2b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IncrementDecrementInSubExpressionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IncrementDecrementInSubExpressionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S881") -public class IncrementDecrementInSubExpressionCheck implements EslintBasedCheck { +public class IncrementDecrementInSubExpressionCheck extends Check { + - @Override - public String eslintKey() { - return "no-nested-incdec"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IndexOfCompareToPositiveNumberCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IndexOfCompareToPositiveNumberCheck.java index e623b2bc987..2cc73e1d4e9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IndexOfCompareToPositiveNumberCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IndexOfCompareToPositiveNumberCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2692") -public class IndexOfCompareToPositiveNumberCheck implements EslintBasedCheck { +public class IndexOfCompareToPositiveNumberCheck extends Check { + - @Override - public String eslintKey() { - return "index-of-compare-to-positive-number"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureCookieCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureCookieCheck.java index 35db0e00dae..bc05be82801 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureCookieCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureCookieCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2092") -public class InsecureCookieCheck implements EslintBasedCheck { +public class InsecureCookieCheck extends Check { + - @Override - public String eslintKey() { - return "insecure-cookie"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureJwtTokenCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureJwtTokenCheck.java index 259f2c4b58b..55d61905c04 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureJwtTokenCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InsecureJwtTokenCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5659") -public class InsecureJwtTokenCheck implements EslintBasedCheck { +public class InsecureJwtTokenCheck extends Check { - @Override - public String eslintKey() { - return "insecure-jwt-token"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InstanceofInMisuseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InstanceofInMisuseCheck.java index c6959290b87..2f0e4a08400 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InstanceofInMisuseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InstanceofInMisuseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3812") -public class InstanceofInMisuseCheck implements EslintBasedCheck { +public class InstanceofInMisuseCheck extends Check { - @Override - public String eslintKey() { - return "no-unsafe-negation"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InteractiveElementsShouldBeFocusableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InteractiveElementsShouldBeFocusableCheck.java index af01b5fa9a3..87416d9eb34 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InteractiveElementsShouldBeFocusableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InteractiveElementsShouldBeFocusableCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6852") -public class InteractiveElementsShouldBeFocusableCheck implements EslintBasedCheck { +public class InteractiveElementsShouldBeFocusableCheck extends Check { - @Override - public String eslintKey() { - return "interactive-supports-focus"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IntrusivePermissionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IntrusivePermissionsCheck.java index ab28bfa41cd..2239b47dc38 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IntrusivePermissionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IntrusivePermissionsCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5604") -public class IntrusivePermissionsCheck implements EslintBasedCheck { +public class IntrusivePermissionsCheck extends Check { private static final String DEFAULT = "geolocation"; @@ -51,10 +51,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "no-intrusive-permissions"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvariantReturnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvariantReturnCheck.java index 818e2a5f810..958de9c3e6d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvariantReturnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvariantReturnCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3516") -public class InvariantReturnCheck implements EslintBasedCheck { +public class InvariantReturnCheck extends Check { - @Override - public String eslintKey() { - return "no-invariant-returns"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvertedAssertionArgumentsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvertedAssertionArgumentsCheck.java index 50a65e19a58..21c1f7359e4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvertedAssertionArgumentsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/InvertedAssertionArgumentsCheck.java @@ -23,19 +23,14 @@ import java.util.List; import org.sonar.api.batch.fs.InputFile.Type; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3415") -public class InvertedAssertionArgumentsCheck implements EslintBasedCheck { - - @Override - public String eslintKey() { - return "inverted-assertion-arguments"; - } +public class InvertedAssertionArgumentsCheck extends Check { @Override public List targets() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IpForwardCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IpForwardCheck.java index 62bef21185e..5ace4fa14df 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IpForwardCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/IpForwardCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5759") -public class IpForwardCheck implements EslintBasedCheck { +public class IpForwardCheck extends Check { - @Override - public String eslintKey() { - return "no-ip-forward"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxChildElementSpacingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxChildElementSpacingCheck.java index ea158f48adf..5c320c875f2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxChildElementSpacingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxChildElementSpacingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6772") -public class JsxChildElementSpacingCheck implements EslintBasedCheck { +public class JsxChildElementSpacingCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-child-element-spacing"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxKeyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxKeyCheck.java index e1d35aa7c52..00091b539ff 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxKeyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxKeyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6477") -public class JsxKeyCheck implements EslintBasedCheck { +public class JsxKeyCheck extends Check { - @Override - public String eslintKey() { - return "jsx-key"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoBindCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoBindCheck.java index 354a8691270..d7af02fb7ab 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoBindCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoBindCheck.java @@ -21,19 +21,16 @@ import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6480") -public class JsxNoBindCheck implements EslintBasedCheck { +public class JsxNoBindCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-no-bind"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoCommentTextnodesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoCommentTextnodesCheck.java index 448cb885067..5da27d06e4c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoCommentTextnodesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoCommentTextnodesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6438") -public class JsxNoCommentTextnodesCheck implements EslintBasedCheck { +public class JsxNoCommentTextnodesCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-no-comment-textnodes"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoConstructedContextValuesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoConstructedContextValuesCheck.java index 1747a98bb8d..c7cc3dfa3e4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoConstructedContextValuesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoConstructedContextValuesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6481") -public class JsxNoConstructedContextValuesCheck implements EslintBasedCheck { +public class JsxNoConstructedContextValuesCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-no-constructed-context-values"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoLeakedRenderCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoLeakedRenderCheck.java index 2149d348b84..a9c81019861 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoLeakedRenderCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoLeakedRenderCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6439") -public class JsxNoLeakedRenderCheck implements EslintBasedCheck { +public class JsxNoLeakedRenderCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-jsx-no-leaked-render"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoUselessFragmentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoUselessFragmentCheck.java index 56027dc9ea1..f76f335f336 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoUselessFragmentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxNoUselessFragmentCheck.java @@ -21,19 +21,16 @@ import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6749") -public class JsxNoUselessFragmentCheck implements EslintBasedCheck { +public class JsxNoUselessFragmentCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-no-useless-fragment"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxPascalCaseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxPascalCaseCheck.java index 3983bd85658..ec2a013a7e1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxPascalCaseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JsxPascalCaseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6770") -public class JsxPascalCaseCheck implements EslintBasedCheck { +public class JsxPascalCaseCheck extends Check { + - @Override - public String eslintKey() { - return "jsx-pascal-case"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JumpStatementInFinallyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JumpStatementInFinallyCheck.java index 1249924f60a..2a445ba80fe 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JumpStatementInFinallyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/JumpStatementInFinallyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1143") -public class JumpStatementInFinallyCheck implements EslintBasedCheck { +public class JumpStatementInFinallyCheck extends Check { + - @Override - public String eslintKey() { - return "no-unsafe-finally"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelHasAssociatedControlCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelHasAssociatedControlCheck.java index c75ef799ef6..82a6cae667d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelHasAssociatedControlCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelHasAssociatedControlCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6853") -public class LabelHasAssociatedControlCheck implements EslintBasedCheck { +public class LabelHasAssociatedControlCheck extends Check { + - @Override - public String eslintKey() { - return "label-has-associated-control"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelPlacementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelPlacementCheck.java index 438265ee290..4c044f059c1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelPlacementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelPlacementCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "LabelPlacement") @Rule(key = "S1439") -public class LabelPlacementCheck implements EslintBasedCheck { +public class LabelPlacementCheck extends Check { + - @Override - public String eslintKey() { - return "label-position"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelledStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelledStatementCheck.java index fe1c751ea13..0bbae108c4f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelledStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LabelledStatementCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1119") -public class LabelledStatementCheck implements EslintBasedCheck { +public class LabelledStatementCheck extends Check { + - @Override - public String eslintKey() { - return "no-labels"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LineLengthCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LineLengthCheck.java index c31d3d2e7a8..b326c1e8043 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LineLengthCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LineLengthCheck.java @@ -25,7 +25,7 @@ import java.util.Map; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -34,7 +34,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "LineLength") @Rule(key = "S103") -public class LineLengthCheck implements EslintBasedCheck { +public class LineLengthCheck extends Check { private static final int DEFAULT_MAXIMUM_LINE_LENGTH = 180; @@ -53,8 +53,5 @@ public List configurations() { return Collections.singletonList(configurationsMap); } - @Override - public String eslintKey() { - return "max-len"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LinkWithTargetBlankCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LinkWithTargetBlankCheck.java index 0e752608f78..e3f6dcf53e8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LinkWithTargetBlankCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LinkWithTargetBlankCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5148") -public class LinkWithTargetBlankCheck implements EslintBasedCheck { +public class LinkWithTargetBlankCheck extends Check { + - @Override - public String eslintKey() { - return "link-with-target-blank"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LoopsShouldNotBeInfiniteCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LoopsShouldNotBeInfiniteCheck.java index 142a1537b9e..88d6dd44427 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LoopsShouldNotBeInfiniteCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/LoopsShouldNotBeInfiniteCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2189") -public class LoopsShouldNotBeInfiniteCheck implements EslintBasedCheck { +public class LoopsShouldNotBeInfiniteCheck extends Check { + - @Override - public String eslintKey() { - return "no-infinite-loop"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxParameterCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxParameterCheck.java index 153d61d05c3..fe3c4173bd8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxParameterCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxParameterCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,7 +32,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "ExcessiveParameterList") @Rule(key = "S107") -public class MaxParameterCheck implements EslintBasedCheck { +public class MaxParameterCheck extends Check { private static final int DEFAULT_MAXIMUM_FUNCTION_PARAMETERS = 7; @@ -50,10 +50,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "sonar-max-params"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxSwitchCasesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxSwitchCasesCheck.java index d8fcae520c8..8fad736fc99 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxSwitchCasesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxSwitchCasesCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1479") -public class MaxSwitchCasesCheck implements EslintBasedCheck { +public class MaxSwitchCasesCheck extends Check { private static final int DEFAULT_MAXIMUM = 30; @@ -46,8 +46,5 @@ public List configurations() { return Collections.singletonList(maximum); } - @Override - public String eslintKey() { - return "max-switch-cases"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxUnionSizeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxUnionSizeCheck.java index 189d1527f42..415febb9755 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxUnionSizeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MaxUnionSizeCheck.java @@ -23,12 +23,12 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4622") -public class MaxUnionSizeCheck implements EslintBasedCheck { +public class MaxUnionSizeCheck extends Check { private static final int DEFAULT_THRESHOLD = 3; @@ -46,10 +46,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "max-union-size"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MediaHasCaptionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MediaHasCaptionCheck.java index dff443b312e..5d87de640bf 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MediaHasCaptionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MediaHasCaptionCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "S6855") @Rule(key = "S4084") -public class MediaHasCaptionCheck implements EslintBasedCheck { +public class MediaHasCaptionCheck extends Check { + - @Override - public String eslintKey() { - return "media-has-caption"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MisorderedParameterListCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MisorderedParameterListCheck.java index 4068f15815f..bb1a7bb8209 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MisorderedParameterListCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MisorderedParameterListCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2234") -public class MisorderedParameterListCheck implements EslintBasedCheck { +public class MisorderedParameterListCheck extends Check { + - @Override - public String eslintKey() { - return "arguments-order"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingNewlineAtEndOfFileCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingNewlineAtEndOfFileCheck.java index 8a63edecf0b..a940af18160 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingNewlineAtEndOfFileCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingNewlineAtEndOfFileCheck.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -31,15 +31,12 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "MissingNewlineAtEndOfFile") @Rule(key = "S113") -public class MissingNewlineAtEndOfFileCheck implements EslintBasedCheck { +public class MissingNewlineAtEndOfFileCheck extends Check { @Override public List configurations() { return Collections.singletonList("always"); } - @Override - public String eslintKey() { - return "eol-last"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingTrailingCommaCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingTrailingCommaCheck.java index c3e7bbc26e1..4eac4509f71 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingTrailingCommaCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MissingTrailingCommaCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3723") -public class MissingTrailingCommaCheck implements EslintBasedCheck { +public class MissingTrailingCommaCheck extends Check { + - @Override - public String eslintKey() { - return "enforce-trailing-comma"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MouseEventsA11YCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MouseEventsA11YCheck.java index f81d186c258..67f8a191c91 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MouseEventsA11YCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MouseEventsA11YCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1082") -public class MouseEventsA11YCheck implements EslintBasedCheck { +public class MouseEventsA11YCheck extends Check { + - @Override - public String eslintKey() { - return "mouse-events-a11y"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineBlockCurlyBraceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineBlockCurlyBraceCheck.java index 47fb661d475..3a7a40550a4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineBlockCurlyBraceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineBlockCurlyBraceCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2681") -public class MultilineBlockCurlyBraceCheck implements EslintBasedCheck { +public class MultilineBlockCurlyBraceCheck extends Check { + - @Override - public String eslintKey() { - return "no-unenclosed-multiline-block"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineStringLiteralsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineStringLiteralsCheck.java index 03aa52c4c14..5ff2c48a07c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineStringLiteralsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/MultilineStringLiteralsCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "MultilineStringLiterals") @Rule(key = "S1516") -public class MultilineStringLiteralsCheck implements EslintBasedCheck { +public class MultilineStringLiteralsCheck extends Check { - @Override - public String eslintKey() { - return "no-multi-str"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedAssignmentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedAssignmentCheck.java index ca5bdddd18b..b86623d754d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedAssignmentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedAssignmentCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "AssignmentWithinCondition") @Rule(key = "S1121") -public class NestedAssignmentCheck implements EslintBasedCheck { +public class NestedAssignmentCheck extends Check { - @Override - public String eslintKey() { - return "no-nested-assignment"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedConditionalOperatorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedConditionalOperatorsCheck.java index 7ab3f70eefd..203134c686d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedConditionalOperatorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedConditionalOperatorsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3358") -public class NestedConditionalOperatorsCheck implements EslintBasedCheck { +public class NestedConditionalOperatorsCheck extends Check { + - @Override - public String eslintKey() { - return "no-nested-conditional"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedControlFlowDepthCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedControlFlowDepthCheck.java index e4f114eaad2..5b00730f33b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedControlFlowDepthCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NestedControlFlowDepthCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,7 +32,7 @@ @TypeScriptRule @Rule(key = "S134") @DeprecatedRuleKey(ruleKey = "NestedIfDepth") -public class NestedControlFlowDepthCheck implements EslintBasedCheck { +public class NestedControlFlowDepthCheck extends Check { private static final int DEFAULT_MAXIMUM_NESTING_LEVEL = 3; @@ -48,10 +48,7 @@ public List configurations() { return Collections.singletonList(new Config(maximumNestingLevel)); } - @Override - public String eslintKey() { - return "nested-control-flow"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewCapCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewCapCheck.java index e4363407249..bf698753a77 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewCapCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewCapCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S2430") -public class NewCapCheck implements EslintBasedCheck { +public class NewCapCheck extends Check { + - @Override - public String eslintKey() { - return "new-cap"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewOperatorMisuseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewOperatorMisuseCheck.java index 60a2ecc90b2..021a0d5f9d1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewOperatorMisuseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NewOperatorMisuseCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2999") -public class NewOperatorMisuseCheck implements EslintBasedCheck { +public class NewOperatorMisuseCheck extends Check { public static final boolean CONSIDER_JSDOC = false; @@ -41,10 +41,7 @@ public class NewOperatorMisuseCheck implements EslintBasedCheck { ) public boolean considerJSDoc = CONSIDER_JSDOC; - @Override - public String eslintKey() { - return "new-operator-misuse"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAbsolutePathCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAbsolutePathCheck.java index 9c73b200ee5..4cfefe38b58 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAbsolutePathCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAbsolutePathCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6859") -public class NoAbsolutePathCheck implements EslintBasedCheck { +public class NoAbsolutePathCheck extends Check { + - @Override - public String eslintKey() { - return "no-absolute-path"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessKeyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessKeyCheck.java index a9c606911e3..c9187582834 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessKeyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessKeyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6846") -public class NoAccessKeyCheck implements EslintBasedCheck { +public class NoAccessKeyCheck extends Check { + - @Override - public String eslintKey() { - return "no-access-key"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessStateInSetstateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessStateInSetstateCheck.java index 667eaec7908..431dc7319e0 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessStateInSetstateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessStateInSetstateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6756") -public class NoAccessStateInSetstateCheck implements EslintBasedCheck { +public class NoAccessStateInSetstateCheck extends Check { + - @Override - public String eslintKey() { - return "no-access-state-in-setstate"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessorFieldMismatchCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessorFieldMismatchCheck.java index 06dea87f064..6902ae32513 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessorFieldMismatchCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAccessorFieldMismatchCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4275") -public class NoAccessorFieldMismatchCheck implements EslintBasedCheck { +public class NoAccessorFieldMismatchCheck extends Check { + - @Override - public String eslintKey() { - return "no-accessor-field-mismatch"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAngularBypassSanitizationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAngularBypassSanitizationCheck.java index ede15fa3acc..818f71f31da 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAngularBypassSanitizationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAngularBypassSanitizationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6268") -public class NoAngularBypassSanitizationCheck implements EslintBasedCheck { +public class NoAngularBypassSanitizationCheck extends Check { + - @Override - public String eslintKey() { - return "no-angular-bypass-sanitization"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAnyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAnyCheck.java index 57544635189..07c8854329b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAnyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAnyCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4204") -public class NoAnyCheck implements EslintBasedCheck { +public class NoAnyCheck extends Check { + - @Override - public String eslintKey() { - return "no-explicit-any"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAriaHiddenOnFocusableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAriaHiddenOnFocusableCheck.java index 6c307bb1b25..29409a5ea1a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAriaHiddenOnFocusableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoAriaHiddenOnFocusableCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6825") -public class NoAriaHiddenOnFocusableCheck implements EslintBasedCheck { +public class NoAriaHiddenOnFocusableCheck extends Check { + - @Override - public String eslintKey() { - return "no-aria-hidden-on-focusable"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayDeleteCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayDeleteCheck.java index 309fd6c322c..06c13edac29 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayDeleteCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayDeleteCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2870") -public class NoArrayDeleteCheck implements EslintBasedCheck { +public class NoArrayDeleteCheck extends Check { + - @Override - public String eslintKey() { - return "no-array-delete"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayIndexKeyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayIndexKeyCheck.java index c56d6381526..aeaf6f638da 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayIndexKeyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoArrayIndexKeyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6479") -public class NoArrayIndexKeyCheck implements EslintBasedCheck { +public class NoArrayIndexKeyCheck extends Check { + - @Override - public String eslintKey() { - return "no-array-index-key"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoBaseToStringCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoBaseToStringCheck.java index 53575762f9b..9292f594483 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoBaseToStringCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoBaseToStringCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6551") -public class NoBaseToStringCheck implements EslintBasedCheck { +public class NoBaseToStringCheck extends Check { + - @Override - public String eslintKey() { - return "no-base-to-string"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCaseDeclarationsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCaseDeclarationsCheck.java index d343fac1b88..b3eb945896f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCaseDeclarationsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCaseDeclarationsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6836") -public class NoCaseDeclarationsCheck implements EslintBasedCheck { +public class NoCaseDeclarationsCheck extends Check { + - @Override - public String eslintKey() { - return "no-case-declarations"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoChildrenPropCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoChildrenPropCheck.java index 3a0e7e7a02a..660ea68b9c5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoChildrenPropCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoChildrenPropCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6748") -public class NoChildrenPropCheck implements EslintBasedCheck { +public class NoChildrenPropCheck extends Check { + - @Override - public String eslintKey() { - return "no-children-prop"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoClearTextProtocolsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoClearTextProtocolsCheck.java index ac83521fbf8..b46cb631725 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoClearTextProtocolsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoClearTextProtocolsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5332") -public class NoClearTextProtocolsCheck implements EslintBasedCheck { +public class NoClearTextProtocolsCheck extends Check { + - @Override - public String eslintKey() { - return "no-clear-text-protocols"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCodeAfterDoneCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCodeAfterDoneCheck.java index 884f9746cfc..2f660820c79 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCodeAfterDoneCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoCodeAfterDoneCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S6079") public class NoCodeAfterDoneCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-code-after-done"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConfusingNonNullAssertionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConfusingNonNullAssertionCheck.java index accbeec8dd2..f82106b301d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConfusingNonNullAssertionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConfusingNonNullAssertionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6568") -public class NoConfusingNonNullAssertionCheck implements EslintBasedCheck { +public class NoConfusingNonNullAssertionCheck extends Check { + - @Override - public String eslintKey() { - return "no-confusing-non-null-assertion"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstantBinaryExpressionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstantBinaryExpressionCheck.java index d724b710e95..77b30098bc5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstantBinaryExpressionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstantBinaryExpressionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6638") -public class NoConstantBinaryExpressionCheck implements EslintBasedCheck { +public class NoConstantBinaryExpressionCheck extends Check { - @Override - public String eslintKey() { - return "no-constant-binary-expression"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstructorReturnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstructorReturnCheck.java index 3230178d022..e1687b9c68b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstructorReturnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoConstructorReturnCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6635") -public class NoConstructorReturnCheck implements EslintBasedCheck { +public class NoConstructorReturnCheck extends Check { + - @Override - public String eslintKey() { - return "no-constructor-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoControlRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoControlRegexCheck.java index 7a9936504d5..5cbcdae3b72 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoControlRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoControlRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6324") -public class NoControlRegexCheck implements EslintBasedCheck { +public class NoControlRegexCheck extends Check { - @Override - public String eslintKey() { - return "sonar-no-control-regex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDangerWithChildrenCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDangerWithChildrenCheck.java index 87e8a622df0..c713b9dcc70 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDangerWithChildrenCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDangerWithChildrenCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6761") -public class NoDangerWithChildrenCheck implements EslintBasedCheck { +public class NoDangerWithChildrenCheck extends Check { + - @Override - public String eslintKey() { - return "no-danger-with-children"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDeprecatedReactCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDeprecatedReactCheck.java index 43f18b9fdbd..5d15ae5fd5a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDeprecatedReactCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDeprecatedReactCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6957") -public class NoDeprecatedReactCheck implements EslintBasedCheck { +public class NoDeprecatedReactCheck extends Check { + - @Override - public String eslintKey() { - return "no-deprecated-react"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDirectMutationStateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDirectMutationStateCheck.java index 288c6dab669..6d27da2a38f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDirectMutationStateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDirectMutationStateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6746") -public class NoDirectMutationStateCheck implements EslintBasedCheck { +public class NoDirectMutationStateCheck extends Check { + - @Override - public String eslintKey() { - return "no-direct-mutation-state"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateEnumValuesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateEnumValuesCheck.java index 56d387d4793..3e1a90312d8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateEnumValuesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateEnumValuesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6578") -public class NoDuplicateEnumValuesCheck implements EslintBasedCheck { +public class NoDuplicateEnumValuesCheck extends Check { + - @Override - public String eslintKey() { - return "no-duplicate-enum-values"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateImportsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateImportsCheck.java index 32ee8f6dba3..2a5a22bd1e6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateImportsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateImportsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S3863") -public class NoDuplicateImportsCheck implements EslintBasedCheck { +public class NoDuplicateImportsCheck extends Check { - @Override - public String eslintKey() { - return "no-duplicates"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateInCompositeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateInCompositeCheck.java index 9aed27439e5..9550ae4f4b7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateInCompositeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateInCompositeCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4621") -public class NoDuplicateInCompositeCheck implements EslintBasedCheck { +public class NoDuplicateInCompositeCheck extends Check { + - @Override - public String eslintKey() { - return "no-duplicate-in-composite"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateStringCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateStringCheck.java index 2197e49ced8..12594207f21 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateStringCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoDuplicateStringCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1192") -public class NoDuplicateStringCheck implements EslintBasedCheck { +public class NoDuplicateStringCheck extends Check { private static final int DEFAULT_THRESHOLD = 3; private static final String DEFAULT_IGNORED_STRINGS = "application/json"; @@ -54,10 +54,7 @@ public List configurations() { return Arrays.asList(new Config(threshold, ignoreStrings)); } - @Override - public String eslintKey() { - return "no-duplicate-string"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoElementOverwriteCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoElementOverwriteCheck.java index 192d7e7e7d7..f5a2c66c49e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoElementOverwriteCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoElementOverwriteCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4143") -public class NoElementOverwriteCheck implements EslintBasedCheck { +public class NoElementOverwriteCheck extends Check { + - @Override - public String eslintKey() { - return "no-element-overwrite"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAfterReluctantCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAfterReluctantCheck.java index 101c64a48ce..b3b657ac6a1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAfterReluctantCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAfterReluctantCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6019") -public class NoEmptyAfterReluctantCheck implements EslintBasedCheck { +public class NoEmptyAfterReluctantCheck extends Check { + - @Override - public String eslintKey() { - return "no-empty-after-reluctant"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAlternativesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAlternativesCheck.java index 96fa335b6b2..f7ba6b0bcd7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAlternativesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyAlternativesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6323") -public class NoEmptyAlternativesCheck implements EslintBasedCheck { +public class NoEmptyAlternativesCheck extends Check { + - @Override - public String eslintKey() { - return "no-empty-alternatives"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyClassCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyClassCheck.java index 7799860461e..681cb8c4025 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyClassCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyClassCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S2094") -public class NoEmptyClassCheck implements EslintBasedCheck { +public class NoEmptyClassCheck extends Check { + - @Override - public String eslintKey() { - return "no-extraneous-class"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyCollectionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyCollectionCheck.java index 98552c1c36c..480db3bf5be 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyCollectionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyCollectionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4158") -public class NoEmptyCollectionCheck implements EslintBasedCheck { +public class NoEmptyCollectionCheck extends Check { - @Override - public String eslintKey() { - return "no-empty-collection"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyGroupCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyGroupCheck.java index 4e6ca436965..ed6f6644b1e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyGroupCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyGroupCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6331") -public class NoEmptyGroupCheck implements EslintBasedCheck { +public class NoEmptyGroupCheck extends Check { - @Override - public String eslintKey() { - return "no-empty-group"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyInterfaceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyInterfaceCheck.java index b26ea67de6a..75cab285556 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyInterfaceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyInterfaceCheck.java @@ -21,17 +21,14 @@ import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4023") -public class NoEmptyInterfaceCheck implements EslintBasedCheck { +public class NoEmptyInterfaceCheck extends Check { - @Override - public String eslintKey() { - return "no-empty-interface"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyTestFileCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyTestFileCheck.java index 43e75a345b0..1ff97c09b56 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyTestFileCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoEmptyTestFileCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S2187") public class NoEmptyTestFileCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-empty-test-file"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExclusiveTestsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExclusiveTestsCheck.java index ab48e7fdde6..3f4870fdce7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExclusiveTestsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExclusiveTestsCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S6426") public class NoExclusiveTestsCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-exclusive-tests"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtendNativeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtendNativeCheck.java index bbe2d81dab2..109733cdfb2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtendNativeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtendNativeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6643") -public class NoExtendNativeCheck implements EslintBasedCheck { +public class NoExtendNativeCheck extends Check { - @Override - public String eslintKey() { - return "no-extend-native"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBindCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBindCheck.java index 1b57274508c..a075d296215 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBindCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBindCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6637") -public class NoExtraBindCheck implements EslintBasedCheck { +public class NoExtraBindCheck extends Check { + - @Override - public String eslintKey() { - return "no-extra-bind"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBooleanCastCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBooleanCastCheck.java index 9f84b8d52ae..cc909323f3d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBooleanCastCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoExtraBooleanCastCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6509") -public class NoExtraBooleanCastCheck implements EslintBasedCheck { +public class NoExtraBooleanCastCheck extends Check { - @Override - public String eslintKey() { - return "no-extra-boolean-cast"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoFindDomNodeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoFindDomNodeCheck.java index 056f873e55f..6032b5842bb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoFindDomNodeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoFindDomNodeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6788") -public class NoFindDomNodeCheck implements EslintBasedCheck { +public class NoFindDomNodeCheck extends Check { + - @Override - public String eslintKey() { - return "no-find-dom-node"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoForInArrayCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoForInArrayCheck.java index b17a5ad4902..b5d4567384e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoForInArrayCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoForInArrayCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4139") -public class NoForInArrayCheck implements EslintBasedCheck { +public class NoForInArrayCheck extends Check { + - @Override - public String eslintKey() { - return "no-for-in-iterable"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHardcodedIpCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHardcodedIpCheck.java index c0c42857961..1f53f3e24fc 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHardcodedIpCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHardcodedIpCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1313") -public class NoHardcodedIpCheck implements EslintBasedCheck { +public class NoHardcodedIpCheck extends Check { + - @Override - public String eslintKey() { - return "no-hardcoded-ip"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHookSetterInBodyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHookSetterInBodyCheck.java index 6f8561ab141..2824572163c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHookSetterInBodyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoHookSetterInBodyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6442") -public class NoHookSetterInBodyCheck implements EslintBasedCheck { +public class NoHookSetterInBodyCheck extends Check { - @Override - public String eslintKey() { - return "no-hook-setter-in-body"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIgnoredExceptionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIgnoredExceptionsCheck.java index 355ed9b55ce..0037b1ec09e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIgnoredExceptionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIgnoredExceptionsCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S2486") public class NoIgnoredExceptionsCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-ignored-exceptions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoImportAssignCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoImportAssignCheck.java index f6459831fd2..dff2cad8f86 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoImportAssignCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoImportAssignCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6522") -public class NoImportAssignCheck implements EslintBasedCheck { +public class NoImportAssignCheck extends Check { + - @Override - public String eslintKey() { - return "no-import-assign"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInMisuseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInMisuseCheck.java index cc0abc35c63..a9f536195e6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInMisuseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInMisuseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4619") -public class NoInMisuseCheck implements EslintBasedCheck { +public class NoInMisuseCheck extends Check { - @Override - public String eslintKey() { - return "no-in-misuse"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIncompleteAssertionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIncompleteAssertionsCheck.java index 0b963af2c86..bab73f17d7c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIncompleteAssertionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIncompleteAssertionsCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S2970") public class NoIncompleteAssertionsCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-incomplete-assertions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInferrableTypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInferrableTypesCheck.java index 306c2e68697..d17efd46c84 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInferrableTypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInferrableTypesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S3257") -public class NoInferrableTypesCheck implements EslintBasedCheck { +public class NoInferrableTypesCheck extends Check { + - @Override - public String eslintKey() { - return "no-inferrable-types"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInteractiveElementToNoninteractiveRoleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInteractiveElementToNoninteractiveRoleCheck.java index a255849e2e3..4ce18bfe717 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInteractiveElementToNoninteractiveRoleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInteractiveElementToNoninteractiveRoleCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6843") -public class NoInteractiveElementToNoninteractiveRoleCheck implements EslintBasedCheck { +public class NoInteractiveElementToNoninteractiveRoleCheck extends Check { + - @Override - public String eslintKey() { - return "no-interactive-element-to-noninteractive-role"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvalidAwaitCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvalidAwaitCheck.java index 750e2aa5fa2..f2244cbfd9e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvalidAwaitCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvalidAwaitCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4123") -public class NoInvalidAwaitCheck implements EslintBasedCheck { +public class NoInvalidAwaitCheck extends Check { + - @Override - public String eslintKey() { - return "no-invalid-await"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvertedBooleanCheckCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvertedBooleanCheckCheck.java index f9a91436535..7a78e68973f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvertedBooleanCheckCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoInvertedBooleanCheckCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1940") -public class NoInvertedBooleanCheckCheck implements EslintBasedCheck { +public class NoInvertedBooleanCheckCheck extends Check { + - @Override - public String eslintKey() { - return "no-inverted-boolean-check"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIsMountedCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIsMountedCheck.java index b26a5d489ba..9ea7e34b50c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIsMountedCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoIsMountedCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6789") -public class NoIsMountedCheck implements EslintBasedCheck { +public class NoIsMountedCheck extends Check { + - @Override - public String eslintKey() { - return "no-is-mounted"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLiteralCallCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLiteralCallCheck.java index 2732d4a4caf..6becd428a5c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLiteralCallCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLiteralCallCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6958") -public class NoLiteralCallCheck implements EslintBasedCheck { +public class NoLiteralCallCheck extends Check { + - @Override - public String eslintKey() { - return "no-literal-call"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLoneBlocksCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLoneBlocksCheck.java index bc523aebe93..ca345498c49 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLoneBlocksCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLoneBlocksCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1199") -public class NoLoneBlocksCheck implements EslintBasedCheck { +public class NoLoneBlocksCheck extends Check { - @Override - public String eslintKey() { - return "no-lone-blocks"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLonelyIfCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLonelyIfCheck.java index 834e15311a5..15228b01709 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLonelyIfCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLonelyIfCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6660") -public class NoLonelyIfCheck implements EslintBasedCheck { +public class NoLonelyIfCheck extends Check { + - @Override - public String eslintKey() { - return "no-lonely-if"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLossOfPrecisionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLossOfPrecisionCheck.java index 546c1e08bb1..5bc314fbd7d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLossOfPrecisionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoLossOfPrecisionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6534") -public class NoLossOfPrecisionCheck implements EslintBasedCheck { +public class NoLossOfPrecisionCheck extends Check { + - @Override - public String eslintKey() { - return "no-loss-of-precision"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMagicNumbersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMagicNumbersCheck.java index 62f43dc6c73..444a60832f7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMagicNumbersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMagicNumbersCheck.java @@ -22,24 +22,21 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S109") -public class NoMagicNumbersCheck implements EslintBasedCheck { +public class NoMagicNumbersCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "sonar-no-magic-numbers"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMimeSniffCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMimeSniffCheck.java index 6d0f7c00138..c81becfa1db 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMimeSniffCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMimeSniffCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5734") -public class NoMimeSniffCheck implements EslintBasedCheck { +public class NoMimeSniffCheck extends Check { + - @Override - public String eslintKey() { - return "no-mime-sniff"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisleadingArrayReverseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisleadingArrayReverseCheck.java index 9cd8b63dfe4..72d12d2fcbd 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisleadingArrayReverseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisleadingArrayReverseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4043") -public class NoMisleadingArrayReverseCheck implements EslintBasedCheck { +public class NoMisleadingArrayReverseCheck extends Check { + - @Override - public String eslintKey() { - return "no-misleading-array-reverse"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedNewCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedNewCheck.java index 2f63ea6e195..9dae0710bea 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedNewCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedNewCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4124") -public class NoMisusedNewCheck implements EslintBasedCheck { +public class NoMisusedNewCheck extends Check { - @Override - public String eslintKey() { - return "no-misused-new"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedPromisesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedPromisesCheck.java index e1c5c48bb31..3634096d0bc 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedPromisesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMisusedPromisesCheck.java @@ -22,14 +22,14 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6544") -public class NoMisusedPromisesCheck implements EslintBasedCheck { +public class NoMisusedPromisesCheck extends Check { private static class Config { @@ -49,8 +49,5 @@ public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "no-misused-promises"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedContentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedContentCheck.java index 46dd5cd584d..1299694cea6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedContentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedContentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5730") -public class NoMixedContentCheck implements EslintBasedCheck { +public class NoMixedContentCheck extends Check { + - @Override - public String eslintKey() { - return "no-mixed-content"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedEnumsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedEnumsCheck.java index debca67d650..2e6bc270b9e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedEnumsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMixedEnumsCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6583") -public class NoMixedEnumsCheck implements EslintBasedCheck { +public class NoMixedEnumsCheck extends Check { + - @Override - public String eslintKey() { - return "no-mixed-enums"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMutableExportsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMutableExportsCheck.java index 95c6e2d5598..06cca64033e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMutableExportsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoMutableExportsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6861") -public class NoMutableExportsCheck implements EslintBasedCheck { +public class NoMutableExportsCheck extends Check { + - @Override - public String eslintKey() { - return "no-mutable-exports"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedFunctionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedFunctionsCheck.java index 0060e43134b..0e9ebc38f11 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedFunctionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedFunctionsCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2004") -public class NoNestedFunctionsCheck implements EslintBasedCheck { +public class NoNestedFunctionsCheck extends Check { private static final int DEFAULT_THRESHOLD = 4; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "no-nested-functions"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedSwitchCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedSwitchCheck.java index 292cc255994..139ba1b1cc5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedSwitchCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedSwitchCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1821") -public class NoNestedSwitchCheck implements EslintBasedCheck { +public class NoNestedSwitchCheck extends Check { - @Override - public String eslintKey() { - return "no-nested-switch"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedTemplateLiteralsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedTemplateLiteralsCheck.java index dda860ddb85..d3217194b39 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedTemplateLiteralsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNestedTemplateLiteralsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4624") -public class NoNestedTemplateLiteralsCheck implements EslintBasedCheck { +public class NoNestedTemplateLiteralsCheck extends Check { + - @Override - public String eslintKey() { - return "no-nested-template-literals"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNewNativeNonconstructorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNewNativeNonconstructorCheck.java index 8cddb5af285..b49efe87602 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNewNativeNonconstructorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNewNativeNonconstructorCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3834") -public class NoNewNativeNonconstructorCheck implements EslintBasedCheck { +public class NoNewNativeNonconstructorCheck extends Check { + - @Override - public String eslintKey() { - return "no-new-native-nonconstructor"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonInteractiveElementsWithHandlersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonInteractiveElementsWithHandlersCheck.java index 0789110bb79..5c66ddfac32 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonInteractiveElementsWithHandlersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonInteractiveElementsWithHandlersCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6847") -public class NoNonInteractiveElementsWithHandlersCheck implements EslintBasedCheck { +public class NoNonInteractiveElementsWithHandlersCheck extends Check { - @Override - public String eslintKey() { - return "no-noninteractive-element-interactions"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonNullAssertionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonNullAssertionCheck.java index 2c52ed5175e..a404aab94f1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonNullAssertionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNonNullAssertionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S2966") -public class NoNonNullAssertionCheck implements EslintBasedCheck { +public class NoNonNullAssertionCheck extends Check { + - @Override - public String eslintKey() { - return "no-non-null-assertion"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveElementToInteractiveRoleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveElementToInteractiveRoleCheck.java index aabb2d803be..c15ee7bfe37 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveElementToInteractiveRoleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveElementToInteractiveRoleCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6842") -public class NoNoninteractiveElementToInteractiveRoleCheck implements EslintBasedCheck { +public class NoNoninteractiveElementToInteractiveRoleCheck extends Check { + - @Override - public String eslintKey() { - return "no-noninteractive-element-to-interactive-role"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveTabindexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveTabindexCheck.java index 9e219498c4a..a8a073a226a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveTabindexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoNoninteractiveTabindexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6845") -public class NoNoninteractiveTabindexCheck implements EslintBasedCheck { +public class NoNoninteractiveTabindexCheck extends Check { - @Override - public String eslintKey() { - return "no-noninteractive-tabindex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOctalEscapeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOctalEscapeCheck.java index 722c7484a9c..f231875179b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOctalEscapeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOctalEscapeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6657") -public class NoOctalEscapeCheck implements EslintBasedCheck { +public class NoOctalEscapeCheck extends Check { + - @Override - public String eslintKey() { - return "no-octal-escape"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOneIterationLoopCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOneIterationLoopCheck.java index 85b894ae236..a2cdbdc3b70 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOneIterationLoopCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOneIterationLoopCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1751") -public class NoOneIterationLoopCheck implements EslintBasedCheck { +public class NoOneIterationLoopCheck extends Check { + - @Override - public String eslintKey() { - return "no-one-iteration-loop"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOsCommandsFromPathCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOsCommandsFromPathCheck.java index 3b86c31e05d..a8d57a7bb1c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOsCommandsFromPathCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoOsCommandsFromPathCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S4036") -public class NoOsCommandsFromPathCheck implements EslintBasedCheck { +public class NoOsCommandsFromPathCheck extends Check { + - @Override - public String eslintKey() { - return "no-os-command-from-path"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoProtoCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoProtoCheck.java index 753356b19c0..f98e16e8465 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoProtoCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoProtoCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6654") -public class NoProtoCheck implements EslintBasedCheck { +public class NoProtoCheck extends Check { - @Override - public String eslintKey() { - return "no-proto"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantJumpCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantJumpCheck.java index 462fa2c1b0f..6d2bd64352d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantJumpCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantJumpCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3626") -public class NoRedundantJumpCheck implements EslintBasedCheck { +public class NoRedundantJumpCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-jump"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantOptionalCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantOptionalCheck.java index ba0c154b7fe..056d46dcd8e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantOptionalCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantOptionalCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4782") -public class NoRedundantOptionalCheck implements EslintBasedCheck { +public class NoRedundantOptionalCheck extends Check { - @Override - public String eslintKey() { - return "no-redundant-optional"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantRolesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantRolesCheck.java index c873907d616..4186d2d3583 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantRolesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantRolesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6822") -public class NoRedundantRolesCheck implements EslintBasedCheck { +public class NoRedundantRolesCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-roles"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantShouldComponentUpdateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantShouldComponentUpdateCheck.java index 0c749bc9c38..b630292c18e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantShouldComponentUpdateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantShouldComponentUpdateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6763") -public class NoRedundantShouldComponentUpdateCheck implements EslintBasedCheck { +public class NoRedundantShouldComponentUpdateCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-should-component-update"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantTypeConstituentsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantTypeConstituentsCheck.java index c50719f29fd..e924b812b67 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantTypeConstituentsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRedundantTypeConstituentsCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6571") -public class NoRedundantTypeConstituentsCheck implements EslintBasedCheck { +public class NoRedundantTypeConstituentsCheck extends Check { - @Override - public String eslintKey() { - return "no-redundant-type-constituents"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReferrerPolicyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReferrerPolicyCheck.java index e1a2e002d27..c00263cd45e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReferrerPolicyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReferrerPolicyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5736") -public class NoReferrerPolicyCheck implements EslintBasedCheck { +public class NoReferrerPolicyCheck extends Check { + - @Override - public String eslintKey() { - return "no-referrer-policy"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRegexSpacesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRegexSpacesCheck.java index d0be18d001f..2e5367a7e3a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRegexSpacesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRegexSpacesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6326") -public class NoRegexSpacesCheck implements EslintBasedCheck { +public class NoRegexSpacesCheck extends Check { - @Override - public String eslintKey() { - return "sonar-no-regex-spaces"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRenderReturnValueCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRenderReturnValueCheck.java index 36c65294c60..2f6d67e7a56 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRenderReturnValueCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoRenderReturnValueCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6750") -public class NoRenderReturnValueCheck implements EslintBasedCheck { +public class NoRenderReturnValueCheck extends Check { - @Override - public String eslintKey() { - return "no-render-return-value"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnAwaitCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnAwaitCheck.java index 23b5a1b8e2f..6ff155f3ed5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnAwaitCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnAwaitCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4326") -public class NoReturnAwaitCheck implements EslintBasedCheck { +public class NoReturnAwaitCheck extends Check { + - @Override - public String eslintKey() { - return "no-return-await"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnTypeAnyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnTypeAnyCheck.java index 6f58612031a..ba2777b72c8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnTypeAnyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoReturnTypeAnyCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4324") -public class NoReturnTypeAnyCheck implements EslintBasedCheck { +public class NoReturnTypeAnyCheck extends Check { + - @Override - public String eslintKey() { - return "no-return-type-any"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSameArgumentAssertCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSameArgumentAssertCheck.java index d8ca7e232bf..9eeb4108ce7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSameArgumentAssertCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSameArgumentAssertCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S5863") public class NoSameArgumentAssertCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "no-same-argument-assert"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSelfCompareCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSelfCompareCheck.java index 1b4f6c3a07f..b6ae64ff683 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSelfCompareCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSelfCompareCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6679") -public class NoSelfCompareCheck implements EslintBasedCheck { +public class NoSelfCompareCheck extends Check { - @Override - public String eslintKey() { - return "no-self-compare"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSparseArraysCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSparseArraysCheck.java index cba4d66d7d0..476e181c547 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSparseArraysCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoSparseArraysCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4140") -public class NoSparseArraysCheck implements EslintBasedCheck { +public class NoSparseArraysCheck extends Check { + - @Override - public String eslintKey() { - return "no-sparse-arrays"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStaticElementInteractionsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStaticElementInteractionsCheck.java index 881d976cde5..e736ba5dc72 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStaticElementInteractionsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStaticElementInteractionsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6848") -public class NoStaticElementInteractionsCheck implements EslintBasedCheck { +public class NoStaticElementInteractionsCheck extends Check { + - @Override - public String eslintKey() { - return "no-static-element-interactions"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStringRefsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStringRefsCheck.java index 143bc8ba222..d52df7f10b4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStringRefsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoStringRefsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6790") -public class NoStringRefsCheck implements EslintBasedCheck { +public class NoStringRefsCheck extends Check { + - @Override - public String eslintKey() { - return "no-string-refs"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoTableAsLayoutCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoTableAsLayoutCheck.java index 870514043d6..e2e5e618742 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoTableAsLayoutCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoTableAsLayoutCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S5257") -public class NoTableAsLayoutCheck implements EslintBasedCheck { +public class NoTableAsLayoutCheck extends Check { + - @Override - public String eslintKey() { - return "no-table-as-layout"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisAliasCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisAliasCheck.java index 7adeb983f05..13956b6da17 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisAliasCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisAliasCheck.java @@ -22,22 +22,19 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4327") -public class NoThisAliasCheck implements EslintBasedCheck { +public class NoThisAliasCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "no-this-alias"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisInSfcCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisInSfcCheck.java index 1293aed2066..45c8aa44a55 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisInSfcCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoThisInSfcCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6757") -public class NoThisInSfcCheck implements EslintBasedCheck { +public class NoThisInSfcCheck extends Check { - @Override - public String eslintKey() { - return "no-this-in-sfc"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUndefInitCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUndefInitCheck.java index 16a9e68c242..ed5459d8ec8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUndefInitCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUndefInitCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S6645") -public class NoUndefInitCheck implements EslintBasedCheck { +public class NoUndefInitCheck extends Check { + - @Override - public String eslintKey() { - return "no-undef-init"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnescapedEntitiesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnescapedEntitiesCheck.java index abbcf64fcd8..0fb2a0f77b1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnescapedEntitiesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnescapedEntitiesCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6766") -public class NoUnescapedEntitiesCheck implements EslintBasedCheck { +public class NoUnescapedEntitiesCheck extends Check { + - @Override - public String eslintKey() { - return "no-unescaped-entities"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUniqKeyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUniqKeyCheck.java index c6fd2d8133a..724241b9aaa 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUniqKeyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUniqKeyCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6486") -public class NoUniqKeyCheck implements EslintBasedCheck { +public class NoUniqKeyCheck extends Check { + - @Override - public String eslintKey() { - return "no-uniq-key"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java index c4674beae29..e09217614ff 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnknownPropertyCheck.java @@ -24,14 +24,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6747") -public class NoUnknownPropertyCheck implements EslintBasedCheck { +public class NoUnknownPropertyCheck extends Check { @RuleProperty( key = "whitelist", @@ -47,10 +47,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "no-unknown-property"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeAssertionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeAssertionCheck.java index ca1358c54c3..440f7fbb0da 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeAssertionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeAssertionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4325") -public class NoUnnecessaryTypeAssertionCheck implements EslintBasedCheck { +public class NoUnnecessaryTypeAssertionCheck extends Check { + - @Override - public String eslintKey() { - return "no-unnecessary-type-assertion"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeConstraintCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeConstraintCheck.java index 74dc5b036b9..6c974224b83 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeConstraintCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnnecessaryTypeConstraintCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6569") -public class NoUnnecessaryTypeConstraintCheck implements EslintBasedCheck { +public class NoUnnecessaryTypeConstraintCheck extends Check { - @Override - public String eslintKey() { - return "no-unnecessary-type-constraint"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnneededTernaryCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnneededTernaryCheck.java index df6bfd38d3a..10cf926ae38 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnneededTernaryCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnneededTernaryCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6644") -public class NoUnneededTernaryCheck implements EslintBasedCheck { +public class NoUnneededTernaryCheck extends Check { + - @Override - public String eslintKey() { - return "no-unneeded-ternary"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeCheck.java index 8ab7f9ebac7..9beadb224a1 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6791") -public class NoUnsafeCheck implements EslintBasedCheck { +public class NoUnsafeCheck extends Check { + - @Override - public String eslintKey() { - return "no-unsafe"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeOptionalChainingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeOptionalChainingCheck.java index 6b8ff82fcb3..2d5a7f0a14b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeOptionalChainingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnsafeOptionalChainingCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6523") -public class NoUnsafeOptionalChainingCheck implements EslintBasedCheck { +public class NoUnsafeOptionalChainingCheck extends Check { + - @Override - public String eslintKey() { - return "no-unsafe-optional-chaining"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnstableNestedComponentsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnstableNestedComponentsCheck.java index 59d5595afe8..1443b5ceb89 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnstableNestedComponentsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnstableNestedComponentsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6478") -public class NoUnstableNestedComponentsCheck implements EslintBasedCheck { +public class NoUnstableNestedComponentsCheck extends Check { + - @Override - public String eslintKey() { - return "no-unstable-nested-components"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedClassComponentMethodsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedClassComponentMethodsCheck.java index 2c24c1cce23..0bbb08819d7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedClassComponentMethodsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedClassComponentMethodsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6441") -public class NoUnusedClassComponentMethodsCheck implements EslintBasedCheck { +public class NoUnusedClassComponentMethodsCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-no-unused-class-component-methods"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPrivateClassMembersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPrivateClassMembersCheck.java index df1eac9167c..66fc14c3c5a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPrivateClassMembersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPrivateClassMembersCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S1068") -public class NoUnusedPrivateClassMembersCheck implements EslintBasedCheck { +public class NoUnusedPrivateClassMembersCheck extends Check { - @Override - public String eslintKey() { - return "no-unused-private-class-members"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPropTypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPropTypesCheck.java index 412c6283e77..f8158fcf8ba 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPropTypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUnusedPropTypesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6767") -public class NoUnusedPropTypesCheck implements EslintBasedCheck { +public class NoUnusedPropTypesCheck extends Check { + - @Override - public String eslintKey() { - return "no-unused-prop-types"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCallCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCallCheck.java index ae149a9387d..197400bb53a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCallCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCallCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6676") -public class NoUselessCallCheck implements EslintBasedCheck { +public class NoUselessCallCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-call"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCatchCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCatchCheck.java index 639c12432e8..31c5331a154 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCatchCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessCatchCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2737") -public class NoUselessCatchCheck implements EslintBasedCheck { +public class NoUselessCatchCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-catch"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessConstructorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessConstructorCheck.java index b00afc48300..8fb3d69c682 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessConstructorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessConstructorCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6647") -public class NoUselessConstructorCheck implements EslintBasedCheck { +public class NoUselessConstructorCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-constructor"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessReactSetstateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessReactSetstateCheck.java index 08546808a27..de618c1636f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessReactSetstateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessReactSetstateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6443") -public class NoUselessReactSetstateCheck implements EslintBasedCheck { +public class NoUselessReactSetstateCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-react-setstate"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessRenameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessRenameCheck.java index 5601f269591..98e292ddd32 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessRenameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoUselessRenameCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6650") -public class NoUselessRenameCheck implements EslintBasedCheck { +public class NoUselessRenameCheck extends Check { - @Override - public String eslintKey() { - return "no-useless-rename"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoVueBypassSanitizationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoVueBypassSanitizationCheck.java index d639fe0b123..686eea05c75 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoVueBypassSanitizationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoVueBypassSanitizationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6299") -public class NoVueBypassSanitizationCheck implements EslintBasedCheck { +public class NoVueBypassSanitizationCheck extends Check { - @Override - public String eslintKey() { - return "no-vue-bypass-sanitization"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakCipherCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakCipherCheck.java index 03e05e872cd..ee3b52c4dbe 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakCipherCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakCipherCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5547") -public class NoWeakCipherCheck implements EslintBasedCheck { +public class NoWeakCipherCheck extends Check { + - @Override - public String eslintKey() { - return "no-weak-cipher"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakKeysCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakKeysCheck.java index d58ed7cc893..49107aff12a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakKeysCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NoWeakKeysCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4426") -public class NoWeakKeysCheck implements EslintBasedCheck { +public class NoWeakKeysCheck extends Check { + - @Override - public String eslintKey() { - return "no-weak-keys"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonCaseLabelInSwitchCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonCaseLabelInSwitchCheck.java index 329b39734c2..cd708cbd2ab 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonCaseLabelInSwitchCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonCaseLabelInSwitchCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1219") -public class NonCaseLabelInSwitchCheck implements EslintBasedCheck { +public class NonCaseLabelInSwitchCheck extends Check { + - @Override - public String eslintKey() { - return "no-case-label-in-switch"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonEmptyCaseWithoutBreakCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonEmptyCaseWithoutBreakCheck.java index 2b3352a40f5..ac713f11a19 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonEmptyCaseWithoutBreakCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonEmptyCaseWithoutBreakCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "NonEmptyCaseWithoutBreak") @Rule(key = "S128") -public class NonEmptyCaseWithoutBreakCheck implements EslintBasedCheck { +public class NonEmptyCaseWithoutBreakCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-no-fallthrough"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonExistentAssignmentOperatorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonExistentAssignmentOperatorCheck.java index 5f868910a16..104186d699a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonExistentAssignmentOperatorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonExistentAssignmentOperatorCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2757") -public class NonExistentAssignmentOperatorCheck implements EslintBasedCheck { +public class NonExistentAssignmentOperatorCheck extends Check { + - @Override - public String eslintKey() { - return "non-existent-operator"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonNumberInArithmeticExpressionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonNumberInArithmeticExpressionCheck.java index 3416dbd92df..8291d5f5a26 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonNumberInArithmeticExpressionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonNumberInArithmeticExpressionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3760") -public class NonNumberInArithmeticExpressionCheck implements EslintBasedCheck { +public class NonNumberInArithmeticExpressionCheck extends Check { + - @Override - public String eslintKey() { - return "non-number-in-arithmetic-expression"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonStandardImportCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonStandardImportCheck.java index 525965180b3..cdc7d681ac2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonStandardImportCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NonStandardImportCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S3533") -public class NonStandardImportCheck implements EslintBasedCheck { +public class NonStandardImportCheck extends Check { + - @Override - public String eslintKey() { - return "no-require-or-define"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NullDereferenceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NullDereferenceCheck.java index 2a0d656731b..07ba6d66669 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NullDereferenceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/NullDereferenceCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2259") -public class NullDereferenceCheck implements EslintBasedCheck { +public class NullDereferenceCheck extends Check { + - @Override - public String eslintKey() { - return "null-dereference"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OSCommandCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OSCommandCheck.java index 7a06674c15a..9140b3cab42 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OSCommandCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OSCommandCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4721") -public class OSCommandCheck implements EslintBasedCheck { +public class OSCommandCheck extends Check { - @Override - public String eslintKey() { - return "os-command"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectAltContentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectAltContentCheck.java index 436976b4e47..3b5ae03279d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectAltContentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectAltContentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S5264") -public class ObjectAltContentCheck implements EslintBasedCheck { +public class ObjectAltContentCheck extends Check { + - @Override - public String eslintKey() { - return "object-alt-content"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectLiteralShorthandCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectLiteralShorthandCheck.java index dc09450c073..2e64a0e7678 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectLiteralShorthandCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ObjectLiteralShorthandCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3498") -public class ObjectLiteralShorthandCheck implements EslintBasedCheck { +public class ObjectLiteralShorthandCheck extends Check { + - @Override - public String eslintKey() { - return "object-shorthand"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OctalNumberCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OctalNumberCheck.java index f4d7ca6595f..34e699f49f9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OctalNumberCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OctalNumberCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1314") @DeprecatedRuleKey(ruleKey = "OctalNumber") -public class OctalNumberCheck implements EslintBasedCheck { +public class OctalNumberCheck extends Check { + - @Override - public String eslintKey() { - return "no-octal"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OneStatementPerLineCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OneStatementPerLineCheck.java index 2b46cf9c3e7..54bbfc310ed 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OneStatementPerLineCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OneStatementPerLineCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S122") @DeprecatedRuleKey(ruleKey = "OneStatementPerLine") -public class OneStatementPerLineCheck implements EslintBasedCheck { +public class OneStatementPerLineCheck extends Check { + - @Override - public String eslintKey() { - return "max-statements-per-line"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OpenCurlyBracesAtEOLCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OpenCurlyBracesAtEOLCheck.java index 06e73588bfe..4fc5a9b4f25 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OpenCurlyBracesAtEOLCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/OpenCurlyBracesAtEOLCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1105") -public class OpenCurlyBracesAtEOLCheck implements EslintBasedCheck { +public class OpenCurlyBracesAtEOLCheck extends Check { private static final String DEFAULT_BRACE_STYLE = "1tbs"; @@ -46,10 +46,7 @@ public List configurations() { return Arrays.asList(braceStyle, new Config()); } - @Override - public String eslintKey() { - return "brace-style"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParenthesesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParenthesesCheck.java index 0fa4f930438..e0a62134cff 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParenthesesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParenthesesCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @JavaScriptRule @DeprecatedRuleKey(ruleKey = "Parentheses") @Rule(key = "S1110") -public class ParenthesesCheck implements EslintBasedCheck { +public class ParenthesesCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-parentheses"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParseIntCallWithoutBaseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParseIntCallWithoutBaseCheck.java index 5e3a222fe9d..8a6530ecdab 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParseIntCallWithoutBaseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ParseIntCallWithoutBaseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2427") -public class ParseIntCallWithoutBaseCheck implements EslintBasedCheck { +public class ParseIntCallWithoutBaseCheck extends Check { + - @Override - public String eslintKey() { - return "radix"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PostMessageCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PostMessageCheck.java index 097efba357a..2a3fea7913f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PostMessageCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PostMessageCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2819") -public class PostMessageCheck implements EslintBasedCheck { +public class PostMessageCheck extends Check { + - @Override - public String eslintKey() { - return "post-message"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferAsConstCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferAsConstCheck.java index ef967e5d121..79928b23308 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferAsConstCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferAsConstCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6590") -public class PreferAsConstCheck implements EslintBasedCheck { +public class PreferAsConstCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-as-const"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferDefaultLastCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferDefaultLastCheck.java index 04f580e3bcb..7c157f80b5c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferDefaultLastCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferDefaultLastCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4524") -public class PreferDefaultLastCheck implements EslintBasedCheck { +public class PreferDefaultLastCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-default-last"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferEnumInitializersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferEnumInitializersCheck.java index 76c6478be19..70c125f68bd 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferEnumInitializersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferEnumInitializersCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6572") -public class PreferEnumInitializersCheck implements EslintBasedCheck { +public class PreferEnumInitializersCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-enum-initializers"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferForOfCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferForOfCheck.java index 96d5e5344cc..7f008a06314 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferForOfCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferForOfCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4138") -public class PreferForOfCheck implements EslintBasedCheck { +public class PreferForOfCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-for-of"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferFunctionTypeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferFunctionTypeCheck.java index cf51d15dd82..8824261c59f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferFunctionTypeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferFunctionTypeCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6598") -public class PreferFunctionTypeCheck implements EslintBasedCheck { +public class PreferFunctionTypeCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-function-type"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferLiteralEnumMemberCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferLiteralEnumMemberCheck.java index b4aa0fca88c..9748a6c2476 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferLiteralEnumMemberCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferLiteralEnumMemberCheck.java @@ -21,22 +21,19 @@ import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6550") -public class PreferLiteralEnumMemberCheck implements EslintBasedCheck { +public class PreferLiteralEnumMemberCheck extends Check { @Override public List configurations() { return List.of(new Config()); } - @Override - public String eslintKey() { - return "prefer-literal-enum-member"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNamespaceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNamespaceCheck.java index 3e248d34a2d..54fea586b4e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNamespaceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNamespaceCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4156") -public class PreferNamespaceCheck implements EslintBasedCheck { +public class PreferNamespaceCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-namespace-keyword"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNullishCoalescingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNullishCoalescingCheck.java index 3f12c637b79..e19c9c17bc3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNullishCoalescingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferNullishCoalescingCheck.java @@ -22,22 +22,19 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6606") -public class PreferNullishCoalescingCheck implements EslintBasedCheck { +public class PreferNullishCoalescingCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "prefer-nullish-coalescing"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectHasOwnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectHasOwnCheck.java index 5030b1a67be..1b1e188e138 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectHasOwnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectHasOwnCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6653") -public class PreferObjectHasOwnCheck implements EslintBasedCheck { +public class PreferObjectHasOwnCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-object-has-own"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectLiteralCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectLiteralCheck.java index eb41ab356af..8fb27143ec8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectLiteralCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectLiteralCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2428") -public class PreferObjectLiteralCheck implements EslintBasedCheck { +public class PreferObjectLiteralCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-object-literal"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectSpreadCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectSpreadCheck.java index 161e36fb6e6..b1f526905b3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectSpreadCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferObjectSpreadCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6661") -public class PreferObjectSpreadCheck implements EslintBasedCheck { +public class PreferObjectSpreadCheck extends Check { - @Override - public String eslintKey() { - return "prefer-object-spread"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseRejectErrorsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseRejectErrorsCheck.java index 064d8203360..70ab0a2f26b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseRejectErrorsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseRejectErrorsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6671") -public class PreferPromiseRejectErrorsCheck implements EslintBasedCheck { +public class PreferPromiseRejectErrorsCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-promise-reject-errors"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseShorthandCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseShorthandCheck.java index 4919f5a7120..a745044ad86 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseShorthandCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferPromiseShorthandCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4634") -public class PreferPromiseShorthandCheck implements EslintBasedCheck { +public class PreferPromiseShorthandCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-promise-shorthand"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadOnlyPropsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadOnlyPropsCheck.java index 96c21cd1d03..b87bff4c75a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadOnlyPropsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadOnlyPropsCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6759") -public class PreferReadOnlyPropsCheck implements EslintBasedCheck { +public class PreferReadOnlyPropsCheck extends Check { - @Override - public String eslintKey() { - return "sonar-prefer-read-only-props"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadonlyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadonlyCheck.java index 9b807f9a81d..b9727501217 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadonlyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReadonlyCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S2933") -public class PreferReadonlyCheck implements EslintBasedCheck { +public class PreferReadonlyCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-readonly"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexLiteralsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexLiteralsCheck.java index 1c8796cc3b0..79e46731bc9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexLiteralsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexLiteralsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6325") -public class PreferRegexLiteralsCheck implements EslintBasedCheck { +public class PreferRegexLiteralsCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-regex-literals"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexpExecCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexpExecCheck.java index ca89c64b5dd..66465b7ed00 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexpExecCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferRegexpExecCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6594") -public class PreferRegexpExecCheck implements EslintBasedCheck { +public class PreferRegexpExecCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-prefer-regexp-exec"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReturnThisTypeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReturnThisTypeCheck.java index b4d2010d365..aae2567a6f9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReturnThisTypeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferReturnThisTypeCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6565") -public class PreferReturnThisTypeCheck implements EslintBasedCheck { +public class PreferReturnThisTypeCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-return-this-type"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferSpreadCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferSpreadCheck.java index 25adb4dbf9c..2e577fe1139 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferSpreadCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferSpreadCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6666") -public class PreferSpreadCheck implements EslintBasedCheck { +public class PreferSpreadCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-spread"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferStringStartsEndsWithCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferStringStartsEndsWithCheck.java index d0e459bb08c..37fec24f757 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferStringStartsEndsWithCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferStringStartsEndsWithCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6557") -public class PreferStringStartsEndsWithCheck implements EslintBasedCheck { +public class PreferStringStartsEndsWithCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-string-starts-ends-with"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTagOverRoleCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTagOverRoleCheck.java index e23c0350834..9104f9b7568 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTagOverRoleCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTagOverRoleCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6819") -public class PreferTagOverRoleCheck implements EslintBasedCheck { +public class PreferTagOverRoleCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-tag-over-role"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTypeGuardCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTypeGuardCheck.java index a084d53d9ce..2d265d0d143 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTypeGuardCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PreferTypeGuardCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4322") -public class PreferTypeGuardCheck implements EslintBasedCheck { +public class PreferTypeGuardCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-type-guard"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PrimitiveWrappersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PrimitiveWrappersCheck.java index 85d550afb5c..799e09fc61c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PrimitiveWrappersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PrimitiveWrappersCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "PrimitiveWrappers") @Rule(key = "S1533") -public class PrimitiveWrappersCheck implements EslintBasedCheck { +public class PrimitiveWrappersCheck extends Check { + - @Override - public String eslintKey() { - return "no-primitive-wrappers"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProcessArgvCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProcessArgvCheck.java index 80d3e8d6940..d8215b4e654 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProcessArgvCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProcessArgvCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4823") -public class ProcessArgvCheck implements EslintBasedCheck { +public class ProcessArgvCheck extends Check { + - @Override - public String eslintKey() { - return "process-argv"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProductionDebugCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProductionDebugCheck.java index a21453b5202..93b973b17e8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProductionDebugCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ProductionDebugCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4507") -public class ProductionDebugCheck implements EslintBasedCheck { +public class ProductionDebugCheck extends Check { + - @Override - public String eslintKey() { - return "production-debug"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PropTypesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PropTypesCheck.java index c246bf47a73..dddf4ea5afa 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PropTypesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PropTypesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S6774") -public class PropTypesCheck implements EslintBasedCheck { +public class PropTypesCheck extends Check { + - @Override - public String eslintKey() { - return "prop-types"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PseudoRandomCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PseudoRandomCheck.java index 558f4f00f54..df990465b65 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PseudoRandomCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PseudoRandomCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2245") -public class PseudoRandomCheck implements EslintBasedCheck { +public class PseudoRandomCheck extends Check { - @Override - public String eslintKey() { - return "pseudo-random"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PublicStaticReadonlyCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PublicStaticReadonlyCheck.java index e6ea789f204..78739eb2574 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PublicStaticReadonlyCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PublicStaticReadonlyCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S1444") -public class PublicStaticReadonlyCheck implements EslintBasedCheck { +public class PublicStaticReadonlyCheck extends Check { + - @Override - public String eslintKey() { - return "public-static-readonly"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PubliclyWritableDirectoriesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PubliclyWritableDirectoriesCheck.java index cf5a72e3d2e..964988ba733 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PubliclyWritableDirectoriesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/PubliclyWritableDirectoriesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5443") -public class PubliclyWritableDirectoriesCheck implements EslintBasedCheck { +public class PubliclyWritableDirectoriesCheck extends Check { + - @Override - public String eslintKey() { - return "publicly-writable-directories"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReassignedParameterCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReassignedParameterCheck.java index bc1cd9c9a4f..73b97d2388b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReassignedParameterCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReassignedParameterCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1226") -public class ReassignedParameterCheck implements EslintBasedCheck { +public class ReassignedParameterCheck extends Check { + - @Override - public String eslintKey() { - return "no-parameter-reassignment"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedeclaredSymbolCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedeclaredSymbolCheck.java index 87f35dbba27..e1c971edccc 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedeclaredSymbolCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedeclaredSymbolCheck.java @@ -22,22 +22,19 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2814") -public class RedeclaredSymbolCheck implements EslintBasedCheck { +public class RedeclaredSymbolCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "no-redeclare"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReduceInitialValueCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReduceInitialValueCheck.java index e4a2cff0aa8..a441e3007e3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReduceInitialValueCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReduceInitialValueCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6959") -public class ReduceInitialValueCheck implements EslintBasedCheck { +public class ReduceInitialValueCheck extends Check { + - @Override - public String eslintKey() { - return "reduce-initial-value"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantAssignmentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantAssignmentCheck.java index 6b78ce86efb..0ae72565136 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantAssignmentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantAssignmentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4165") -public class RedundantAssignmentCheck implements EslintBasedCheck { +public class RedundantAssignmentCheck extends Check { + - @Override - public String eslintKey() { - return "no-redundant-assignments"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantTypeAliasesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantTypeAliasesCheck.java index 5c1720e1f8b..6c85207a5ce 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantTypeAliasesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RedundantTypeAliasesCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S6564") -public class RedundantTypeAliasesCheck implements EslintBasedCheck { +public class RedundantTypeAliasesCheck extends Check { + - @Override - public String eslintKey() { - return "redundant-type-aliases"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReferenceErrorCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReferenceErrorCheck.java index ef08d28e961..5b3df520dd3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReferenceErrorCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReferenceErrorCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3827") -public class ReferenceErrorCheck implements EslintBasedCheck { +public class ReferenceErrorCheck extends Check { + - @Override - public String eslintKey() { - return "no-reference-error"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegexComplexityCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegexComplexityCheck.java index 407f84fbd46..58b30f853a8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegexComplexityCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegexComplexityCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5843") -public class RegexComplexityCheck implements EslintBasedCheck { +public class RegexComplexityCheck extends Check { private static final int DEFAULT_THRESHOLD = 20; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "regex-complexity"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegularExprCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegularExprCheck.java index 9481506fbe7..fefbf730da6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegularExprCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RegularExprCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4784") -public class RegularExprCheck implements EslintBasedCheck { +public class RegularExprCheck extends Check { + - @Override - public String eslintKey() { - return "regular-expr"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RequireRenderReturnCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RequireRenderReturnCheck.java index 80eeb5235a8..b37e5399b92 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RequireRenderReturnCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RequireRenderReturnCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6435") -public class RequireRenderReturnCheck implements EslintBasedCheck { +public class RequireRenderReturnCheck extends Check { + - @Override - public String eslintKey() { - return "require-render-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnInSetterCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnInSetterCheck.java index e8813ba6036..1d8eda742bf 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnInSetterCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnInSetterCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2432") -public class ReturnInSetterCheck implements EslintBasedCheck { +public class ReturnInSetterCheck extends Check { + - @Override - public String eslintKey() { - return "no-setter-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnOfBooleanExpressionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnOfBooleanExpressionCheck.java index 248a7afa3c9..d25c160c19e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnOfBooleanExpressionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ReturnOfBooleanExpressionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S1126") -public class ReturnOfBooleanExpressionCheck implements EslintBasedCheck { +public class ReturnOfBooleanExpressionCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-single-boolean-return"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleHasRequiredAriaPropsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleHasRequiredAriaPropsCheck.java index 5f2bd68414a..4c452bb849d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleHasRequiredAriaPropsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleHasRequiredAriaPropsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6807") -public class RoleHasRequiredAriaPropsCheck implements EslintBasedCheck { +public class RoleHasRequiredAriaPropsCheck extends Check { + - @Override - public String eslintKey() { - return "role-has-required-aria-props"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleSupportsAriaPropsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleSupportsAriaPropsCheck.java index 5cce6365518..6641a89bd4b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleSupportsAriaPropsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RoleSupportsAriaPropsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6811") -public class RoleSupportsAriaPropsCheck implements EslintBasedCheck { +public class RoleSupportsAriaPropsCheck extends Check { + - @Override - public String eslintKey() { - return "role-supports-aria-props"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RulesOfHooksCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RulesOfHooksCheck.java index d4e8e960b22..a3cda99cd8e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RulesOfHooksCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/RulesOfHooksCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6440") -public class RulesOfHooksCheck implements EslintBasedCheck { +public class RulesOfHooksCheck extends Check { - @Override - public String eslintKey() { - return "rules-of-hooks"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SameLineConditionalCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SameLineConditionalCheck.java index 2c05bd2321b..796262520ad 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SameLineConditionalCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SameLineConditionalCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3972") -public class SameLineConditionalCheck implements EslintBasedCheck { +public class SameLineConditionalCheck extends Check { + - @Override - public String eslintKey() { - return "no-same-line-conditional"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SelfAssignmentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SelfAssignmentCheck.java index 184eef9c96a..dc1aaa46146 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SelfAssignmentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SelfAssignmentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1656") -public class SelfAssignmentCheck implements EslintBasedCheck { +public class SelfAssignmentCheck extends Check { + - @Override - public String eslintKey() { - return "no-self-assign"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SemicolonCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SemicolonCheck.java index 3da3356971e..bd4953017b9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SemicolonCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SemicolonCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1438") @DeprecatedRuleKey(ruleKey = "Semicolon") -public class SemicolonCheck implements EslintBasedCheck { +public class SemicolonCheck extends Check { + - @Override - public String eslintKey() { - return "semi"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SessionRegenerationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SessionRegenerationCheck.java index 2b7a4c5a1e0..88bbef9636f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SessionRegenerationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SessionRegenerationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5876") -public class SessionRegenerationCheck implements EslintBasedCheck { +public class SessionRegenerationCheck extends Check { + - @Override - public String eslintKey() { - return "session-regeneration"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ShorthandPropertiesNotGroupedCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ShorthandPropertiesNotGroupedCheck.java index 0ce8c962691..3bc1515d08f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ShorthandPropertiesNotGroupedCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ShorthandPropertiesNotGroupedCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3499") -public class ShorthandPropertiesNotGroupedCheck implements EslintBasedCheck { +public class ShorthandPropertiesNotGroupedCheck extends Check { - @Override - public String eslintKey() { - return "shorthand-property-grouping"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharInCharacterClassesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharInCharacterClassesCheck.java index 80e1290234d..56d7c1eb55b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharInCharacterClassesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharInCharacterClassesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S6397") -public class SingleCharInCharacterClassesCheck implements EslintBasedCheck { +public class SingleCharInCharacterClassesCheck extends Check { + - @Override - public String eslintKey() { - return "single-char-in-character-classes"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharacterAlternativeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharacterAlternativeCheck.java index 16457d7b82f..4c9d1867942 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharacterAlternativeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SingleCharacterAlternativeCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6035") -public class SingleCharacterAlternativeCheck implements EslintBasedCheck { +public class SingleCharacterAlternativeCheck extends Check { - @Override - public String eslintKey() { - return "single-character-alternation"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SlowRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SlowRegexCheck.java index 9450b4d0ec2..0ad70938682 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SlowRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SlowRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S5852") -public class SlowRegexCheck implements EslintBasedCheck { +public class SlowRegexCheck extends Check { - @Override - public String eslintKey() { - return "slow-regex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SocketsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SocketsCheck.java index 11337b0df77..216289ac834 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SocketsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SocketsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4818") -public class SocketsCheck implements EslintBasedCheck { +public class SocketsCheck extends Check { - @Override - public String eslintKey() { - return "sockets"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoInvalidRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoInvalidRegexCheck.java index 28cdf09a3ec..251e06b63e9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoInvalidRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoInvalidRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5856") -public class SonarNoInvalidRegexCheck implements EslintBasedCheck { +public class SonarNoInvalidRegexCheck extends Check { - @Override - public String eslintKey() { - return "sonar-no-invalid-regexp"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoMisleadingCharacterClassCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoMisleadingCharacterClassCheck.java index 8395ade6bfe..aec7a7e8ffb 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoMisleadingCharacterClassCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarNoMisleadingCharacterClassCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S5868") -public class SonarNoMisleadingCharacterClassCheck implements EslintBasedCheck { +public class SonarNoMisleadingCharacterClassCheck extends Check { - @Override - public String eslintKey() { - return "sonar-no-misleading-character-class"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarPreferOptionalChainCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarPreferOptionalChainCheck.java index 506245823cb..dd1c9ea455c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarPreferOptionalChainCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SonarPreferOptionalChainCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6582") -public class SonarPreferOptionalChainCheck implements EslintBasedCheck { +public class SonarPreferOptionalChainCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-prefer-optional-chain"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SqlQueriesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SqlQueriesCheck.java index 86df065f56c..17cea1b97db 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SqlQueriesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SqlQueriesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2077") -public class SqlQueriesCheck implements EslintBasedCheck { +public class SqlQueriesCheck extends Check { + - @Override - public String eslintKey() { - return "sql-queries"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StableTestsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StableTestsCheck.java index 12cce0bbdba..16f05126ca8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StableTestsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StableTestsCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S5973") public class StableTestsCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "stable-tests"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StandardInputCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StandardInputCheck.java index b46cb3de250..58e20d48a93 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StandardInputCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StandardInputCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4829") -public class StandardInputCheck implements EslintBasedCheck { +public class StandardInputCheck extends Check { + - @Override - public String eslintKey() { - return "standard-input"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StatefulRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StatefulRegexCheck.java index 046e9658a39..6e7ff814b25 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StatefulRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StatefulRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6351") -public class StatefulRegexCheck implements EslintBasedCheck { +public class StatefulRegexCheck extends Check { + - @Override - public String eslintKey() { - return "stateful-regex"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictModeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictModeCheck.java index 02bb66c00e8..229731a9c33 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictModeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictModeCheck.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -31,15 +31,12 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "StrictMode") @Rule(key = "S1539") -public class StrictModeCheck implements EslintBasedCheck { +public class StrictModeCheck extends Check { @Override public List configurations() { return Collections.singletonList("never"); } - @Override - public String eslintKey() { - return "strict"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictTransportSecurityCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictTransportSecurityCheck.java index 8b6b95d9a47..fca4a09ae5d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictTransportSecurityCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StrictTransportSecurityCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5739") -public class StrictTransportSecurityCheck implements EslintBasedCheck { +public class StrictTransportSecurityCheck extends Check { - @Override - public String eslintKey() { - return "strict-transport-security"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenatedWithNonStringCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenatedWithNonStringCheck.java index a87cda7a771..de4d4e95688 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenatedWithNonStringCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenatedWithNonStringCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3402") -public class StringConcatenatedWithNonStringCheck implements EslintBasedCheck { +public class StringConcatenatedWithNonStringCheck extends Check { + - @Override - public String eslintKey() { - return "no-incorrect-string-concat"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenationCheck.java index 06898a9f56b..38b5cfb4d14 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringConcatenationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3512") -public class StringConcatenationCheck implements EslintBasedCheck { +public class StringConcatenationCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-template"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringLiteralsQuotesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringLiteralsQuotesCheck.java index 124202ef1e2..81ff9375ab3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringLiteralsQuotesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringLiteralsQuotesCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,7 +32,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "SingleQuote") @Rule(key = "S1441") -public class StringLiteralsQuotesCheck implements EslintBasedCheck { +public class StringLiteralsQuotesCheck extends Check { private static final boolean DEFAULT = true; @@ -48,10 +48,7 @@ public List configurations() { return Arrays.asList(singleQuotes ? "single" : "double", new Config()); } - @Override - public String eslintKey() { - return "quotes"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringsComparisonCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringsComparisonCheck.java index c0beaa81434..9edbe29c8b3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringsComparisonCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/StringsComparisonCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3003") -public class StringsComparisonCheck implements EslintBasedCheck { +public class StringsComparisonCheck extends Check { - @Override - public String eslintKey() { - return "strings-comparison"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SuperInvocationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SuperInvocationCheck.java index 5b18d026574..ace60e2ee3a 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SuperInvocationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SuperInvocationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3854") -public class SuperInvocationCheck implements EslintBasedCheck { +public class SuperInvocationCheck extends Check { + - @Override - public String eslintKey() { - return "super-invocation"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithNotEnoughCaseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithNotEnoughCaseCheck.java index d3e4d27e21e..2e139c114e7 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithNotEnoughCaseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithNotEnoughCaseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1301") -public class SwitchWithNotEnoughCaseCheck implements EslintBasedCheck { +public class SwitchWithNotEnoughCaseCheck extends Check { + - @Override - public String eslintKey() { - return "no-small-switch"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithoutDefaultCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithoutDefaultCheck.java index 7348315990d..8829c17ffd8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithoutDefaultCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/SwitchWithoutDefaultCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S131") @DeprecatedRuleKey(ruleKey = "SwitchWithoutDefault") -public class SwitchWithoutDefaultCheck implements EslintBasedCheck { +public class SwitchWithoutDefaultCheck extends Check { + - @Override - public String eslintKey() { - return "switch-without-default"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabCharacterCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabCharacterCheck.java index 9d644f2008b..3bfb947693e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabCharacterCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabCharacterCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "TabCharacter") @Rule(key = "S105") -public class TabCharacterCheck implements EslintBasedCheck { +public class TabCharacterCheck extends Check { + - @Override - public String eslintKey() { - return "no-tab"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabindexNoPositiveCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabindexNoPositiveCheck.java index 66275fe759c..9762ffe7bfc 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabindexNoPositiveCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TabindexNoPositiveCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6841") -public class TabindexNoPositiveCheck implements EslintBasedCheck { +public class TabindexNoPositiveCheck extends Check { + - @Override - public String eslintKey() { - return "tabindex-no-positive"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderCheck.java index 80338503742..99e63dcdb59 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5256") -public class TableHeaderCheck implements EslintBasedCheck { +public class TableHeaderCheck extends Check { + - @Override - public String eslintKey() { - return "table-header"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderReferenceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderReferenceCheck.java index adc94fbb765..e517346e1c0 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderReferenceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TableHeaderReferenceCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5260") -public class TableHeaderReferenceCheck implements EslintBasedCheck { +public class TableHeaderReferenceCheck extends Check { + - @Override - public String eslintKey() { - return "table-header-reference"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TemplateStringMisuseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TemplateStringMisuseCheck.java index 475e18cf035..ca5088a4d1c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TemplateStringMisuseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TemplateStringMisuseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3786") -public class TemplateStringMisuseCheck implements EslintBasedCheck { +public class TemplateStringMisuseCheck extends Check { - @Override - public String eslintKey() { - return "no-template-curly-in-string"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TestCheckExceptionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TestCheckExceptionCheck.java index 66b1f4651ab..53dec1da634 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TestCheckExceptionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TestCheckExceptionCheck.java @@ -29,8 +29,5 @@ @Rule(key = "S5958") public class TestCheckExceptionCheck extends TestFileCheck { - @Override - public String eslintKey() { - return "test-check-exception"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ThrowLiteralCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ThrowLiteralCheck.java index 1f73bc3f92f..04c6a2ce03c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ThrowLiteralCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ThrowLiteralCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @JavaScriptRule @Rule(key = "S3696") -public class ThrowLiteralCheck implements EslintBasedCheck { +public class ThrowLiteralCheck extends Check { + - @Override - public String eslintKey() { - return "no-throw-literal"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TodoTagPresenceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TodoTagPresenceCheck.java index 78e217dd2e3..c6b912df59b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TodoTagPresenceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TodoTagPresenceCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1135") -public class TodoTagPresenceCheck implements EslintBasedCheck { +public class TodoTagPresenceCheck extends Check { + - @Override - public String eslintKey() { - return "todo-tag"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyArgumentsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyArgumentsCheck.java index 1ca65f8e293..cca0d4d84b4 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyArgumentsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyArgumentsCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S930") -public class TooManyArgumentsCheck implements EslintBasedCheck { +public class TooManyArgumentsCheck extends Check { + - @Override - public String eslintKey() { - return "no-extra-arguments"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyBreakOrContinueInLoopCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyBreakOrContinueInLoopCheck.java index 80162891564..f19324125b2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyBreakOrContinueInLoopCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyBreakOrContinueInLoopCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S135") @DeprecatedRuleKey(ruleKey = "TooManyBreakOrContinueInLoop") -public class TooManyBreakOrContinueInLoopCheck implements EslintBasedCheck { +public class TooManyBreakOrContinueInLoopCheck extends Check { + - @Override - public String eslintKey() { - return "too-many-break-or-continue-in-loop"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFileCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFileCheck.java index f6e348d5962..f6b47bcef4f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFileCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFileCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S104") -public class TooManyLinesInFileCheck implements EslintBasedCheck { +public class TooManyLinesInFileCheck extends Check { private static final int DEFAULT = 1000; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "sonar-max-lines"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFunctionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFunctionCheck.java index 1e4deed09a2..dca9e3d0ce2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFunctionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TooManyLinesInFunctionCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S138") -public class TooManyLinesInFunctionCheck implements EslintBasedCheck { +public class TooManyLinesInFunctionCheck extends Check { private static final int DEFAULT = 200; @@ -48,10 +48,7 @@ public List configurations() { ); } - @Override - public String eslintKey() { - return "sonar-max-lines-per-function"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommaCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommaCheck.java index dcc081ba4c6..099b65a3680 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommaCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommaCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,10 +32,7 @@ @TypeScriptRule @Rule(key = "S1537") @DeprecatedRuleKey(ruleKey = "TrailingComma") -public class TrailingCommaCheck implements EslintBasedCheck { +public class TrailingCommaCheck extends Check { + - @Override - public String eslintKey() { - return "comma-dangle"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommentCheck.java index f9ab0952b98..1dba1e3b615 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingCommentCheck.java @@ -23,7 +23,7 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,7 +32,7 @@ @TypeScriptRule @Rule(key = "S139") @DeprecatedRuleKey(ruleKey = "TrailingComment") -public class TrailingCommentCheck implements EslintBasedCheck { +public class TrailingCommentCheck extends Check { private static final String DEFAULT_LEGAL_COMMENT_PATTERN = "^\\s*[^\\s]+$"; @@ -43,10 +43,7 @@ public class TrailingCommentCheck implements EslintBasedCheck { ) String legalCommentPattern = DEFAULT_LEGAL_COMMENT_PATTERN; - @Override - public String eslintKey() { - return "line-comment-position"; - } + @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingWhitespaceCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingWhitespaceCheck.java index 3cd04122b5f..2dd9653cd2b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingWhitespaceCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TrailingWhitespaceCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1131") @DeprecatedRuleKey(ruleKey = "TrailingWhitespace") -public class TrailingWhitespaceCheck implements EslintBasedCheck { +public class TrailingWhitespaceCheck extends Check { + - @Override - public String eslintKey() { - return "no-trailing-spaces"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TryPromiseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TryPromiseCheck.java index f9cafce9b0b..ee134576100 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TryPromiseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/TryPromiseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4822") -public class TryPromiseCheck implements EslintBasedCheck { +public class TryPromiseCheck extends Check { - @Override - public String eslintKey() { - return "no-try-promise"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnchangedLetVariableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnchangedLetVariableCheck.java index e913027385c..a9db11ae453 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnchangedLetVariableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnchangedLetVariableCheck.java @@ -22,19 +22,16 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3353") -public class UnchangedLetVariableCheck implements EslintBasedCheck { +public class UnchangedLetVariableCheck extends Check { + - @Override - public String eslintKey() { - return "prefer-const"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedArgumentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedArgumentCheck.java index 2f5924d4bbb..6efc4760585 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedArgumentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedArgumentCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4623") -public class UndefinedArgumentCheck implements EslintBasedCheck { +public class UndefinedArgumentCheck extends Check { + - @Override - public String eslintKey() { - return "no-undefined-argument"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedAssignmentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedAssignmentCheck.java index 1c37ea7ceed..4db88e493a3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedAssignmentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UndefinedAssignmentCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2138") -public class UndefinedAssignmentCheck implements EslintBasedCheck { +public class UndefinedAssignmentCheck extends Check { + - @Override - public String eslintKey() { - return "no-undefined-assignment"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnicodeAwareRegexCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnicodeAwareRegexCheck.java index 88424e9ac4b..209d3815809 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnicodeAwareRegexCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnicodeAwareRegexCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5867") -public class UnicodeAwareRegexCheck implements EslintBasedCheck { +public class UnicodeAwareRegexCheck extends Check { - @Override - public String eslintKey() { - return "unicode-aware-regex"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryCharacterEscapesCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryCharacterEscapesCheck.java index f314510b6f2..8757f70ff46 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryCharacterEscapesCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryCharacterEscapesCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S6535") -public class UnnecessaryCharacterEscapesCheck implements EslintBasedCheck { +public class UnnecessaryCharacterEscapesCheck extends Check { - @Override - public String eslintKey() { - return "unnecessary-character-escapes"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryTypeArgumentsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryTypeArgumentsCheck.java index 797e43f23d0..d62966f21a3 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryTypeArgumentsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnnecessaryTypeArgumentsCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4157") -public class UnnecessaryTypeArgumentsCheck implements EslintBasedCheck { +public class UnnecessaryTypeArgumentsCheck extends Check { + - @Override - public String eslintKey() { - return "no-unnecessary-type-arguments"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnreachableCodeCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnreachableCodeCheck.java index 3653cf9d9f7..daabc9449f5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnreachableCodeCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnreachableCodeCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -30,10 +30,7 @@ @Rule(key = "S1763") @DeprecatedRuleKey(ruleKey = "S1736") @DeprecatedRuleKey(ruleKey = "UnreachableCode") -public class UnreachableCodeCheck implements EslintBasedCheck { +public class UnreachableCodeCheck extends Check { + - @Override - public String eslintKey() { - return "no-unreachable"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnsafeUnzipCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnsafeUnzipCheck.java index 015a223ebc4..01fbbfced5e 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnsafeUnzipCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnsafeUnzipCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5042") -public class UnsafeUnzipCheck implements EslintBasedCheck { +public class UnsafeUnzipCheck extends Check { + - @Override - public String eslintKey() { - return "no-unsafe-unzip"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedCollectionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedCollectionCheck.java index 41f1d0e6b3c..933405f5c7c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedCollectionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedCollectionCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4030") -public class UnusedCollectionCheck implements EslintBasedCheck { +public class UnusedCollectionCheck extends Check { + - @Override - public String eslintKey() { - return "no-unused-collection"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedFunctionArgumentCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedFunctionArgumentCheck.java index 915bcea271b..fc12fa98854 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedFunctionArgumentCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedFunctionArgumentCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @Rule(key = "S1172") @DeprecatedRuleKey(ruleKey = "UnusedFunctionArgument") -public class UnusedFunctionArgumentCheck implements EslintBasedCheck { +public class UnusedFunctionArgumentCheck extends Check { + - @Override - public String eslintKey() { - return "no-unused-function-argument"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedImportCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedImportCheck.java index e118dde879b..bd173f2f23f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedImportCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedImportCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1128") -public class UnusedImportCheck implements EslintBasedCheck { +public class UnusedImportCheck extends Check { + - @Override - public String eslintKey() { - return "unused-import"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedNamedGroupsCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedNamedGroupsCheck.java index f137843db84..1b0626ba118 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedNamedGroupsCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedNamedGroupsCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5860") -public class UnusedNamedGroupsCheck implements EslintBasedCheck { +public class UnusedNamedGroupsCheck extends Check { - @Override - public String eslintKey() { - return "unused-named-groups"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedVariableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedVariableCheck.java index dd8f84637e7..49a20f6d70f 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedVariableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnusedVariableCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @JavaScriptRule @Rule(key = "S1481") @DeprecatedRuleKey(ruleKey = "UnusedVariable") -public class UnusedVariableCheck implements EslintBasedCheck { +public class UnusedVariableCheck extends Check { + - @Override - public String eslintKey() { - return "sonar-no-unused-vars"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedCertificateCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedCertificateCheck.java index 5aa302c3d2d..7ef00a812ea 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedCertificateCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedCertificateCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4830") -public class UnverifiedCertificateCheck implements EslintBasedCheck { +public class UnverifiedCertificateCheck extends Check { - @Override - public String eslintKey() { - return "unverified-certificate"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedHostnameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedHostnameCheck.java index 14fdb388e18..f9b7fa190f8 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedHostnameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UnverifiedHostnameCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5527") -public class UnverifiedHostnameCheck implements EslintBasedCheck { +public class UnverifiedHostnameCheck extends Check { + - @Override - public String eslintKey() { - return "unverified-hostname"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UpdatedConstVariableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UpdatedConstVariableCheck.java index 8862536debc..2e70124e809 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UpdatedConstVariableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UpdatedConstVariableCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3500") -public class UpdatedConstVariableCheck implements EslintBasedCheck { +public class UpdatedConstVariableCheck extends Check { + - @Override - public String eslintKey() { - return "updated-const-var"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseOfEmptyReturnValueCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseOfEmptyReturnValueCheck.java index 3f06ae4e208..b0c14fab24c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseOfEmptyReturnValueCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseOfEmptyReturnValueCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3699") -public class UseOfEmptyReturnValueCheck implements EslintBasedCheck { +public class UseOfEmptyReturnValueCheck extends Check { + - @Override - public String eslintKey() { - return "no-use-of-empty-return-value"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseTypeAliasCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseTypeAliasCheck.java index cea01ba757d..cf6e523aa5c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseTypeAliasCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UseTypeAliasCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4323") -public class UseTypeAliasCheck implements EslintBasedCheck { +public class UseTypeAliasCheck extends Check { + - @Override - public String eslintKey() { - return "use-type-alias"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessExpressionStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessExpressionStatementCheck.java index 1c0cf93991b..be1843f20e2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessExpressionStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessExpressionStatementCheck.java @@ -22,24 +22,21 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S905") -public class UselessExpressionStatementCheck implements EslintBasedCheck { +public class UselessExpressionStatementCheck extends Check { @Override public List configurations() { return Collections.singletonList(new Config()); } - @Override - public String eslintKey() { - return "no-unused-expressions"; - } + private static class Config { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIncrementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIncrementCheck.java index 6308aa0eddf..cf549da221b 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIncrementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIncrementCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2123") -public class UselessIncrementCheck implements EslintBasedCheck { +public class UselessIncrementCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-increment"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIntersectionCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIntersectionCheck.java index 99ba9f02bc6..0c8618606c6 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIntersectionCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessIntersectionCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.TypeScriptRule; @TypeScriptRule @Rule(key = "S4335") -public class UselessIntersectionCheck implements EslintBasedCheck { +public class UselessIntersectionCheck extends Check { + - @Override - public String eslintKey() { - return "no-useless-intersection"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessStringOperationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessStringOperationCheck.java index 77bf7406706..862eabcd525 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessStringOperationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/UselessStringOperationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S1154") -public class UselessStringOperationCheck implements EslintBasedCheck { +public class UselessStringOperationCheck extends Check { + - @Override - public String eslintKey() { - return "useless-string-operation"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValidTypeOfCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValidTypeOfCheck.java index 2e37258479a..9b071b351a5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValidTypeOfCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValidTypeOfCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S4125") -public class ValidTypeOfCheck implements EslintBasedCheck { +public class ValidTypeOfCheck extends Check { + - @Override - public String eslintKey() { - return "valid-typeof"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValuesNotConvertibleToNumbersCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValuesNotConvertibleToNumbersCheck.java index b3fd3954bda..706dbace190 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValuesNotConvertibleToNumbersCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/ValuesNotConvertibleToNumbersCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S3758") -public class ValuesNotConvertibleToNumbersCheck implements EslintBasedCheck { +public class ValuesNotConvertibleToNumbersCheck extends Check { + - @Override - public String eslintKey() { - return "values-not-convertible-to-numbers"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VarDeclarationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VarDeclarationCheck.java index 847673b0aa9..299f0b9fa14 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VarDeclarationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VarDeclarationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3504") -public class VarDeclarationCheck implements EslintBasedCheck { +public class VarDeclarationCheck extends Check { - @Override - public String eslintKey() { - return "no-var"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationAfterUsageCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationAfterUsageCheck.java index 956e5f44aa2..59763e3fb1c 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationAfterUsageCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationAfterUsageCheck.java @@ -20,7 +20,7 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -29,10 +29,7 @@ @TypeScriptRule @DeprecatedRuleKey(ruleKey = "VariableDeclarationAfterUsage") @Rule(key = "S1526") -public class VariableDeclarationAfterUsageCheck implements EslintBasedCheck { +public class VariableDeclarationAfterUsageCheck extends Check { + - @Override - public String eslintKey() { - return "no-variable-usage-before-declaration"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationWithoutVarCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationWithoutVarCheck.java index 5566fc0259c..18373f4d836 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationWithoutVarCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableDeclarationWithoutVarCheck.java @@ -20,15 +20,12 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; @JavaScriptRule @Rule(key = "S2703") -public class VariableDeclarationWithoutVarCheck implements EslintBasedCheck { +public class VariableDeclarationWithoutVarCheck extends Check { - @Override - public String eslintKey() { - return "no-implicit-global"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableNameCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableNameCheck.java index 70b5daddc91..f94e510439d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableNameCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableNameCheck.java @@ -23,14 +23,14 @@ import java.util.List; import org.sonar.check.Rule; import org.sonar.check.RuleProperty; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S117") -public class VariableNameCheck implements EslintBasedCheck { +public class VariableNameCheck extends Check { private static final String CAMEL_CASED = "^[_$A-Za-z][$A-Za-z0-9]*$"; private static final String UPPER_CASED = "^[_$A-Z][_$A-Z0-9]+$"; @@ -49,8 +49,5 @@ public List configurations() { return Collections.singletonList(new FormatRuleProperty(format)); } - @Override - public String eslintKey() { - return "variable-name"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableShadowingCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableShadowingCheck.java index 0f8168ec145..537eed2e802 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableShadowingCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VariableShadowingCheck.java @@ -22,7 +22,7 @@ import java.util.Collections; import java.util.List; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @@ -32,12 +32,9 @@ // deprecated key in TS @DeprecatedRuleKey(ruleKey = "S1524") @Rule(key = "S1117") -public class VariableShadowingCheck implements EslintBasedCheck { +public class VariableShadowingCheck extends Check { + - @Override - public String eslintKey() { - return "no-shadow"; - } @Override public List configurations() { diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VoidUseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VoidUseCheck.java index 0b543578f97..fc91443e8b9 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VoidUseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/VoidUseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S3735") -public class VoidUseCheck implements EslintBasedCheck { +public class VoidUseCheck extends Check { + - @Override - public String eslintKey() { - return "void-use"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WeakSslCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WeakSslCheck.java index 53dc7aac801..fcd11e4e28d 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WeakSslCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WeakSslCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4423") -public class WeakSslCheck implements EslintBasedCheck { +public class WeakSslCheck extends Check { + - @Override - public String eslintKey() { - return "weak-ssl"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WebSQLDatabaseCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WebSQLDatabaseCheck.java index 58b6ffe4348..ad9b4869880 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WebSQLDatabaseCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WebSQLDatabaseCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2817") -public class WebSQLDatabaseCheck implements EslintBasedCheck { +public class WebSQLDatabaseCheck extends Check { + - @Override - public String eslintKey() { - return "web-sql-database"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WildcardImportCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WildcardImportCheck.java index 1a87ae07cee..6ed690cdce2 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WildcardImportCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WildcardImportCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2208") -public class WildcardImportCheck implements EslintBasedCheck { +public class WildcardImportCheck extends Check { + - @Override - public String eslintKey() { - return "no-wildcard-import"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WithStatementCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WithStatementCheck.java index 00ae4e63fcc..04530e1f078 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WithStatementCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WithStatementCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonarsource.analyzer.commons.annotations.DeprecatedRuleKey; @JavaScriptRule @Rule(key = "S1321") @DeprecatedRuleKey(ruleKey = "WithStatement") -public class WithStatementCheck implements EslintBasedCheck { +public class WithStatementCheck extends Check { - @Override - public String eslintKey() { - return "no-with"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WrongScopeDeclarationCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WrongScopeDeclarationCheck.java index 6a60897b6c0..7bc95e25353 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WrongScopeDeclarationCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/WrongScopeDeclarationCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2392") -public class WrongScopeDeclarationCheck implements EslintBasedCheck { +public class WrongScopeDeclarationCheck extends Check { - @Override - public String eslintKey() { - return "sonar-block-scoped-var"; - } + } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XMLParserXXEVulnerableCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XMLParserXXEVulnerableCheck.java index ec7518f4ddf..c9c24c0e7b5 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XMLParserXXEVulnerableCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XMLParserXXEVulnerableCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S2755") -public class XMLParserXXEVulnerableCheck implements EslintBasedCheck { +public class XMLParserXXEVulnerableCheck extends Check { + - @Override - public String eslintKey() { - return "xml-parser-xxe"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XPoweredByCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XPoweredByCheck.java index 3c801541adc..52c09ef3551 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XPoweredByCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XPoweredByCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S5689") -public class XPoweredByCheck implements EslintBasedCheck { +public class XPoweredByCheck extends Check { + - @Override - public String eslintKey() { - return "x-powered-by"; - } } diff --git a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XpathCheck.java b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XpathCheck.java index 592804542d2..b65d5f6eb46 100644 --- a/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XpathCheck.java +++ b/sonar-plugin/javascript-checks/src/main/java/org/sonar/javascript/checks/XpathCheck.java @@ -20,17 +20,14 @@ package org.sonar.javascript.checks; import org.sonar.check.Rule; -import org.sonar.plugins.javascript.api.EslintBasedCheck; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.JavaScriptRule; import org.sonar.plugins.javascript.api.TypeScriptRule; @JavaScriptRule @TypeScriptRule @Rule(key = "S4817") -public class XpathCheck implements EslintBasedCheck { +public class XpathCheck extends Check { - @Override - public String eslintKey() { - return "xpath"; - } + } diff --git a/sonar-plugin/javascript-checks/src/test/java/org/sonar/javascript/checks/CheckListTest.java b/sonar-plugin/javascript-checks/src/test/java/org/sonar/javascript/checks/CheckListTest.java index 25a69dfd3f3..13488b9169b 100644 --- a/sonar-plugin/javascript-checks/src/test/java/org/sonar/javascript/checks/CheckListTest.java +++ b/sonar-plugin/javascript-checks/src/test/java/org/sonar/javascript/checks/CheckListTest.java @@ -88,27 +88,6 @@ void test() { assertThat(keys).doesNotHaveDuplicates(); } - @Test - void test_eslint_key() throws IllegalAccessException, InstantiationException { - List> checks = CheckList.getAllChecks(); - List keys = new ArrayList<>(); - - for (Class cls : checks) { - if (isEslintBasedCheck(cls)) { - EslintBasedCheck eslintBasedCheck = (EslintBasedCheck) cls.newInstance(); - keys.add(eslintBasedCheck.eslintKey()); - assertThat(eslintBasedCheck.eslintKey()) - .as("Invalid key for " + eslintBasedCheck.getClass()) - .matches("[a-z\\d\\-]+"); - } - } - - // this rule has the same implementation for TS and JS, but defines a different rule property - keys.remove("cyclomatic-complexity"); - - assertThat(keys).doesNotHaveDuplicates(); - } - @Test void testTypeScriptChecks() { var typeScriptChecks = CheckList.getTypeScriptChecks(); diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/HtmlSensorTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/HtmlSensorTest.java index 18036c5f503..cb9754d4e8d 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/HtmlSensorTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/HtmlSensorTest.java @@ -128,8 +128,8 @@ void should_have_descriptor() throws Exception { void should_create_issues() throws Exception { AnalysisResponse expectedResponse = response( "{ issues: [" + - "{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + - "{\"line\":1,\"column\":1,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Line issue message\", \"secondaryLocations\": []}" + + "{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + + "{\"line\":1,\"column\":1,\"ruleId\":\"S3923\",\"message\":\"Line issue message\", \"secondaryLocations\": []}" + "]}" ); when(bridgeServerMock.analyzeHtml(any())).thenReturn(expectedResponse); diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptChecksTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptChecksTest.java index a3fef469225..02162dc37cf 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptChecksTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptChecksTest.java @@ -35,7 +35,7 @@ void should_detect_unknown_rule_key() throws Exception { TestUtils.checkFactory(CheckList.JS_REPOSITORY_KEY, "S3923") ); - assertThat(checks.ruleKeyByEslintKey("no-all-duplicated-branches", JAVASCRIPT)) + assertThat(checks.ruleKeyByEslintKey("S3923", JAVASCRIPT)) .isEqualTo(RuleKey.of("javascript", "S3923")); assertThat(checks.ruleKeyByEslintKey("unknown-rule-key", JAVASCRIPT)).isNull(); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptEslintBasedSensorTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptEslintBasedSensorTest.java index 5f67ced1a73..5dae7c45c2d 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptEslintBasedSensorTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JavaScriptEslintBasedSensorTest.java @@ -175,9 +175,9 @@ public void setUp() throws Exception { void should_create_issues() throws Exception { AnalysisResponse responseIssues = response( "{ issues: [{" + - "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + - "{\"line\":1,\"column\":1,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Line issue message\", \"secondaryLocations\": []}," + - "{\"line\":0,\"column\":1,\"ruleId\":\"file-header\",\"message\":\"File issue message\", \"secondaryLocations\": []}" + + "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + + "{\"line\":1,\"column\":1,\"ruleId\":\"S3923\",\"message\":\"Line issue message\", \"secondaryLocations\": []}," + + "{\"line\":0,\"column\":1,\"ruleId\":\"S1451\",\"message\":\"File issue message\", \"secondaryLocations\": []}" + "]}" ); when(bridgeServerMock.analyzeJavaScript(any())).thenReturn(responseIssues); @@ -224,7 +224,7 @@ void should_create_issues() throws Exception { void should_set_quickfixavailable() throws Exception { AnalysisResponse responseIssues = response( "{ issues: [{" + - "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", \"secondaryLocations\": []," + + "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", \"secondaryLocations\": []," + "\"quickFixes\": [{ message: \"msg\", edits: [] }] " + "}" + "]}" @@ -261,7 +261,7 @@ void should_report_secondary_issue_locations() throws Exception { when(bridgeServerMock.analyzeJavaScript(any())) .thenReturn( response( - "{ issues: [{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", " + + "{ issues: [{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", " + "\"cost\": 14," + "\"secondaryLocations\": [" + "{ message: \"Secondary\", \"line\":2,\"column\":0,\"endLine\":2,\"endColumn\":3}," + @@ -302,7 +302,7 @@ void should_not_report_secondary_when_location_are_null() throws Exception { when(bridgeServerMock.analyzeJavaScript(any())) .thenReturn( response( - "{ issues: [{\"line\":1,\"column\":3,\"endLine\":3,\"endColumn\":5,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", " + + "{ issues: [{\"line\":1,\"column\":3,\"endLine\":3,\"endColumn\":5,\"ruleId\":\"S3923\",\"message\":\"Issue message\", " + "\"secondaryLocations\": [" + "{ message: \"Secondary\", \"line\":2,\"column\":1,\"endLine\":null,\"endColumn\":4}" + "]}]}" @@ -326,7 +326,7 @@ void should_report_cost() throws Exception { when(bridgeServerMock.analyzeJavaScript(any())) .thenReturn( response( - "{ issues: [{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", " + + "{ issues: [{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", " + "\"cost\": 42," + "\"secondaryLocations\": []}]}" ) @@ -509,7 +509,7 @@ void should_have_configured_rules() { new NewActiveRule.Builder() .setRuleKey(RuleKey.of(CheckList.JS_REPOSITORY_KEY, "S3923")) .build() - ); // no-all-duplicated-branches, without config + ); // S3923, without config CheckFactory checkFactory = new CheckFactory(builder.build()); var checks = new JsTsChecks(checkFactory); @@ -517,14 +517,14 @@ void should_have_configured_rules() { assertThat(rules).hasSize(3); - assertThat(rules.get(0).getKey()).isEqualTo("no-duplicate-string"); + assertThat(rules.get(0).getKey()).isEqualTo("S1192"); assertThat(new Gson().toJson(rules.get(0).getConfigurations())) .isEqualTo("[{\"threshold\":3,\"ignoreStrings\":\"application/json\"}]"); - assertThat(rules.get(1).getKey()).isEqualTo("max-switch-cases"); + assertThat(rules.get(1).getKey()).isEqualTo("S1479"); assertThat(rules.get(1).getConfigurations()).containsExactly(42); - assertThat(rules.get(2).getKey()).isEqualTo("no-all-duplicated-branches"); + assertThat(rules.get(2).getKey()).isEqualTo("S3923"); assertThat(rules.get(2).getConfigurations()).isEmpty(); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsChecksTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsChecksTest.java index 4b9a3e92e1d..8f37ac39550 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsChecksTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsChecksTest.java @@ -32,6 +32,7 @@ import org.sonar.api.rule.RuleKey; import org.sonar.check.Rule; import org.sonar.javascript.checks.CheckList; +import org.sonar.plugins.javascript.api.Check; import org.sonar.plugins.javascript.api.CustomRuleRepository; import org.sonar.plugins.javascript.api.EslintBasedCheck; import org.sonar.plugins.javascript.api.JavaScriptCheck; @@ -44,7 +45,7 @@ class JsTsChecksTest { void test() { JsTsChecks checks = new JsTsChecks(checkFactory(CheckList.TS_REPOSITORY_KEY, "S3923")); - assertThat(checks.ruleKeyByEslintKey("no-all-duplicated-branches", TYPESCRIPT)) + assertThat(checks.ruleKeyByEslintKey("S3923", TYPESCRIPT)) .isEqualTo(RuleKey.of("typescript", "S3923")); assertThat(checks.ruleKeyByEslintKey("unknown-rule-key", JAVASCRIPT)).isNull(); } @@ -56,7 +57,7 @@ void should_add_custom_check() { new CustomRuleRepository[] { new TsRepository(), new JsRepository() } ); assertThat(checks.eslintBasedChecks()).hasSize(1); - assertThat(checks.ruleKeyByEslintKey("key", TYPESCRIPT)) + assertThat(checks.ruleKeyByEslintKey("customcheck", TYPESCRIPT)) .isEqualTo(RuleKey.parse("repo:customcheck")); } @@ -69,9 +70,9 @@ void should_add_custom_active_checks() { new CustomRuleRepository[] { new TsRepository(), new JsRepository() } ); assertThat(checks.eslintBasedChecks()).hasSize(2); - assertThat(checks.ruleKeyByEslintKey("key", JAVASCRIPT)) + assertThat(checks.ruleKeyByEslintKey("customcheck", JAVASCRIPT)) .isEqualTo(RuleKey.parse("js-repo:customcheck")); - assertThat(checks.ruleKeyByEslintKey("key", TYPESCRIPT)) + assertThat(checks.ruleKeyByEslintKey("customcheck", TYPESCRIPT)) .isEqualTo(RuleKey.parse("repo:customcheck")); } @@ -124,11 +125,7 @@ public List> checkClasses() { @TypeScriptRule @JavaScriptRule @Rule(key = "customcheck") - public static class CustomTsCheck implements EslintBasedCheck { + public static class CustomTsCheck extends Check { - @Override - public String eslintKey() { - return "key"; - } } } diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsSensorTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsSensorTest.java index a3da7a8c22b..3b6ae5ba25b 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsSensorTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/JsTsSensorTest.java @@ -202,7 +202,7 @@ void should_analyse() throws Exception { assertThat(logTester.logs(Level.DEBUG)) .contains( String.format( - "Saving issue for rule no-all-duplicated-branches on file %s at line 1", + "Saving issue for rule S3923 on file %s at line 1", inputFile ) ); @@ -990,8 +990,8 @@ private AnalysisResponse createResponse() { private String createIssues() { return ( "issues: [{" + - "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + - "{\"line\":1,\"column\":1,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Line issue message\", \"secondaryLocations\": []" + + "\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + + "{\"line\":1,\"column\":1,\"ruleId\":\"S3923\",\"message\":\"Line issue message\", \"secondaryLocations\": []" + "}]" ); } diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/QuickFixSupportTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/QuickFixSupportTest.java index 8b53396072a..98cd4eeb173 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/QuickFixSupportTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/QuickFixSupportTest.java @@ -128,7 +128,7 @@ void test() { static Issue issueWithQuickFix() { var quickFixEdit = new QuickFixEdit(";", new IssueLocation(1, 2, 3, 4, "")); var quickFix = new QuickFix("QuickFix message", List.of(quickFixEdit)); - var issue = new Issue(1, 1, 1, 1,"", "no-extra-semi", List.of(), 1.0, List.of(quickFix)); + var issue = new Issue(1, 1, 1, 1,"", "S1116", List.of(), 1.0, List.of(quickFix)); return issue; } @@ -147,7 +147,7 @@ void test_old_version() { @Test void test_null() { var context = createContext(Version.create(6, 3)); - var issue = new Issue(1, 1, 1, 1,"", "no-extra-semi", List.of(), 1.0, List.of()); + var issue = new Issue(1, 1, 1, 1,"", "S1116", List.of(), 1.0, List.of()); var response = new AnalysisResponse(null, List.of(issue), List.of(), List.of(), new Metrics(), List.of(), List.of(), null); var issueCaptor = ArgumentCaptor.forClass(DefaultSonarLintIssue.class); diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/YamlSensorTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/YamlSensorTest.java index 7b3d985e672..b8fc60353f2 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/YamlSensorTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/analysis/YamlSensorTest.java @@ -126,8 +126,8 @@ void should_have_descriptor() throws Exception { void should_create_issues() throws Exception { AnalysisResponse expectedResponse = response( "{ issues: [" + - "{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + - "{\"line\":1,\"column\":1,\"ruleId\":\"no-all-duplicated-branches\",\"message\":\"Line issue message\", \"secondaryLocations\": []}" + + "{\"line\":1,\"column\":2,\"endLine\":3,\"endColumn\":4,\"ruleId\":\"S3923\",\"message\":\"Issue message\", \"secondaryLocations\": []}," + + "{\"line\":1,\"column\":1,\"ruleId\":\"S3923\",\"message\":\"Line issue message\", \"secondaryLocations\": []}" + "]}" ); when(bridgeServerMock.analyzeYaml(any())).thenReturn(expectedResponse); diff --git a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLintTest.java b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLintTest.java index 9a71c045542..87df4f47c5c 100644 --- a/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLintTest.java +++ b/sonar-plugin/sonar-javascript-plugin/src/test/java/org/sonar/plugins/javascript/utils/RulesMetadataForSonarLintTest.java @@ -93,7 +93,7 @@ void test() throws Exception { " }\n" + " ],\n" + " \"scope\": \"MAIN\",\n" + - " \"eslintKey\": \"quotes\",\n" + + " \"eslintKey\": \"S1441\",\n" + " \"activatedByDefault\": false\n" + " },\n" + " {\n" +