diff --git a/front/.scannerwork/.sonar_lock b/front/.scannerwork/.sonar_lock new file mode 100644 index 000000000..e69de29bb diff --git a/front/.scannerwork/.sonartmp/scanner-report5759650904677852678.zip b/front/.scannerwork/.sonartmp/scanner-report5759650904677852678.zip new file mode 100644 index 000000000..c2ef06e29 Binary files /dev/null and b/front/.scannerwork/.sonartmp/scanner-report5759650904677852678.zip differ diff --git a/front/.scannerwork/report-task.txt b/front/.scannerwork/report-task.txt new file mode 100644 index 000000000..86d80cd88 --- /dev/null +++ b/front/.scannerwork/report-task.txt @@ -0,0 +1,6 @@ +projectKey=bobapp +serverUrl=https://b28e-2a01-e0a-2d-a090-41d3-2457-aed5-3965.ngrok-free.app +serverVersion=10.2.1.78527 +dashboardUrl=https://b28e-2a01-e0a-2d-a090-41d3-2457-aed5-3965.ngrok-free.app/dashboard?id=bobapp +ceTaskId=AYtg5lllaLpwacgQz9fM +ceTaskUrl=https://b28e-2a01-e0a-2d-a090-41d3-2457-aed5-3965.ngrok-free.app/api/ce/task?id=AYtg5lllaLpwacgQz9fM diff --git a/front/package-lock.json b/front/package-lock.json index c5358d9fe..1f2a8cb87 100644 --- a/front/package-lock.json +++ b/front/package-lock.json @@ -34,6 +34,7 @@ "karma-jasmine": "5.1.0", "karma-jasmine-html-reporter": "2.0.0", "sonarqube": "^0.0.1", + "sonarqube-scanner": "^3.1.0", "typescript": "4.8.2" } }, @@ -3339,6 +3340,15 @@ "node": ">=8.9.0" } }, + "node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -5722,6 +5732,18 @@ "node": ">=4" } }, + "node_modules/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", + "dev": true, + "dependencies": { + "color-support": "^1.1.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -8064,6 +8086,18 @@ "dev": true, "optional": true }, + "node_modules/node-downloader-helper": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.9.tgz", + "integrity": "sha512-FSvAol2Z8UP191sZtsUZwHIN0eGoGue3uEXGdWIH5228e9KH1YHXT7fN8Oa33UGf+FbqGTQg3sJfrRGzmVCaJA==", + "dev": true, + "bin": { + "ndh": "bin/ndh" + }, + "engines": { + "node": ">=14.18" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -9582,6 +9616,15 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -10504,6 +10547,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -10599,6 +10651,67 @@ "integrity": "sha512-VohuYExr2bkTUjXmuMcuS7hOSBEsJ2SbZq492Ti2mgYJWxyUFETSyTWOyIF3suCvnVbmDoIZiGwyIyLPTABchw==", "dev": true }, + "node_modules/sonarqube-scanner": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.1.0.tgz", + "integrity": "sha512-7CspErch2pVwFrC9aM7NminyI0+OQmFz0V5IHJtC7FLM0cbKA2MnlsvfGfqZekqxMmxbWcybZ/izou4nQh9nMQ==", + "dev": true, + "dependencies": { + "adm-zip": "^0.5.10", + "fancy-log": "^2.0.0", + "https-proxy-agent": "^7.0.1", + "mkdirp": "^3.0.1", + "node-downloader-helper": "^2.1.9", + "progress": "^2.0.3", + "slugify": "^1.6.6" + }, + "bin": { + "sonar-scanner": "src/bin/sonar-scanner" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sonarqube-scanner/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sonarqube-scanner/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sonarqube-scanner/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -14310,6 +14423,12 @@ } } }, + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "dev": true + }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -15982,6 +16101,15 @@ "tmp": "^0.0.33" } }, + "fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", + "dev": true, + "requires": { + "color-support": "^1.1.3" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -17743,6 +17871,12 @@ "dev": true, "optional": true }, + "node-downloader-helper": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.9.tgz", + "integrity": "sha512-FSvAol2Z8UP191sZtsUZwHIN0eGoGue3uEXGdWIH5228e9KH1YHXT7fN8Oa33UGf+FbqGTQg3sJfrRGzmVCaJA==", + "dev": true + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -18759,6 +18893,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -19466,6 +19606,12 @@ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true }, + "slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "dev": true + }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -19544,6 +19690,48 @@ "integrity": "sha512-VohuYExr2bkTUjXmuMcuS7hOSBEsJ2SbZq492Ti2mgYJWxyUFETSyTWOyIF3suCvnVbmDoIZiGwyIyLPTABchw==", "dev": true }, + "sonarqube-scanner": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.1.0.tgz", + "integrity": "sha512-7CspErch2pVwFrC9aM7NminyI0+OQmFz0V5IHJtC7FLM0cbKA2MnlsvfGfqZekqxMmxbWcybZ/izou4nQh9nMQ==", + "dev": true, + "requires": { + "adm-zip": "^0.5.10", + "fancy-log": "^2.0.0", + "https-proxy-agent": "^7.0.1", + "mkdirp": "^3.0.1", + "node-downloader-helper": "^2.1.9", + "progress": "^2.0.3", + "slugify": "^1.6.6" + }, + "dependencies": { + "agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true + } + } + }, "source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", diff --git a/front/package.json b/front/package.json index 7723f769b..561ad8a54 100644 --- a/front/package.json +++ b/front/package.json @@ -9,7 +9,8 @@ "test": "ng test --watch=false --code-coverage", "build:prod": "ng build --prod", "lint": "ng lint", - "test:prod": "ng test --browsers=ChromeHeadless --watch=false --code-coverage" + "test:prod": "ng test --browsers=ChromeHeadless --watch=false --code-coverage", + "sonar": "node sonar-project.js" }, "private": true, "dependencies": { @@ -39,6 +40,7 @@ "karma-jasmine": "5.1.0", "karma-jasmine-html-reporter": "2.0.0", "sonarqube": "^0.0.1", + "sonarqube-scanner": "^3.1.0", "typescript": "4.8.2" } } diff --git a/front/sonar-project.js b/front/sonar-project.js new file mode 100644 index 000000000..7339e8972 --- /dev/null +++ b/front/sonar-project.js @@ -0,0 +1,14 @@ +const sonarqubeScanner = require("sonarqube-scanner"); +sonarqubeScanner( + { + serverUrl: "http://localhost:9000", + token: "squ_a5177bdeab7985362d9985cd6354b2b75a81bd7d", // Ajoutez cette ligne + options: { + "sonar.sources": ".", // Indique que la racine du projet est le point de départ de l'analyse. + "sonar.inclusions": "src/**", // Spécifie que seuls les fichiers sous le répertoire packages/core/src/ doivent être inclus dans l'analyse. + "sonar.javascript.lcov.reportPaths": + "coverage/bobapp/report-lcovonly.txt", + }, + }, + () => {} +);