diff --git a/.github/workflows/backplane-release.yml b/.github/workflows/backplane-release.yml index 196304e..27ee06a 100644 --- a/.github/workflows/backplane-release.yml +++ b/.github/workflows/backplane-release.yml @@ -5,17 +5,21 @@ on: - main - alpha - beta + +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: - dotnet-version: 6.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore working-directory: ./src/Finos.Fdc3.Backplane @@ -27,7 +31,7 @@ jobs: working-directory: ./src/Finos.Fdc3.Backplane - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: latest cache: 'npm' @@ -44,4 +48,4 @@ jobs: GIT_COMMITTER_NAME: manish-nwm GIT_COMMITTER_EMAIL: manish.bhutani@natwestmarkets.com run: npx semantic-release - working-directory: ./src/Finos.Fdc3.Backplane \ No newline at end of file + working-directory: ./src/Finos.Fdc3.Backplane diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 9f51259..906325f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -42,11 +42,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -60,7 +60,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 # â„šī¸ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -73,6 +73,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/cve-scanning.yml b/.github/workflows/cve-scanning.yml new file mode 100644 index 0000000..fa04e9c --- /dev/null +++ b/.github/workflows/cve-scanning.yml @@ -0,0 +1,70 @@ +name: CVE Scanning + +on: + push: + branches: [main, alpha, beta] + paths: + - '**/*.csproj' + - '**/*.sln' + - '**/*.slnx' + - '**/Directory.Packages.props' + - '**/Directory.Build.props' + - '**/Directory.Build.targets' + - '**/packages.lock.json' + - '**/global.json' + - '**/NuGet.config' + - '**/nuget.config' + - '.github/workflows/cve-scanning.yml' + pull_request: + branches: [main, alpha, beta] + paths: + - '**/*.csproj' + - '**/*.sln' + - '**/*.slnx' + - '**/Directory.Packages.props' + - '**/Directory.Build.props' + - '**/Directory.Build.targets' + - '**/packages.lock.json' + - '**/global.json' + - '**/NuGet.config' + - '**/nuget.config' + - '.github/workflows/cve-scanning.yml' + schedule: + - cron: '17 5 * * 1' + workflow_dispatch: + +permissions: + contents: read + +jobs: + dotnet: + name: .NET dependencies + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Setup .NET + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 + with: + dotnet-version: 10.0.x + + - name: Restore dependencies + run: dotnet restore Finos.Fdc3.Backplane.sln + + - name: Scan direct and transitive dependencies + shell: bash + run: | + set -o pipefail + dotnet list Finos.Fdc3.Backplane.sln package \ + --vulnerable \ + --include-transitive \ + --format json | tee vulnerability-report.json + + jq -e ' + [ .projects[]?.frameworks[]? + | ((.topLevelPackages // []) + (.transitivePackages // []))[]? + | select((.vulnerabilities // []) | length > 0) + ] | length == 0 + ' vulnerability-report.json diff --git a/.github/workflows/dot-net-build.yml b/.github/workflows/dot-net-build.yml index aefc61c..1bb44bf 100644 --- a/.github/workflows/dot-net-build.yml +++ b/.github/workflows/dot-net-build.yml @@ -14,16 +14,19 @@ on: - alpha - beta +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: - dotnet-version: 6.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore - name: Build diff --git a/.github/workflows/dotnet-cve-scanning.yml b/.github/workflows/dotnet-cve-scanning.yml deleted file mode 100644 index ac7b309..0000000 --- a/.github/workflows/dotnet-cve-scanning.yml +++ /dev/null @@ -1,43 +0,0 @@ -# This workflow will scan a .NET project -# For more information see: https://devblogs.microsoft.com/nuget/how-to-scan-nuget-packages-for-security-vulnerabilities/#dotnet-cli - -name: .net cve checks -on: - push: - branches: - - main - - alpha - - beta - paths: - - '**/*.csproj' - - '.github/workflows/dotnet-cve-scanning.yml' - pull_request: - branches: - - main - - alpha - - beta - paths: - - '**/*.csproj' - - '.github/workflows/dotnet-cve-scanning.yml' - -jobs: - scan: - strategy: - matrix: - project-folder: ["Finos.Fdc3.Backplane.Client", "Finos.Fdc3.Backplane.DTO", "Finos.Fdc3.Backplane"] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 6.0.x - - name: Restore dependencies - run: dotnet restore - working-directory: src/${{ matrix.project-folder }} - - name: Scan - run: dotnet list package --vulnerable --include-transitive | tee vulnerable.out - working-directory: src/${{ matrix.project-folder }} - - name: Parse result - run: test `grep -cm 1 'has the following vulnerable packages' vulnerable.out` = 0 - working-directory: src/${{ matrix.project-folder }} diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 0828414..dbefa1d 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -10,6 +10,10 @@ on: - main - alpha - beta + +permissions: + contents: write + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" @@ -20,10 +24,12 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Doxygen Action - uses: mattnotmitt/doxygen-action@v1.1.0 + uses: mattnotmitt/doxygen-action@b84fe17600245bb5db3d6c247cc274ea98c15a3b # 1.12.0 with: # Path to Doxyfile doxyfile-path: "./Doxyfile" # default is ./Doxyfile @@ -31,7 +37,7 @@ jobs: working-directory: "." # default is . - name: Deploy - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4.1.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} # Default Doxyfile build documentation to html directory. diff --git a/.github/workflows/node-cve-scanning.yml b/.github/workflows/node-cve-scanning.yml index efab281..b067dfa 100644 --- a/.github/workflows/node-cve-scanning.yml +++ b/.github/workflows/node-cve-scanning.yml @@ -8,7 +8,6 @@ on: paths: - 'src/Finos.Fdc3.Backplane.Client.JS/package.json' - 'src/Finos.Fdc3.Backplane.Client.JS/package-lock.json' - - 'src/Finos.Fdc3.Backplane.Client.JS/allow-list.json' - '.github/workflows/node-cve-scanning.yml' pull_request: branches: @@ -18,24 +17,29 @@ on: paths: - 'src/Finos.Fdc3.Backplane.Client.JS/package.json' - 'src/Finos.Fdc3.Backplane.Client.JS/package-lock.json' - - 'src/Finos.Fdc3.Backplane.Client.JS/allow-list.json' - '.github/workflows/node-cve-scanning.yml' + schedule: + - cron: '37 5 * * 1' + workflow_dispatch: + +permissions: + contents: read jobs: scan: runs-on: ubuntu-latest strategy: matrix: - node-version: [16.x] + node-version: [22.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ matrix.node-version }} cache: 'npm' cache-dependency-path: '**/package-lock.json' - run: npm ci --omit dev working-directory: src/Finos.Fdc3.Backplane.Client.JS - - run: npx --yes auditjs ossi --whitelist allow-list.json + - run: npm audit --omit dev --audit-level high working-directory: src/Finos.Fdc3.Backplane.Client.JS diff --git a/.github/workflows/node-license-scanning.yml b/.github/workflows/node-license-scanning.yml index 063826f..b0b9ae4 100644 --- a/.github/workflows/node-license-scanning.yml +++ b/.github/workflows/node-license-scanning.yml @@ -20,16 +20,19 @@ on: - 'src/Finos.Fdc3.Backplane.Client.JS/package-lock.json' - '.github/workflows/node-license-scanning.yml' +permissions: + contents: read + jobs: scan: runs-on: ubuntu-latest strategy: matrix: - node-version: [16.x] + node-version: [22.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ matrix.node-version }} cache: 'npm' diff --git a/.github/workflows/npm-build.yml b/.github/workflows/npm-build.yml index dbc617d..5c5ffc7 100644 --- a/.github/workflows/npm-build.yml +++ b/.github/workflows/npm-build.yml @@ -11,19 +11,22 @@ on: - alpha - beta +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest strategy: matrix: - node-version: [16.x, 18.x] + node-version: [22.x, 24.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: ${{ matrix.node-version }} cache: 'npm' diff --git a/.github/workflows/npm-release.yml b/.github/workflows/npm-release.yml index a15f944..29010ff 100644 --- a/.github/workflows/npm-release.yml +++ b/.github/workflows/npm-release.yml @@ -5,18 +5,22 @@ on: - main - alpha - beta + +permissions: + contents: read + jobs: release: name: Release runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: latest cache: 'npm' diff --git a/.github/workflows/nuget-release.yml b/.github/workflows/nuget-release.yml index 0293cf4..f3dbff6 100644 --- a/.github/workflows/nuget-release.yml +++ b/.github/workflows/nuget-release.yml @@ -5,23 +5,27 @@ on: - main - alpha - beta + +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Setup .NET - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 with: - dotnet-version: 6.0.x + dotnet-version: 10.0.x - name: Restore dependencies run: dotnet restore working-directory: ./src/Finos.Fdc3.Backplane.Client - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: latest cache: 'npm' diff --git a/src/Finos.Fdc3.Backplane.Client.JS/allow-list.json b/src/Finos.Fdc3.Backplane.Client.JS/allow-list.json deleted file mode 100644 index e634747..0000000 --- a/src/Finos.Fdc3.Backplane.Client.JS/allow-list.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ignore": [ - { "id": "sonatype-2022-3677", "reason": "Low score (3.7) and no way to update it as its transitive of @microsoft/signalr" }, - { "id": "sonatype-2019-0206", "reason": "execa@1.0.0 can be ignored as it's a devDependency" }, - { "id": "CVE-2020-7789", "reason": "node-notifier@6.0.0 can be ignored as it's a devDependency" }, - { "id": "sonatype-2017-0655", "reason": "request@2.88.2 can be ignored as it's a devDependency" }, - { "id": "sonatype-2014-0038", "reason": "shelljs@0.8.5 can be ignored as it's a devDependency" }, - { "id": "sonatype-2021-0459", "reason": "unset-value@1.0.0 can be ignored as it's a devDependency" } - ] -} diff --git a/src/Finos.Fdc3.Backplane.Client.JS/package-lock.json b/src/Finos.Fdc3.Backplane.Client.JS/package-lock.json index e70891e..ca0a987 100644 --- a/src/Finos.Fdc3.Backplane.Client.JS/package-lock.json +++ b/src/Finos.Fdc3.Backplane.Client.JS/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@finos/fdc3": "^1.2.0", - "@microsoft/signalr": "^6.0.10", + "@microsoft/signalr": "^10.0.11", "uuid-random": "^1.3.2" }, "devDependencies": { @@ -24,7 +24,7 @@ "typescript": "^4.8.3" }, "engines": { - "node": ">=10" + "node": ">=22" } }, "node_modules/@ampproject/remapping": { @@ -2273,16 +2273,16 @@ } }, "node_modules/@microsoft/signalr": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-6.0.11.tgz", - "integrity": "sha512-5flnqEgl+7AK3+NCcavmzC4AKRt1bqa/T3zd8acyQRf/VyUe2nsFgSdaXQKZx4z3v8OIe1aQloRDvDEI4JjpAg==", + "version": "10.0.11", + "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-10.0.11.tgz", + "integrity": "sha512-FulOJ2EEtKvLQcswe/U7v8pzyXyk7Jua5xgWJPPwyQU/2Z9ORvKcVjyO75VvLsem+CJ1ORRexJ+7Bz1FCei2aw==", "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", - "eventsource": "^1.0.7", - "fetch-cookie": "^0.11.0", + "eventsource": "^2.0.2", + "fetch-cookie": "^2.0.3", "node-fetch": "^2.6.7", - "ws": "^7.4.5" + "ws": "^7.5.10" } }, "node_modules/@nodelib/fs.scandir": { @@ -5231,31 +5231,6 @@ "dev": true, "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6257,12 +6232,12 @@ } }, "node_modules/eventsource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz", - "integrity": "sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">=12.0.0" } }, "node_modules/exec-sh": { @@ -6513,21 +6488,19 @@ } }, "node_modules/fetch-cookie": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.11.0.tgz", - "integrity": "sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-2.2.0.tgz", + "integrity": "sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==", "license": "Unlicense", "dependencies": { - "tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0" - }, - "engines": { - "node": ">=8" + "set-cookie-parser": "^2.4.8", + "tough-cookie": "^4.0.0" } }, "node_modules/fetch-cookie/node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", @@ -6760,6 +6733,21 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -15211,6 +15199,12 @@ "dev": true, "license": "ISC" }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -17529,9 +17523,9 @@ } }, "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "license": "MIT", "engines": { "node": ">=8.3.0" @@ -19188,15 +19182,15 @@ } }, "@microsoft/signalr": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-6.0.11.tgz", - "integrity": "sha512-5flnqEgl+7AK3+NCcavmzC4AKRt1bqa/T3zd8acyQRf/VyUe2nsFgSdaXQKZx4z3v8OIe1aQloRDvDEI4JjpAg==", + "version": "10.0.11", + "resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-10.0.11.tgz", + "integrity": "sha512-FulOJ2EEtKvLQcswe/U7v8pzyXyk7Jua5xgWJPPwyQU/2Z9ORvKcVjyO75VvLsem+CJ1ORRexJ+7Bz1FCei2aw==", "requires": { "abort-controller": "^3.0.0", - "eventsource": "^1.0.7", - "fetch-cookie": "^0.11.0", + "eventsource": "^2.0.2", + "fetch-cookie": "^2.0.3", "node-fetch": "^2.6.7", - "ws": "^7.4.5" + "ws": "^7.5.10" } }, "@nodelib/fs.scandir": { @@ -21324,28 +21318,6 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -22053,9 +22025,9 @@ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, "eventsource": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz", - "integrity": "sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==" }, "exec-sh": { "version": "0.3.6", @@ -22255,17 +22227,18 @@ } }, "fetch-cookie": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.11.0.tgz", - "integrity": "sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-2.2.0.tgz", + "integrity": "sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==", "requires": { - "tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0" + "set-cookie-parser": "^2.4.8", + "tough-cookie": "^4.0.0" }, "dependencies": { "tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -22419,6 +22392,13 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -28381,6 +28361,11 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==" + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -30110,9 +30095,9 @@ } }, "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.13.tgz", + "integrity": "sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==", "requires": {} }, "xml-name-validator": { diff --git a/src/Finos.Fdc3.Backplane.Client.JS/package.json b/src/Finos.Fdc3.Backplane.Client.JS/package.json index 3d1aba7..f2dc031 100644 --- a/src/Finos.Fdc3.Backplane.Client.JS/package.json +++ b/src/Finos.Fdc3.Backplane.Client.JS/package.json @@ -19,7 +19,7 @@ "src" ], "engines": { - "node": ">=10" + "node": ">=22" }, "scripts": { "start": "tsdx watch", @@ -58,7 +58,7 @@ }, "dependencies": { "@finos/fdc3": "^1.2.0", - "@microsoft/signalr": "^6.0.10", + "@microsoft/signalr": "^10.0.11", "uuid-random": "^1.3.2" } }