From b22835545dc7893fbbcc3f4b30b26dec1e1cd705 Mon Sep 17 00:00:00 2001 From: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Date: Sat, 23 Dec 2023 11:05:14 -0800 Subject: [PATCH] Replaces eslint radar with sonarjs (#80454) ## About The Pull Request Radar is deprecated and a poor linter. [Sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs) is the (maintained) successor This replaces it ## Why It's Good For The Game Better dev tools and no more error during build ## Changelog N/A nothing player facing --- tgui/.eslintrc-sonar.yml | 27 +-------------------------- tgui/.eslintrc.yml | 2 +- tgui/package.json | 4 ++-- tgui/yarn.lock | 20 ++++++++++---------- 4 files changed, 14 insertions(+), 39 deletions(-) diff --git a/tgui/.eslintrc-sonar.yml b/tgui/.eslintrc-sonar.yml index 3cdd49f889e..ebc57f72c00 100644 --- a/tgui/.eslintrc-sonar.yml +++ b/tgui/.eslintrc-sonar.yml @@ -1,26 +1 @@ -rules: - # radar/cognitive-complexity: error - radar/max-switch-cases: error - radar/no-all-duplicated-branches: error - radar/no-collapsible-if: error - radar/no-collection-size-mischeck: error - radar/no-duplicate-string: error - radar/no-duplicated-branches: error - radar/no-element-overwrite: error - radar/no-extra-arguments: error - radar/no-identical-conditions: error - radar/no-identical-expressions: error - radar/no-identical-functions: error - radar/no-inverted-boolean-check: error - radar/no-one-iteration-loop: error - radar/no-redundant-boolean: error - radar/no-redundant-jump: error - radar/no-same-line-conditional: error - radar/no-small-switch: error - radar/no-unused-collection: error - radar/no-use-of-empty-return-value: error - radar/no-useless-catch: error - radar/prefer-immediate-return: error - radar/prefer-object-literal: error - radar/prefer-single-boolean-return: error - radar/prefer-while: error +extends: 'plugin:sonarjs/recommended' diff --git a/tgui/.eslintrc.yml b/tgui/.eslintrc.yml index 8f588712c0b..24ba4c47fbd 100644 --- a/tgui/.eslintrc.yml +++ b/tgui/.eslintrc.yml @@ -11,7 +11,7 @@ env: browser: true node: true plugins: - - radar + - sonarjs - react - unused-imports - simple-import-sort diff --git a/tgui/package.json b/tgui/package.json index e4027aee2ca..1370aacc48a 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -13,7 +13,7 @@ "tgui:dev": "node --experimental-modules packages/tgui-dev-server/index.js", "tgui:lint": "eslint packages --ext .js,.cjs,.ts,.tsx", "tgui:prettier": "prettier --check .", - "tgui:sonar": "eslint packages --ext .js,.cjs,.ts,.tsx -c .eslintrc-sonar.yml", + "tgui:sonar": "eslint packages -c .eslintrc-sonar.yml", "tgui:test": "jest --watch", "tgui:test-simple": "CI=true jest --color", "tgui:test-ci": "CI=true jest --color --collect-coverage", @@ -32,9 +32,9 @@ "esbuild-loader": "^4.0.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-radar": "^0.2.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-sonarjs": "^0.23.0", "eslint-plugin-unused-imports": "^3.0.0", "file-loader": "^6.2.0", "jest": "^29.7.0", diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 38a8d5dfdb7..dbd951de479 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3995,15 +3995,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-radar@npm:^0.2.1": - version: 0.2.1 - resolution: "eslint-plugin-radar@npm:0.2.1" - peerDependencies: - eslint: ">= 3.0.0 <= 7.x.x" - checksum: dece5c02506ab40a4e231c813f1a8ecd7a57c0a4d177cd35dbfcf56222333d5434a8c06901e8b06409d919b7beeea870428a3574315419252a3698b3766d1a91 - languageName: node - linkType: hard - "eslint-plugin-react@npm:^7.33.2": version: 7.33.2 resolution: "eslint-plugin-react@npm:7.33.2" @@ -4039,6 +4030,15 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-sonarjs@npm:^0.23.0": + version: 0.23.0 + resolution: "eslint-plugin-sonarjs@npm:0.23.0" + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 4f56557740ab438eee8d98e4d93363a8dadcf8d6d795a5d95e6a0b0d6335273a06c5633fe753271c6a56c14a3b0086014b8278984b5594fad5db274ec7fd7edf + languageName: node + linkType: hard + "eslint-plugin-unused-imports@npm:^3.0.0": version: 3.0.0 resolution: "eslint-plugin-unused-imports@npm:3.0.0" @@ -9113,9 +9113,9 @@ resolve@^1.20.0: esbuild-loader: ^4.0.2 eslint: ^8.56.0 eslint-config-prettier: ^9.1.0 - eslint-plugin-radar: ^0.2.1 eslint-plugin-react: ^7.33.2 eslint-plugin-simple-import-sort: ^10.0.0 + eslint-plugin-sonarjs: ^0.23.0 eslint-plugin-unused-imports: ^3.0.0 file-loader: ^6.2.0 jest: ^29.7.0