diff --git a/.github/workflows/sonarqube.yaml b/.github/workflows/sonarqube.yaml new file mode 100644 index 0000000000..897720f0cb --- /dev/null +++ b/.github/workflows/sonarqube.yaml @@ -0,0 +1,25 @@ +name: Build +on: + push: + branches: + - main + pull_request: + types: [opened, synchronize, reopened] +jobs: + sonarqube: + name: SonarQube + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: SonarQube Scan + uses: SonarSource/sonarqube-scan-action@v4 + with: + args: > + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + - name: SonarQube Quality Gate + uses: SonarSource/sonarqube-quality-gate-action@v1 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/package.json b/package.json index 53435f84f6..43140b474e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "url": "https://github.com/inovex/scrumlr.io/issues", "email": "info@scrumlr.io" }, - "version": "3.10.2", + "version": "3.10.3", "private": true, "license": "MIT", "dependencies": { @@ -61,7 +61,7 @@ "@types/i18next-fs-backend": "^1.1.5", "@types/jest": "^29.5.14", "@types/js-cookie": "^3.0.6", - "@types/node": "^22.10.7", + "@types/node": "^22.10.9", "@types/qrcode.react": "^3.0.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000000..e2aed02dd0 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,15 @@ +sonar.projectKey=scrumlr_scrumlr +sonar.organization=scrumlr + +# This is the name and version displayed in the SonarCloud UI. +#sonar.projectName=scrumlr +#sonar.projectVersion=1.0 + + +# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. +#sonar.sources=. + +# Encoding of the source code. Default is default system encoding +#sonar.sourceEncoding=UTF-8 + +sonar.typescript.tsconfigPath=tsconfig.json diff --git a/src/index.tsx b/src/index.tsx index 12705c371c..3f39112b15 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,7 +1,6 @@ import React, {Suspense} from "react"; import {createRoot} from "react-dom/client"; import {Provider} from "react-redux"; -import Clarity from "@microsoft/clarity"; import "index.scss"; import {CookieNotice} from "components/CookieNotice"; import {store} from "store"; @@ -51,7 +50,8 @@ const root = createRoot(document.getElementById("root") as HTMLDivElement); // If clarity ID is set and not empty in env variables, initialize Clarity if (CLARITY_ID && CLARITY_ID !== "") { - Clarity.init(CLARITY_ID); + // TODO: tracking, including storing data using third party services has to be explicitly opt in! + // Clarity.init(CLARITY_ID); } root.render( diff --git a/yarn.lock b/yarn.lock index 949d062b14..3a6efe1abb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2478,10 +2478,10 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/node@*", "@types/node@^22.10.7": - version "22.10.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.7.tgz#14a1ca33fd0ebdd9d63593ed8d3fbc882a6d28d7" - integrity sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg== +"@types/node@*", "@types/node@^22.10.9": + version "22.10.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.9.tgz#b62b5e8485b9b412262466209280405525320108" + integrity sha512-Ir6hwgsKyNESl/gLOcEz3krR4CBGgliDqBQ2ma4wIhEx0w+xnoeTq3tdrNw15kU3SxogDjOgv9sqdtLW8mIHaw== dependencies: undici-types "~6.20.0"