From ea1aa14b8a5daa2f98d945fca4474bd7d1ab90ac Mon Sep 17 00:00:00 2001 From: Ambroise C Date: Thu, 16 May 2024 15:37:05 +0200 Subject: [PATCH] NO-JIRA Add eslint rule to error on missing header (and auto-fix it) --- server/sonar-web/.eslintrc | 28 +++++++++++++++++++++++++++- server/sonar-web/package.json | 1 + server/sonar-web/yarn.lock | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/server/sonar-web/.eslintrc b/server/sonar-web/.eslintrc index e249b4c013b..eb719ac425b 100644 --- a/server/sonar-web/.eslintrc +++ b/server/sonar-web/.eslintrc @@ -1,6 +1,6 @@ { "extends": "sonarqube", - "plugins": ["eslint-plugin-local-rules"], + "plugins": ["header", "eslint-plugin-local-rules"], "ignorePatterns": ["eslint-local-rules/**/*"], "root": true, "parserOptions": { @@ -9,6 +9,32 @@ "rules": { "camelcase": "off", "promise/no-return-wrap": "warn", + "header/header": [ + "error", + "block", + [ + "", + " * SonarQube", + " * Copyright (C) 2009-2024 SonarSource SA", + " * mailto:info AT sonarsource DOT com", + " *", + " * This program is free software; you can redistribute it and/or", + " * modify it under the terms of the GNU Lesser General Public", + " * License as published by the Free Software Foundation; either", + " * version 3 of the License, or (at your option) any later version.", + " *", + " * This program is distributed in the hope that it will be useful,", + " * but WITHOUT ANY WARRANTY; without even the implied warranty of", + " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU", + " * Lesser General Public License for more details.", + " *", + " * You should have received a copy of the GNU Lesser General Public License", + " * along with this program; if not, write to the Free Software Foundation,", + " * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.", + " " + ], + 1 + ], "react/forbid-elements": [ "warn", { diff --git a/server/sonar-web/package.json b/server/sonar-web/package.json index 5411b52fef5..145641edd45 100644 --- a/server/sonar-web/package.json +++ b/server/sonar-web/package.json @@ -86,6 +86,7 @@ "esbuild": "0.20.0", "eslint": "8.56.0", "eslint-config-sonarqube": "2.1.3", + "eslint-plugin-header": "3.1.1", "eslint-plugin-import": "2.29.1", "eslint-plugin-jest": "27.6.3", "eslint-plugin-jest-dom": "5.1.0", diff --git a/server/sonar-web/yarn.lock b/server/sonar-web/yarn.lock index 2601fdc6ef7..d832635ff5d 100644 --- a/server/sonar-web/yarn.lock +++ b/server/sonar-web/yarn.lock @@ -5810,6 +5810,7 @@ __metadata: esbuild: "npm:0.20.0" eslint: "npm:8.56.0" eslint-config-sonarqube: "npm:2.1.3" + eslint-plugin-header: "npm:3.1.1" eslint-plugin-import: "npm:2.29.1" eslint-plugin-jest: "npm:27.6.3" eslint-plugin-jest-dom: "npm:5.1.0" -- 2.39.5