Add eslint report to sonar
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 10 Oct 2022 06:33:39 +0000 (08:33 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 10 Oct 2022 06:33:39 +0000 (08:33 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
.eslintrc.js
.github/workflows/ci.yml
.gitignore
.prettierignore
benchmarks/internal/benchmark-utils.js
package.json
sonar-project.properties
tests/test-utils.js

index 3e37aad4f2342d6c9ccbe987a11bc3ff003a2a04..11fb2803e0eac7e59ca325948ae07cfc521a07a3 100644 (file)
@@ -49,6 +49,7 @@ module.exports = defineConfig({
           'readonly',
           'serializable',
           'sinon',
+          'tsconfig',
           'unregister',
           'workerpool'
         ],
index ebd5d4096304254fa0a0461dc5d8d94ebb2a6f7a..776fa1ec15293255b683b0f98ed8737aec8ba1da 100644 (file)
@@ -45,6 +45,7 @@ jobs:
         run: |
           npm run test
           npm run coverage
+          npm run lint:report
         env:
           CI: true
 
index edec4c70849a4ee012c78ca4af8e01cf7585b7e9..99b9a2c2fef7c56ee9b60e9c04cfccd687666eb0 100644 (file)
@@ -71,5 +71,6 @@ build/config.gypi
 .eslintcache
 .history/
 .scannerwork
-lib
 *.bak
+lib
+reports
index 9ba2f434622eb87e8506a717ead6cf082d33d5c6..99d9d1f95d95226f3bda99114a500b5b96e2dc71 100644 (file)
@@ -1,5 +1,6 @@
 .nyc_output/
 coverage/
+reports/
 docs/
 outputs/
 lib/
index 6c9e23aab93f8b239d2e4505f7e30aa9bf81a16a..7cb4e54f500283d5c5da6e69b743f5b851ba344e 100644 (file)
@@ -40,14 +40,28 @@ function generateRandomInteger (max, min = 0) {
 /**
  * Intentionally inefficient implementation.
  *
- * @param {number} n
- * @returns {number}
+ * @param {number} n - The number of fibonacci numbers to generate.
+ * @returns {number} - The nth fibonacci number.
  */
 function fibonacci (n) {
   if (n <= 1) return 1
   return fibonacci(n - 1) + fibonacci(n - 2)
 }
 
+/**
+ * Intentionally inefficient implementation.
+ *
+ * @param {number} n - The number to calculate the factorial of.
+ * @returns {number} - The factorial of n.
+ */
+function factorial (n) {
+  if (n === 0) {
+    return 1
+  } else {
+    return factorial(n - 1) * n
+  }
+}
+
 const LIST_FORMATTER = new Intl.ListFormat('en-US', {
   style: 'long',
   type: 'conjunction'
@@ -58,5 +72,6 @@ module.exports = {
   jsonIntegerSerialization,
   generateRandomInteger,
   fibonacci,
+  factorial,
   LIST_FORMATTER
 }
index 65d18ef1dd58289832cb46b8602b1fd74f50c1cc..9280e8e29d7586511d14aa6c8018367a084df71e 100644 (file)
@@ -18,6 +18,7 @@
     "format": "prettier --loglevel silent --write .; prettierx --write .",
     "lint": "eslint . --cache",
     "lint:fix": "eslint . --cache --fix",
+    "lint:report": "eslint . --cache --format json --output-file reports/eslint.json",
     "typedoc": "typedoc",
     "sonar:properties": "./updateSonarProps.sh",
     "prepublishOnly": "npm run build:prod"
index 57349f64f9bc53098ec153c4c58b2d71362a36ee..b0039990fc56e61ae148367e4038ffad89efd26f 100644 (file)
@@ -1,6 +1,7 @@
 sonar.projectKey=pioardi_poolifier
 sonar.organization=pioardi
 sonar.javascript.lcov.reportPaths=coverage/lcov.info
+sonar.eslint.reportPaths=reports/eslint.json
 sonar.projectName=poolifier
 sonar.projectVersion=2.2.2
 sonar.host.url=https://sonarcloud.io
index e63e14f2987748d61030ad964588df864958f3a6..4dace47e4f1412106c4f954659d2721c06875a1e 100644 (file)
@@ -46,8 +46,8 @@ class TestUtils {
   /**
    * Intentionally inefficient implementation.
    *
-   * @param {number} n
-   * @returns {number}
+   * @param {number} n - The number of fibonacci numbers to generate.
+   * @returns {number} - The nth fibonacci number.
    */
   static fibonacci (n) {
     if (n <= 1) return 1
@@ -57,8 +57,8 @@ class TestUtils {
   /**
    * Intentionally inefficient implementation.
    *
-   * @param {number} n
-   * @returns {number}
+   * @param {number} n - The number to calculate the factorial of.
+   * @returns {number} - The factorial of n.
    */
   static factorial (n) {
     if (n === 0) {