From 10acea931b9fcaba40ca4627bfbf2d3f4c3dcc7f Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Thu, 2 Oct 2025 21:45:50 -0600 Subject: [PATCH 01/11] chore: fix-slackbot --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 23bed07b14..9b1a502027 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -114,7 +114,7 @@ jobs: payload-delimiter: '_' webhook: ${{ secrets.SLACK_WEBHOOK_URL }} webhook-type: webhook-trigger - payload: steps.changesets.outputs.publishedPackages + payload: $ {{ steps.changesets.outputs.publishedPackages }} - uses: codecov/codecov-action@v5 with: From 3df053644c171bb5b5ce112613c5c3379a208c0e Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Thu, 2 Oct 2025 22:08:42 -0600 Subject: [PATCH 02/11] chore: refactor --- .github/actions/publish-beta/action.yml | 20 ++++++ .github/actions/publish-release/action.yml | 35 ++++++++++ .github/actions/setup/action.yml | 78 ++++++++++++++++++++++ .github/workflows/publish.yml | 69 ++++--------------- 4 files changed, 146 insertions(+), 56 deletions(-) create mode 100644 .github/actions/publish-beta/action.yml create mode 100644 .github/actions/publish-release/action.yml create mode 100644 .github/actions/setup/action.yml diff --git a/.github/actions/publish-beta/action.yml b/.github/actions/publish-beta/action.yml new file mode 100644 index 0000000000..b991627cea --- /dev/null +++ b/.github/actions/publish-beta/action.yml @@ -0,0 +1,20 @@ +name: 'Publish Beta Steps' +description: 'Steps to run when packages are not published (beta branch)' +inputs: + branch: + description: 'Branch/ref for PR creation' + required: false + default: 'main' +runs: + using: 'composite' + steps: + - name: Create PR for beta publish + shell: bash + run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off + + - name: Publish api docs [beta] + uses: JamesIves/github-pages-deploy-action@v4.7.3 + with: + folder: docs + commit-message: 'chore: release-api-docs-beta' + target-folder: 'beta' diff --git a/.github/actions/publish-release/action.yml b/.github/actions/publish-release/action.yml new file mode 100644 index 0000000000..60c2da4e55 --- /dev/null +++ b/.github/actions/publish-release/action.yml @@ -0,0 +1,35 @@ +name: 'Publish Release Steps' +description: 'Steps to run when packages are published' +inputs: + publishedPackages: + description: 'Published packages JSON' + required: true + slackWebhook: + description: 'Slack webhook URL' + required: true +runs: + using: 'composite' + steps: + - name: Format publishedPackages for Slack + id: slackify + shell: bash + run: | + raw='${{ inputs.publishedPackages }}' + message=$(echo "$raw" | jq -r '.[] | "- \(.name) v\(.version)"') + echo "message=$message" >> $GITHUB_OUTPUT + + - name: Send to Slack Workflow + uses: slackapi/slack-github-action@v2.0.0 + with: + webhook: ${{ inputs.slackWebhook }} + webhook-type: webhook-trigger + payload: > + { + "publishedPackages": "${{ steps.slackify.outputs.message }}" + } + + - name: Publish api docs + uses: JamesIves/github-pages-deploy-action@v4.7.3 + with: + folder: docs + commit-message: 'chore: release-api-docs' diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 0000000000..6201a842a0 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,78 @@ +name: 'Setup Project' +description: 'Centralized setup for CI jobs' +inputs: + fetch-depth: + description: 'Git fetch depth' + required: false + default: '0' + token: + description: 'GitHub token' + required: true + node-version-file: + description: 'Node version file' + required: false + default: '.node-version' + pnpm-cache-folder: + description: 'pnpm cache folder' + required: false + default: '.pnpm-store' +runs: + using: 'composite' + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: ${{ inputs.fetch-depth }} + token: ${{ inputs.token }} + + - uses: pnpm/action-setup@v4 + with: + run_install: false + + - uses: actions/setup-node@v4 + with: + node-version-file: ${{ inputs.node-version-file }} + cache: 'pnpm' + registry-url: 'https://registry.npmjs.org' + + - name: Update npm + run: npm install -g npm@latest + shell: bash + + - name: Install dependencies + run: pnpm install --frozen-lockfile + shell: bash + + - name: Nx Cloud start + run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" + shell: bash + + - name: Cache Playwright browsers + uses: actions/cache@v4 + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-playwright- + + - name: Install Playwright + run: pnpm exec playwright install + shell: bash + + - uses: nrwl/nx-set-shas@v4 + + - name: Setup pnpm config + run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} + shell: bash + + - name: Run Nx build/lint/test/e2e + run: pnpm exec nx affected -t build lint test e2e-ci + shell: bash + + - name: Upload Playwright report + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: | + ./**/.playwright/** + retention-days: 30 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9b1a502027..0b7a19d350 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,41 +43,17 @@ jobs: id-token: write # OIDC for provenance if npm publish happens here runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Setup Project + uses: ./.github/actions/setup with: fetch-depth: 0 token: ${{ secrets.GH_TOKEN }} - - uses: pnpm/action-setup@v4 - with: - run_install: false + - uses: actions/setup-node@v5 id: cache with: node-version-file: '.node-version' - cache: 'pnpm' - registry-url: 'https://registry.npmjs.org' - - - name: Update npm - run: npm install -g npm@latest - - - run: pnpm install --frozen-lockfile - - - run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" - - - name: Cache Playwright browsers - uses: actions/cache@v4 - with: - path: ~/.cache/ms-playwright - key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-playwright- - - - run: pnpm exec playwright install - - - uses: nrwl/nx-set-shas@v4 - - - name: setup pnpm config - run: pnpm config set store-dir $PNPM_CACHE_FOLDER + pnpm-cache-folder: .pnpm-store - run: pnpm exec nx affected -t build lint test e2e-ci @@ -107,39 +83,20 @@ jobs: - run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off if: steps.changesets.outputs.published == 'false' - - name: Send GitHub Action data to a Slack workflow + - name: Publish Release Steps if: steps.changesets.outputs.published == 'true' - uses: slackapi/slack-github-action@v2.1.1 + uses: ./.github/actions/publish-release with: - payload-delimiter: '_' - webhook: ${{ secrets.SLACK_WEBHOOK_URL }} - webhook-type: webhook-trigger - payload: $ {{ steps.changesets.outputs.publishedPackages }} + publishedPackages: ${{ steps.changesets.outputs.publishedPackages }} + slackWebhook: ${{ secrets.SLACK_WEBHOOK_URL }} - - uses: codecov/codecov-action@v5 - with: - files: ./packages/**/coverage/*.xml - token: ${{ secrets.CODECOV_TOKEN }} - - - name: Ensure builds run - run: pnpm nx run-many -t build - env: - NX_CLOUD_DISTRIBUTED_EXECUTION: false - - - name: Build docs - run: pnpm generate-docs - - - name: Publish api docs - if: steps.changesets.outputs.published == 'true' - uses: JamesIves/github-pages-deploy-action@v4.7.3 + - name: Publish Beta Steps + if: steps.changesets.outputs.published == 'false' + uses: ./.github/actions/publish-beta with: - folder: docs - commit-message: 'chore: release-api-docs' + branch: main - - name: Publish api docs [beta] - if: steps.changesets.outputs.published == 'false' - id: latest-deploy - uses: JamesIves/github-pages-deploy-action@v4.7.3 + - uses: JamesIves/github-pages-deploy-action@v4.7.3 with: folder: docs commit-message: 'chore: release-api-docs-beta' From a42deac5113007380aea1f314981e0c5ac8588a9 Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Fri, 3 Oct 2025 06:42:52 -0600 Subject: [PATCH 03/11] chore: refactor --- .github/actions/setup/action.yml | 4 +- .github/workflows/publish.yml | 67 +++++--------------------------- 2 files changed, 13 insertions(+), 58 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 6201a842a0..5a7a3aa000 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -28,7 +28,7 @@ runs: with: run_install: false - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version-file: ${{ inputs.node-version-file }} cache: 'pnpm' @@ -45,6 +45,8 @@ runs: - name: Nx Cloud start run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" shell: bash + env: + CODECOV_TOKEN: ${{ env.CODECOV_TOKEN }} - name: Cache Playwright browsers uses: actions/cache@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0b7a19d350..8cd13a8fe8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -37,10 +37,10 @@ jobs: publish-or-pr: if: github.event_name == 'push' permissions: - contents: write # changesets/action + contents: write issues: write pull-requests: write - id-token: write # OIDC for provenance if npm publish happens here + id-token: write runs-on: ubuntu-latest steps: - name: Setup Project @@ -54,18 +54,9 @@ jobs: with: node-version-file: '.node-version' pnpm-cache-folder: .pnpm-store + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - run: pnpm exec nx affected -t build lint test e2e-ci - - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: playwright-report - path: | - ./**/.playwright/** - retention-days: 30 - - - run: git status - name: publish uses: changesets/action@v1 id: changesets @@ -80,9 +71,6 @@ jobs: HOME: ${{ github.workspace }} GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - - run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off - if: steps.changesets.outputs.published == 'false' - - name: Publish Release Steps if: steps.changesets.outputs.published == 'true' uses: ./.github/actions/publish-release @@ -130,51 +118,16 @@ jobs: env: HUSKY: 0 steps: - - uses: actions/checkout@v4 + - name: Setup Project + uses: ./.github/actions/setup with: fetch-depth: 0 ref: ${{ inputs.branch }} - - uses: pnpm/action-setup@v4 - with: - run_install: false - - uses: actions/setup-node@v5 - with: + token: ${{ secrets.GH_TOKEN }} node-version-file: '.node-version' - cache: 'pnpm' - - - name: Update npm - run: npm install -g npm@latest - - - run: pnpm install --frozen-lockfile - - - run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" - - - name: Cache Playwright browsers - uses: actions/cache@v4 - with: - path: ~/.cache/ms-playwright - key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-playwright- - - - run: pnpm exec playwright install - - - uses: nrwl/nx-set-shas@v4 - with: - main-branch-name: main - - - name: setup pnpm config - run: pnpm config set store-dir $PNPM_CACHE_FOLDER - - - run: pnpm exec nx run-many -t build test e2e-ci - - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: playwright-report - path: | - ./**/.playwright/** - retention-days: 30 + pnpm-cache-folder: .pnpm-store + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Version Packages as prerelease run: pnpm changeset version --snapshot ${{ inputs.prerelease }} From 273f4d95e9dd6e9c14c1c72d6961b2a74ae9c2db Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Fri, 3 Oct 2025 10:34:36 -0600 Subject: [PATCH 04/11] fix(github-actions): address review comments for publish workflows --- .github/actions/publish-beta/action.yml | 5 +---- .github/actions/publish-release/action.yml | 4 +++- .github/actions/setup/action.yml | 8 ++++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/actions/publish-beta/action.yml b/.github/actions/publish-beta/action.yml index b991627cea..05aa9cf77c 100644 --- a/.github/actions/publish-beta/action.yml +++ b/.github/actions/publish-beta/action.yml @@ -1,10 +1,7 @@ name: 'Publish Beta Steps' description: 'Steps to run when packages are not published (beta branch)' inputs: - branch: - description: 'Branch/ref for PR creation' - required: false - default: 'main' + runs: using: 'composite' steps: diff --git a/.github/actions/publish-release/action.yml b/.github/actions/publish-release/action.yml index 60c2da4e55..da8e54ae3b 100644 --- a/.github/actions/publish-release/action.yml +++ b/.github/actions/publish-release/action.yml @@ -16,7 +16,9 @@ runs: run: | raw='${{ inputs.publishedPackages }}' message=$(echo "$raw" | jq -r '.[] | "- \(.name) v\(.version)"') - echo "message=$message" >> $GITHUB_OUTPUT + echo "message<> $GITHUB_OUTPUT + echo "$message" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Send to Slack Workflow uses: slackapi/slack-github-action@v2.0.0 diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 5a7a3aa000..38d05241ee 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -38,6 +38,10 @@ runs: run: npm install -g npm@latest shell: bash + - name: Setup pnpm config + run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} --global + shell: bash + - name: Install dependencies run: pnpm install --frozen-lockfile shell: bash @@ -62,10 +66,6 @@ runs: - uses: nrwl/nx-set-shas@v4 - - name: Setup pnpm config - run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} - shell: bash - - name: Run Nx build/lint/test/e2e run: pnpm exec nx affected -t build lint test e2e-ci shell: bash From 9bc0091e5d261b3d75925c7d9b11a24282efa085 Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Mon, 20 Oct 2025 09:30:39 -0400 Subject: [PATCH 05/11] fix(ci): correct pnpm config setup and codecov token Moves the "Setup pnpm config" step to before node setup for better ordering. Updates the CODECOV_TOKEN to use `secrets.CODECOV_TOKEN` instead of `env.CODECOV_TOKEN`. This improves security in the CI workflow. --- .github/actions/setup/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 38d05241ee..996c1c4a1f 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -28,6 +28,10 @@ runs: with: run_install: false + - name: Setup pnpm config + run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} --global + shell: bash + - uses: actions/setup-node@v5 with: node-version-file: ${{ inputs.node-version-file }} @@ -38,10 +42,6 @@ runs: run: npm install -g npm@latest shell: bash - - name: Setup pnpm config - run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} --global - shell: bash - - name: Install dependencies run: pnpm install --frozen-lockfile shell: bash @@ -50,7 +50,7 @@ runs: run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" shell: bash env: - CODECOV_TOKEN: ${{ env.CODECOV_TOKEN }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Cache Playwright browsers uses: actions/cache@v4 From aa97a72b2d2446bcecf2d64f7d64fb6910e8c67d Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Mon, 20 Oct 2025 11:05:12 -0400 Subject: [PATCH 06/11] feat: add fork-safe CI workflow This adds a new GitHub Actions workflow that runs on pull requests from forks. This workflow is designed to be secure by not using any secrets. It runs linting, building, and testing on the affected projects. --- .github/workflows/ci-fork.yml | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/ci-fork.yml diff --git a/.github/workflows/ci-fork.yml b/.github/workflows/ci-fork.yml new file mode 100644 index 0000000000..b2f5f7340c --- /dev/null +++ b/.github/workflows/ci-fork.yml @@ -0,0 +1,45 @@ +name: ForgeRock Fork Pull Request CI +on: + pull_request_target: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + pr: + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + + - uses: pnpm/action-setup@v4 + with: + run_install: false + + - uses: actions/setup-node@v4 + id: cache + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - run: pnpm install --frozen-lockfile + + - name: Cache Playwright browsers + uses: actions/cache@v4 + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-playwright- + + - run: pnpm exec playwright install + + - uses: nrwl/nx-set-shas@v4 + # This line is needed for nx affected to work when CI is running on a PR + - run: git branch --track main origin/main + + - run: pnpm nx format:check + - run: pnpm nx affected -t build typecheck lint test e2e-ci From e6e8fd23c19fe88c94d12dc2695b35161dbe826f Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Mon, 27 Oct 2025 12:09:10 -0400 Subject: [PATCH 07/11] chore: update-fork-flow --- .github/actions/publish-beta/action.yml | 1 - .github/actions/setup/action.yml | 18 ++++---------- .github/workflows/ci-fork.yml | 31 +++++++++++++++++-------- .github/workflows/ci.yml | 3 +-- .github/workflows/publish.yml | 26 +++++++++------------ 5 files changed, 38 insertions(+), 41 deletions(-) diff --git a/.github/actions/publish-beta/action.yml b/.github/actions/publish-beta/action.yml index 05aa9cf77c..ca7feb6d7b 100644 --- a/.github/actions/publish-beta/action.yml +++ b/.github/actions/publish-beta/action.yml @@ -1,6 +1,5 @@ name: 'Publish Beta Steps' description: 'Steps to run when packages are not published (beta branch)' -inputs: runs: using: 'composite' diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 996c1c4a1f..facbba9b58 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -1,13 +1,6 @@ name: 'Setup Project' description: 'Centralized setup for CI jobs' inputs: - fetch-depth: - description: 'Git fetch depth' - required: false - default: '0' - token: - description: 'GitHub token' - required: true node-version-file: description: 'Node version file' required: false @@ -16,14 +9,13 @@ inputs: description: 'pnpm cache folder' required: false default: '.pnpm-store' + CODECOV_TOKEN: + description: 'CODECOV_TOKEN' + required: true + runs: using: 'composite' steps: - - uses: actions/checkout@v4 - with: - fetch-depth: ${{ inputs.fetch-depth }} - token: ${{ inputs.token }} - - uses: pnpm/action-setup@v4 with: run_install: false @@ -50,7 +42,7 @@ runs: run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" shell: bash env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + CODECOV_TOKEN: ${{ inputs.CODECOV_TOKEN }} - name: Cache Playwright browsers uses: actions/cache@v4 diff --git a/.github/workflows/ci-fork.yml b/.github/workflows/ci-fork.yml index b2f5f7340c..ec4437f929 100644 --- a/.github/workflows/ci-fork.yml +++ b/.github/workflows/ci-fork.yml @@ -1,14 +1,23 @@ name: ForgeRock Fork Pull Request CI + on: - pull_request_target: - types: [opened, synchronize, reopened] - branches: - - main + pull_request: + +permissions: + contents: read + actions: read + +concurrency: + group: pr-${{ github.event.pull_request.number }} + cancel-in-progress: true jobs: pr: + # Only run for forks + if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} runs-on: ubuntu-latest timeout-minutes: 20 + steps: - uses: actions/checkout@v4 with: @@ -20,26 +29,28 @@ jobs: run_install: false - uses: actions/setup-node@v4 - id: cache with: node-version-file: '.node-version' cache: 'pnpm' + cache-dependency-path: '**/pnpm-lock.yaml' - run: pnpm install --frozen-lockfile - - name: Cache Playwright browsers - uses: actions/cache@v4 + # Restore-only cache to avoid save attempts/noise on forks + - name: Restore Playwright browsers cache + uses: actions/cache/restore@v4 with: path: ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-playwright- - - run: pnpm exec playwright install + - run: pnpm exec playwright install --with-deps - uses: nrwl/nx-set-shas@v4 - # This line is needed for nx affected to work when CI is running on a PR - - run: git branch --track main origin/main + + # Needed so nx affected can diff against main + - run: git branch --track main origin/main || true - run: pnpm nx format:check - run: pnpm nx affected -t build typecheck lint test e2e-ci diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f936877c9..6ac0b292fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,7 @@ concurrency: jobs: pr: + if: ${{github.event.pull_request.head.repo.full_name == github.repository}} runs-on: ubuntu-latest timeout-minutes: 20 permissions: @@ -37,8 +38,6 @@ jobs: - run: pnpm install --frozen-lockfile - # This line enables distribution - # The "--stop-agents-after" is optional, but allows idle agents to shut down once the "e2e-ci" targets have been requested - run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" - run: pnpm nx sync:check diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8cd13a8fe8..c1989053d2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,18 +43,16 @@ jobs: id-token: write runs-on: ubuntu-latest steps: - - name: Setup Project - uses: ./.github/actions/setup + - uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.GH_TOKEN }} - - uses: actions/setup-node@v5 - id: cache + - name: Setup Project + uses: ./.github/actions/setup with: - node-version-file: '.node-version' - pnpm-cache-folder: .pnpm-store - env: + fetch-depth: 0 + token: ${{ secrets.GH_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: publish @@ -81,14 +79,6 @@ jobs: - name: Publish Beta Steps if: steps.changesets.outputs.published == 'false' uses: ./.github/actions/publish-beta - with: - branch: main - - - uses: JamesIves/github-pages-deploy-action@v4.7.3 - with: - folder: docs - commit-message: 'chore: release-api-docs-beta' - target-folder: 'beta' - name: Calculate baseline bundle sizes run: | @@ -118,6 +108,12 @@ jobs: env: HUSKY: 0 steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GH_TOKEN }} + ref: ${{ inputs.branch }} + - name: Setup Project uses: ./.github/actions/setup with: From 48d92db8a1df7895115406c68e9fb55e3023685c Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Tue, 28 Oct 2025 10:06:49 -0400 Subject: [PATCH 08/11] chore: update-ci.yml remove unused mend.yml --- .github/actions/setup/action.yml | 9 +- .github/workflows/ci-fork.yml | 2 +- .github/workflows/ci.yml | 51 ++--- .github/workflows/mend.yml | 117 ------------ .github/workflows/publish.yml | 5 - .node-version | 2 +- package.json | 5 +- packages/protect/README.md | 4 + pnpm-lock.yaml | 307 +++++++++++++------------------ 9 files changed, 156 insertions(+), 346 deletions(-) delete mode 100644 .github/workflows/mend.yml diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index facbba9b58..e447855475 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -24,7 +24,7 @@ runs: run: pnpm config set store-dir ${{ inputs.pnpm-cache-folder }} --global shell: bash - - uses: actions/setup-node@v5 + - uses: actions/setup-node@v6 with: node-version-file: ${{ inputs.node-version-file }} cache: 'pnpm' @@ -58,6 +58,10 @@ runs: - uses: nrwl/nx-set-shas@v4 + - name: Check TS References are Synced + shell: bash + run: pnpm nx sync:check + - name: Run Nx build/lint/test/e2e run: pnpm exec nx affected -t build lint test e2e-ci shell: bash @@ -68,5 +72,6 @@ runs: with: name: playwright-report path: | - ./**/.playwright/** + ./e2e/*/.playwright/** + ./e2e/**/.playwright/** retention-days: 30 diff --git a/.github/workflows/ci-fork.yml b/.github/workflows/ci-fork.yml index ec4437f929..9376172c15 100644 --- a/.github/workflows/ci-fork.yml +++ b/.github/workflows/ci-fork.yml @@ -28,7 +28,7 @@ jobs: with: run_install: false - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v6 with: node-version-file: '.node-version' cache: 'pnpm' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ac0b292fe..d8833bc7e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,36 +27,13 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: pnpm/action-setup@v4 - with: - run_install: false - - uses: actions/setup-node@v5 - id: cache - with: - node-version-file: '.node-version' - cache: 'pnpm' - - - run: pnpm install --frozen-lockfile - - - run: pnpm dlx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yml" --stop-agents-after="e2e-ci" --with-env-vars="CODECOV_TOKEN" - - run: pnpm nx sync:check + token: ${{ secrets.GH_TOKEN }} - - name: Cache Playwright browsers - uses: actions/cache@v4 + - name: Setup Project + uses: ./.github/actions/setup with: - path: ~/.cache/ms-playwright - key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-playwright- + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - - run: pnpm exec playwright install - - - uses: nrwl/nx-set-shas@v4 - # This line is needed for nx affected to work when CI is running on a PR - - run: git branch --track main origin/main - - - run: pnpm exec nx-cloud record -- nx format:check - - run: pnpm exec nx affected -t build typecheck lint test e2e-ci - run: npx nx-cloud fix-ci if: always() @@ -65,15 +42,6 @@ jobs: directory: ./packages/ token: ${{ secrets.CODECOV_TOKEN }} - - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} - with: - name: playwright-report - path: | - **/.playwright - **/test-results - retention-days: 30 - - name: Ensure builds run run: pnpm nx run-many -t build env: @@ -170,3 +138,14 @@ jobs: --- 🔄 Updated automatically on each push to this PR + + - name: Upload E2E reports on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: e2e-reports + path: | + e2e/*-suites/playwright-report/** + e2e/*-suites/test-results/** + e2e/*-suites/.playwright/** + retention-days: 7 diff --git a/.github/workflows/mend.yml b/.github/workflows/mend.yml deleted file mode 100644 index ab74d405b7..0000000000 --- a/.github/workflows/mend.yml +++ /dev/null @@ -1,117 +0,0 @@ -# -# Copyright (c) 2024 - 2025 Ping Identity Corporation. All rights reserved. -# -# This software may be modified and distributed under the terms -# of the MIT license. See the LICENSE file for details. -# - -name: Run Mend CLI Scan -on: - workflow_call: - secrets: - MEND_EMAIL: - description: Mend email - required: true - MEND_USER_KEY: - description: Mend user key - required: true - SLACK_WEBHOOK: - description: Slack Notifier Incoming Webhook - required: true - -jobs: - mend-cli-scan: - runs-on: ubuntu-latest - - steps: - # Clone the repo - - name: Clone the repository - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.ref }} - repository: ${{github.event.pull_request.head.repo.full_name}} - fetch-depth: 0 - - - uses: pnpm/action-setup@v4 - with: - run_install: false - - uses: actions/setup-node@v5 - id: cache - with: - node-version: '22.21.0' - cache: 'pnpm' - - - run: pnpm install --frozen-lockfile - - # Setup Mend CLI - - name: Download and cache the Mend CLI executable - id: cache-mend - uses: actions/cache@v4 - env: - mend-cache-name: cache-mend-executable - with: - path: /usr/local/bin/mend - key: ${{ runner.os }}-${{ env.mend-cache-name }}-${{ hashFiles('/usr/local/bin/mend') }} - restore-keys: | - ${{ runner.os }}-${{ env.mend-cache-name }}- - - # Download Mend CLI if it's not cached... - - if: ${{ steps.cache-mend.outputs.cache-hit != 'true' }} - name: Download Mend CLI executable (cache miss...) - continue-on-error: true - run: | - echo "Download Mend CLI executable (cache miss...)" - curl https://downloads.mend.io/cli/linux_amd64/mend -o /usr/local/bin/mend && chmod +x /usr/local/bin/mend - - # Execute the Mend CLI scan - - name: Mend CLI Scan - env: - MEND_EMAIL: ${{secrets.MEND_EMAIL}} - MEND_USER_KEY: ${{secrets.MEND_USER_KEY}} - MEND_URL: ${{ vars.MEND_SERVER_URL }} - run: | - mend dep --no-color -s ${{ vars.MEND_PRODUCT_NAME }}//${{ vars.MEND_PROJECT_NAME }} -u > mend-scan-result.txt - echo "MEND_SCAN_URL=$(cat mend-scan-result.txt | grep -Eo '(http|https)://[a-zA-Z0-9./?!=_%:-\#]*')" >> $GITHUB_ENV - echo "MEND_SCAN_SUMMARY=$(cat mend-scan-result.txt | grep -Eoiw '(Detected [0-9]* vulnerabilities.*)')" >> $GITHUB_ENV - echo "MEND_CRITICAL_COUNT=$(cat mend-scan-result.txt | grep -Eoiw '(Detected [0-9]* vulnerabilities.*)' | grep -oi '[0-9]* Critical' | grep -o [0-9]*)" >> $GITHUB_ENV - echo "MEND_HIGH_COUNT=$(cat mend-scan-result.txt | grep -Eoiw '(Detected [0-9]* vulnerabilities.*)' | grep -oi '[0-9]* High' | grep -o [0-9]*)" >> $GITHUB_ENV - - # Check for failures and set the outcome of the workflow - - name: Parse the result and set job status - if: always() - run: | - if [ '${{ env.MEND_CRITICAL_COUNT }}' -gt '0' ] || [ '${{ env.MEND_HIGH_COUNT }}' -gt '0' ]; then - exit 1 - else - exit 0 - fi - - # Publish the result - - name: Mend Scan Result - uses: LouisBrunner/checks-action@v2.0.0 - if: always() - with: - name: 'Mend Scan Result' - token: ${{ secrets.GITHUB_TOKEN }} - conclusion: ${{ job.status }} - output_text_description_file: mend-scan-result.txt - output: | - {"title":"Mend Scan Result", "summary":"${{ job.status }}"} - - # Send slack notification with result status - - name: Send slack notification - uses: 8398a7/action-slack@v3 - with: - status: custom - fields: all - custom_payload: | - { - attachments: [{ - title: 'Ping JS SDK Mend Scan', - color: '${{ job.status }}' === 'success' ? 'good' : '${{ job.status }}' === 'failure' ? 'danger' : 'warning', - text: `\nStatus: ${{ job.status }}\nWorkflow: ${process.env.AS_WORKFLOW} -> ${process.env.AS_JOB}\nSummary: ${{ env.MEND_SCAN_SUMMARY }}\nScan URL: ${{ env.MEND_SCAN_URL }}`, - }] - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} - if: always() diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c1989053d2..b333f8840a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -52,7 +52,6 @@ jobs: uses: ./.github/actions/setup with: fetch-depth: 0 - token: ${{ secrets.GH_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: publish @@ -117,12 +116,8 @@ jobs: - name: Setup Project uses: ./.github/actions/setup with: - fetch-depth: 0 - ref: ${{ inputs.branch }} - token: ${{ secrets.GH_TOKEN }} node-version-file: '.node-version' pnpm-cache-folder: .pnpm-store - env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Version Packages as prerelease diff --git a/.node-version b/.node-version index 2bd5a0a98a..a45fd52cc5 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -22 +24 diff --git a/package.json b/package.json index 4809c01273..462ade9903 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,6 @@ "devDependencies": { "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.9", - "@codecov/vite-plugin": "1.9.0", "@commitlint/cli": "^20.0.0", "@commitlint/config-conventional": "^20.0.0", "@commitlint/prompt": "^20.0.0", @@ -77,7 +76,7 @@ "@types/eslint": "9.6.1", "@types/estree": "^1.0.1", "@types/express": "5.0.1", - "@types/node": "22.18.12", + "@types/node": "24.7.2", "@typescript-eslint/eslint-plugin": "^8.45.0", "@typescript-eslint/parser": "^8.45.0", "@typescript-eslint/typescript-estree": "8.23.0", @@ -121,7 +120,7 @@ }, "packageManager": "pnpm@10.19.0+sha512.c9fc7236e92adf5c8af42fd5bf1612df99c2ceb62f27047032f4720b33f8eacdde311865e91c411f2774f618d82f320808ecb51718bfa82c060c4ba7c76a32b8", "engines": { - "node": "^20 || ^22", + "node": "^20 || ^22 || ^24", "pnpm": ">=10.17.1" }, "nx": { diff --git a/packages/protect/README.md b/packages/protect/README.md index 0083e85fc0..eee07d7aff 100644 --- a/packages/protect/README.md +++ b/packages/protect/README.md @@ -36,6 +36,10 @@ Install both modules and their latest versions: npm install @forgerock/javascript-sdk @forgerock/protect ``` +```sh +pnpm install @forgerock/javascript-sdk @forgerock/protect +``` + #### Initialization (Recommended) The `@forgerock/protect` module has a `protect()` function that accepts configuration options and returns a set of methods for interacting with Protect. The two main responsibilities of the Ping Protect module are the initialization of the profiling and data collection and the completion and preparation of the collected data for the server. You can find these two methods on the API returned by `protect()`. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef6a721559..7b49a5c609 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,19 +51,16 @@ importers: version: 0.5.1 '@changesets/cli': specifier: ^2.27.9 - version: 2.29.7(@types/node@22.18.12) - '@codecov/vite-plugin': - specifier: 1.9.0 - version: 1.9.0(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.29.7(@types/node@24.7.2) '@commitlint/cli': specifier: ^20.0.0 - version: 20.1.0(@types/node@22.18.12)(typescript@5.8.3) + version: 20.1.0(@types/node@24.7.2)(typescript@5.8.3) '@commitlint/config-conventional': specifier: ^20.0.0 version: 20.0.0 '@commitlint/prompt': specifier: ^20.0.0 - version: 20.1.0(@types/node@22.18.12)(typescript@5.8.3) + version: 20.1.0(@types/node@24.7.2)(typescript@5.8.3) '@effect/cli': specifier: catalog:effect version: 0.69.2(@effect/platform@0.90.10(effect@3.18.4))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.36.0(effect@3.18.4))(effect@3.18.4))(@effect/printer@0.45.0(@effect/typeclass@0.36.0(effect@3.18.4))(effect@3.18.4))(effect@3.18.4) @@ -84,7 +81,7 @@ importers: version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.8.3))(eslint-config-prettier@10.1.8(eslint@9.38.0(jiti@2.6.1)))(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) '@nx/jest': specifier: 21.2.3 - version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) + version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) '@nx/js': specifier: 21.2.3 version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) @@ -93,10 +90,10 @@ importers: version: 21.2.3(@babel/traverse@7.28.5)(@playwright/test@1.56.1)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) '@nx/plugin': specifier: 21.2.3 - version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) + version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) '@nx/vite': specifier: 21.2.3 - version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) + version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))(vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4) '@nx/web': specifier: 21.2.3 version: 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) @@ -128,8 +125,8 @@ importers: specifier: 5.0.1 version: 5.0.1 '@types/node': - specifier: 22.18.12 - version: 22.18.12 + specifier: 24.7.2 + version: 24.7.2 '@typescript-eslint/eslint-plugin': specifier: ^8.45.0 version: 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.8.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.8.3) @@ -153,7 +150,7 @@ importers: version: 8.0.0 cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@22.18.12)(typescript@5.8.3) + version: 3.3.0(@types/node@24.7.2)(typescript@5.8.3) cz-git: specifier: ^1.6.1 version: 1.12.0 @@ -216,7 +213,7 @@ importers: version: 0.2.6(@swc/core@1.11.21(@swc/helpers@0.5.17))(webpack@5.102.1(@swc/core@1.11.21(@swc/helpers@0.5.17))) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3) + version: 10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3) ts-patch: specifier: 3.3.0 version: 3.3.0 @@ -243,10 +240,10 @@ importers: version: 6.2.1(typanion@3.14.0) vite: specifier: 6.4.1 - version: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vitest: specifier: catalog:vitest - version: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vitest-canvas-mock: specifier: ^0.3.3 version: 0.3.3(vitest@3.2.4) @@ -322,7 +319,7 @@ importers: devDependencies: '@effect/vitest': specifier: catalog:effect - version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) e2e/oidc-app: dependencies: @@ -375,7 +372,7 @@ importers: devDependencies: vitest: specifier: catalog:vitest - version: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) packages/device-client: dependencies: @@ -388,7 +385,7 @@ importers: devDependencies: msw: specifier: 'catalog:' - version: 2.11.6(@types/node@22.18.12)(typescript@5.8.3) + version: 2.11.6(@types/node@24.7.2)(typescript@5.8.3) packages/journey-client: dependencies: @@ -415,17 +412,17 @@ importers: version: 2.8.1 vite: specifier: 6.4.1 - version: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vitest-canvas-mock: specifier: ^0.3.3 - version: 0.3.3(vitest@1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)) + version: 0.3.3(vitest@1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)) devDependencies: '@vitest/coverage-v8': specifier: ^1.2.0 - version: 1.6.1(vitest@1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)) + version: 1.6.1(vitest@1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)) vitest: specifier: ^1.2.0 - version: 1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) + version: 1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) packages/oidc-client: dependencies: @@ -456,10 +453,10 @@ importers: devDependencies: '@effect/vitest': specifier: catalog:effect - version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) msw: specifier: 'catalog:' - version: 2.11.6(@types/node@22.18.12)(typescript@5.8.3) + version: 2.11.6(@types/node@24.7.2)(typescript@5.8.3) packages/protect: {} @@ -530,14 +527,14 @@ importers: version: 3.18.4 vitest: specifier: catalog:vitest - version: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) devDependencies: '@effect/language-service': specifier: catalog:effect version: 0.35.2 '@effect/vitest': specifier: catalog:effect - version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) packages: @@ -547,9 +544,6 @@ packages: '@actions/exec@1.1.1': resolution: {integrity: sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==} - '@actions/github@6.0.1': - resolution: {integrity: sha512-xbZVcaqD4XnQAe35qSQqskb3SqIAfRyLBrHMd/8TuL7hJSz2QtbDwnNM8zWx4zO5l2fnGtseNE3MbEvD7BxVMw==} - '@actions/http-client@2.2.3': resolution: {integrity: sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==} @@ -1253,16 +1247,6 @@ packages: '@changesets/write@0.4.0': resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - '@codecov/bundler-plugin-core@1.9.1': - resolution: {integrity: sha512-dt3ic7gMswz4p/qdkYPVJwXlLiLsz55rBBn2I7mr0HTG8pCoLRqnANJIwo5WrqGBZgPyVSMPBqBra6VxLWfDyA==} - engines: {node: '>=18.0.0'} - - '@codecov/vite-plugin@1.9.0': - resolution: {integrity: sha512-5+CxUGN0Rxr5F6xYqrKwug3NXTlNVBEZcI9caOCjlpErt7p2lp7J/6Qo+GRjmaVkXErnNMiyhjzXRB6rLNAjfg==} - engines: {node: '>=18.0.0'} - peerDependencies: - vite: 4.x || 5.x || 6.x - '@commitlint/cli@20.1.0': resolution: {integrity: sha512-pW5ujjrOovhq5RcYv5xCpb4GkZxkO2+GtOdBW2/qrr0Ll9tl3PX0aBBobGQl3mdZUbOBgwAexEQLeH6uxL0VYg==} engines: {node: '>=v18'} @@ -2976,8 +2960,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.18.12': - resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==} + '@types/node@24.7.2': + resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -7545,8 +7529,8 @@ packages: unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.14.0: + resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} undici@5.29.0: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} @@ -7602,10 +7586,6 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} - engines: {node: '>=14.0.0'} - until-async@3.0.2: resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==} @@ -7848,9 +7828,6 @@ packages: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.102.1: resolution: {integrity: sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==} engines: {node: '>=10.13.0'} @@ -8030,16 +8007,6 @@ snapshots: dependencies: '@actions/io': 1.1.3 - '@actions/github@6.0.1': - dependencies: - '@actions/http-client': 2.2.3 - '@octokit/core': 5.2.2 - '@octokit/plugin-paginate-rest': 9.2.2(@octokit/core@5.2.2) - '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.2.2) - '@octokit/request': 8.4.1 - '@octokit/request-error': 5.1.1 - undici: 5.29.0 - '@actions/http-client@2.2.3': dependencies: tunnel: 0.0.6 @@ -8897,7 +8864,7 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/cli@2.29.7(@types/node@22.18.12)': + '@changesets/cli@2.29.7(@types/node@24.7.2)': dependencies: '@changesets/apply-release-plan': 7.0.13 '@changesets/assemble-release-plan': 6.0.9 @@ -8913,7 +8880,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.2(@types/node@22.18.12) + '@inquirer/external-editor': 1.0.2(@types/node@24.7.2) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -9019,26 +8986,11 @@ snapshots: human-id: 4.1.2 prettier: 2.8.8 - '@codecov/bundler-plugin-core@1.9.1': - dependencies: - '@actions/core': 1.11.1 - '@actions/github': 6.0.1 - chalk: 4.1.2 - semver: 7.7.3 - unplugin: 1.16.1 - zod: 3.25.76 - - '@codecov/vite-plugin@1.9.0(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': - dependencies: - '@codecov/bundler-plugin-core': 1.9.1 - unplugin: 1.16.1 - vite: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - - '@commitlint/cli@20.1.0(@types/node@22.18.12)(typescript@5.8.3)': + '@commitlint/cli@20.1.0(@types/node@24.7.2)(typescript@5.8.3)': dependencies: '@commitlint/format': 20.0.0 '@commitlint/lint': 20.0.0 - '@commitlint/load': 20.1.0(@types/node@22.18.12)(typescript@5.8.3) + '@commitlint/load': 20.1.0(@types/node@24.7.2)(typescript@5.8.3) '@commitlint/read': 20.0.0 '@commitlint/types': 20.0.0 tinyexec: 1.0.1 @@ -9085,7 +9037,7 @@ snapshots: '@commitlint/rules': 20.0.0 '@commitlint/types': 20.0.0 - '@commitlint/load@20.1.0(@types/node@22.18.12)(typescript@5.8.3)': + '@commitlint/load@20.1.0(@types/node@24.7.2)(typescript@5.8.3)': dependencies: '@commitlint/config-validator': 20.0.0 '@commitlint/execute-rule': 20.0.0 @@ -9093,7 +9045,7 @@ snapshots: '@commitlint/types': 20.0.0 chalk: 5.6.2 cosmiconfig: 9.0.0(typescript@5.8.3) - cosmiconfig-typescript-loader: 6.2.0(@types/node@22.18.12)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) + cosmiconfig-typescript-loader: 6.2.0(@types/node@24.7.2)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -9109,13 +9061,13 @@ snapshots: conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 - '@commitlint/prompt@20.1.0(@types/node@22.18.12)(typescript@5.8.3)': + '@commitlint/prompt@20.1.0(@types/node@24.7.2)(typescript@5.8.3)': dependencies: '@commitlint/ensure': 20.0.0 - '@commitlint/load': 20.1.0(@types/node@22.18.12)(typescript@5.8.3) + '@commitlint/load': 20.1.0(@types/node@24.7.2)(typescript@5.8.3) '@commitlint/types': 20.0.0 chalk: 5.6.2 - inquirer: 9.3.8(@types/node@22.18.12) + inquirer: 9.3.8(@types/node@24.7.2) transitivePeerDependencies: - '@types/node' - typescript @@ -9314,10 +9266,10 @@ snapshots: dependencies: effect: 3.18.4 - '@effect/vitest@0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@effect/vitest@0.23.13(effect@3.18.4)(vitest@3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: effect: 3.18.4 - vitest: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@effect/workflow@0.8.3(@effect/platform@0.90.10(effect@3.18.4))(@effect/rpc@0.68.4(@effect/platform@0.90.10(effect@3.18.4))(effect@3.18.4))(effect@3.18.4)': dependencies: @@ -9570,38 +9522,38 @@ snapshots: '@inquirer/ansi@1.0.1': {} - '@inquirer/confirm@5.1.19(@types/node@22.18.12)': + '@inquirer/confirm@5.1.19(@types/node@24.7.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.18.12) - '@inquirer/type': 3.0.9(@types/node@22.18.12) + '@inquirer/core': 10.3.0(@types/node@24.7.2) + '@inquirer/type': 3.0.9(@types/node@24.7.2) optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 - '@inquirer/core@10.3.0(@types/node@22.18.12)': + '@inquirer/core@10.3.0(@types/node@24.7.2)': dependencies: '@inquirer/ansi': 1.0.1 '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@22.18.12) + '@inquirer/type': 3.0.9(@types/node@24.7.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 - '@inquirer/external-editor@1.0.2(@types/node@22.18.12)': + '@inquirer/external-editor@1.0.2(@types/node@24.7.2)': dependencies: chardet: 2.1.0 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@inquirer/figures@1.0.14': {} - '@inquirer/type@3.0.9(@types/node@22.18.12)': + '@inquirer/type@3.0.9(@types/node@24.7.2)': optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@isaacs/cliui@8.0.2': dependencies: @@ -9625,7 +9577,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -9635,7 +9587,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -9653,7 +9605,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.18.12 + '@types/node': 24.7.2 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -9675,7 +9627,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit: 0.1.2 @@ -9745,7 +9697,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/yargs': 17.0.34 chalk: 4.1.2 @@ -9983,7 +9935,7 @@ snapshots: - supports-color - verdaccio - '@nx/jest@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))': + '@nx/jest@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))': dependencies: '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 @@ -9991,7 +9943,7 @@ snapshots: '@nx/js': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.8.3) identity-obj-proxy: 3.0.0 - jest-config: 29.7.0(@types/node@22.18.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3)) + jest-config: 29.7.0(@types/node@24.7.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3)) jest-resolve: 29.7.0 jest-util: 29.7.0 minimatch: 9.0.3 @@ -10107,11 +10059,11 @@ snapshots: - typescript - verdaccio - '@nx/plugin@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))': + '@nx/plugin@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))': dependencies: '@nx/devkit': 21.2.3(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))) '@nx/eslint': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.38.0(jiti@2.6.1))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) - '@nx/jest': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) + '@nx/jest': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(babel-plugin-macros@3.1.0)(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0)) '@nx/js': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) tslib: 2.8.1 transitivePeerDependencies: @@ -10130,7 +10082,7 @@ snapshots: - typescript - verdaccio - '@nx/vite@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)': + '@nx/vite@21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(typescript@5.8.3)(verdaccio@6.2.1(typanion@3.14.0))(vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)': dependencies: '@nx/devkit': 21.2.3(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))) '@nx/js': 21.2.3(@babel/traverse@7.28.5)(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17))(nx@21.2.3(@swc-node/register@1.10.10(@swc/core@1.11.21(@swc/helpers@0.5.17))(@swc/types@0.1.25)(typescript@5.8.3))(@swc/core@1.11.21(@swc/helpers@0.5.17)))(verdaccio@6.2.1(typanion@3.14.0)) @@ -10141,8 +10093,8 @@ snapshots: picomatch: 4.0.2 semver: 7.7.3 tsconfig-paths: 4.2.0 - vite: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vitest: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -10719,7 +10671,7 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/chai@5.2.3': dependencies: @@ -10728,11 +10680,11 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/conventional-commits-parser@5.0.2': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/deep-eql@4.0.2': {} @@ -10750,7 +10702,7 @@ snapshots: '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -10763,7 +10715,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/hast@3.0.4': dependencies: @@ -10791,9 +10743,9 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.18.12': + '@types/node@24.7.2': dependencies: - undici-types: 6.21.0 + undici-types: 7.14.0 '@types/parse-json@4.0.2': {} @@ -10803,21 +10755,21 @@ snapshots: '@types/responselike@1.0.0': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/send@1.2.1': dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@types/send': 0.17.6 '@types/stack-utils@2.0.3': {} @@ -11106,7 +11058,7 @@ snapshots: lodash: 4.17.21 minimatch: 7.4.6 - '@vitest/coverage-v8@1.6.1(vitest@1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0))': + '@vitest/coverage-v8@1.6.1(vitest@1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -11121,7 +11073,7 @@ snapshots: std-env: 3.10.0 strip-literal: 2.1.1 test-exclude: 6.0.0 - vitest: 1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) + vitest: 1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) transitivePeerDependencies: - supports-color @@ -11140,7 +11092,7 @@ snapshots: std-env: 3.10.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -11158,14 +11110,14 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.11.6(@types/node@22.18.12)(typescript@5.8.3) - vite: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + msw: 2.11.6(@types/node@24.7.2)(typescript@5.8.3) + vite: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@vitest/pretty-format@3.0.4': dependencies: @@ -11216,7 +11168,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@vitest/utils@1.6.1': dependencies: @@ -12059,10 +12011,10 @@ snapshots: commander@8.3.0: {} - commitizen@4.3.1(@types/node@22.18.12)(typescript@5.8.3): + commitizen@4.3.1(@types/node@24.7.2)(typescript@5.8.3): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@22.18.12)(typescript@5.8.3) + cz-conventional-changelog: 3.3.0(@types/node@24.7.2)(typescript@5.8.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -12158,9 +12110,9 @@ snapshots: corser@2.0.1: {} - cosmiconfig-typescript-loader@6.2.0(@types/node@22.18.12)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): + cosmiconfig-typescript-loader@6.2.0(@types/node@24.7.2)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 cosmiconfig: 9.0.0(typescript@5.8.3) jiti: 2.6.1 typescript: 5.8.3 @@ -12213,16 +12165,16 @@ snapshots: transitivePeerDependencies: - postcss - cz-conventional-changelog@3.3.0(@types/node@22.18.12)(typescript@5.8.3): + cz-conventional-changelog@3.3.0(@types/node@24.7.2)(typescript@5.8.3): dependencies: chalk: 2.4.2 - commitizen: 4.3.1(@types/node@22.18.12)(typescript@5.8.3) + commitizen: 4.3.1(@types/node@24.7.2)(typescript@5.8.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 20.1.0(@types/node@22.18.12)(typescript@5.8.3) + '@commitlint/load': 20.1.0(@types/node@24.7.2)(typescript@5.8.3) transitivePeerDependencies: - '@types/node' - typescript @@ -13603,9 +13555,9 @@ snapshots: through: 2.3.8 wrap-ansi: 7.0.0 - inquirer@9.3.8(@types/node@22.18.12): + inquirer@9.3.8(@types/node@24.7.2): dependencies: - '@inquirer/external-editor': 1.0.2(@types/node@22.18.12) + '@inquirer/external-editor': 1.0.2(@types/node@24.7.2) '@inquirer/figures': 1.0.14 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -13892,7 +13844,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.0(babel-plugin-macros@3.1.0) @@ -13912,7 +13864,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@22.18.12)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3)): + jest-config@29.7.0(@types/node@24.7.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3)): dependencies: '@babel/core': 7.28.5 '@jest/test-sequencer': 29.7.0 @@ -13937,8 +13889,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.18.12 - ts-node: 10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3) + '@types/node': 24.7.2 + ts-node: 10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -13967,7 +13919,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -13977,7 +13929,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.18.12 + '@types/node': 24.7.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -14016,7 +13968,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -14044,7 +13996,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -14072,7 +14024,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 cjs-module-lexer: 1.4.3 collect-v8-coverage: 1.0.3 @@ -14118,7 +14070,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -14137,7 +14089,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.18.12 + '@types/node': 24.7.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -14146,13 +14098,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -14601,9 +14553,9 @@ snapshots: optionalDependencies: msgpackr-extract: 3.0.3 - msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3): + msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3): dependencies: - '@inquirer/confirm': 5.1.19(@types/node@22.18.12) + '@inquirer/confirm': 5.1.19(@types/node@24.7.2) '@mswjs/interceptors': 0.40.0 '@open-draft/deferred-promise': 2.2.0 '@types/statuses': 2.0.6 @@ -16007,14 +15959,14 @@ snapshots: '@ts-graphviz/common': 2.1.5 '@ts-graphviz/core': 2.0.7 - ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@22.18.12)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.11.21(@swc/helpers@0.5.17))(@types/node@24.7.2)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.18.12 + '@types/node': 24.7.2 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -16172,7 +16124,7 @@ snapshots: buffer: 5.7.1 through: 2.3.8 - undici-types@6.21.0: {} + undici-types@7.14.0: {} undici@5.29.0: dependencies: @@ -16209,11 +16161,6 @@ snapshots: unpipe@1.0.0: {} - unplugin@1.16.1: - dependencies: - acorn: 8.15.0 - webpack-virtual-modules: 0.6.2 - until-async@3.0.2: {} update-browserslist-db@1.1.4(browserslist@4.27.0): @@ -16322,13 +16269,13 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite-node@1.6.1(@types/node@22.18.12)(terser@5.44.0): + vite-node@1.6.1(@types/node@24.7.2)(terser@5.44.0): dependencies: cac: 6.7.14 debug: 4.4.3 pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.21(@types/node@22.18.12)(terser@5.44.0) + vite: 5.4.21(@types/node@24.7.2)(terser@5.44.0) transitivePeerDependencies: - '@types/node' - less @@ -16340,13 +16287,13 @@ snapshots: - supports-color - terser - vite-node@3.2.4(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite-node@3.2.4(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -16361,17 +16308,17 @@ snapshots: - tsx - yaml - vite@5.4.21(@types/node@22.18.12)(terser@5.44.0): + vite@5.4.21(@types/node@24.7.2)(terser@5.44.0): dependencies: esbuild: 0.21.5 postcss: 8.5.6 rollup: 4.52.5 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 fsevents: 2.3.3 terser: 5.44.0 - vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) @@ -16380,24 +16327,24 @@ snapshots: rollup: 4.52.5 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 fsevents: 2.3.3 jiti: 2.6.1 terser: 5.44.0 tsx: 4.20.6 yaml: 2.8.1 - vitest-canvas-mock@0.3.3(vitest@1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)): + vitest-canvas-mock@0.3.3(vitest@1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0)): dependencies: jest-canvas-mock: 2.5.2 - vitest: 1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) + vitest: 1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0) vitest-canvas-mock@0.3.3(vitest@3.2.4): dependencies: jest-canvas-mock: 2.5.2 - vitest: 3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vitest@1.6.1(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0): + vitest@1.6.1(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jsdom@27.0.1(postcss@8.5.6))(terser@5.44.0): dependencies: '@vitest/expect': 1.6.1 '@vitest/runner': 1.6.1 @@ -16416,11 +16363,11 @@ snapshots: strip-literal: 2.1.1 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.21(@types/node@22.18.12)(terser@5.44.0) - vite-node: 1.6.1(@types/node@22.18.12)(terser@5.44.0) + vite: 5.4.21(@types/node@24.7.2)(terser@5.44.0) + vite-node: 1.6.1(@types/node@24.7.2)(terser@5.44.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@vitest/ui': 3.0.4(vitest@3.2.4) jsdom: 27.0.1(postcss@8.5.6) transitivePeerDependencies: @@ -16433,11 +16380,11 @@ snapshots: - supports-color - terser - vitest@3.2.4(@types/node@22.18.12)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vitest@3.2.4(@types/node@24.7.2)(@vitest/ui@3.0.4(vitest@3.2.4))(jiti@2.6.1)(jsdom@27.0.1(postcss@8.5.6))(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.11.6(@types/node@22.18.12)(typescript@5.8.3))(vite@6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(msw@2.11.6(@types/node@24.7.2)(typescript@5.8.3))(vite@6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -16455,11 +16402,11 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.4.1(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 6.4.1(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@24.7.2)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.18.12 + '@types/node': 24.7.2 '@vitest/ui': 3.0.4(vitest@3.2.4) jsdom: 27.0.1(postcss@8.5.6) transitivePeerDependencies: @@ -16501,8 +16448,6 @@ snapshots: webpack-sources@3.3.3: {} - webpack-virtual-modules@0.6.2: {} - webpack@5.102.1(@swc/core@1.11.21(@swc/helpers@0.5.17)): dependencies: '@types/eslint-scope': 3.7.7 From 45be026ba273294ba1e8c0d55065cdca24565bbc Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Wed, 29 Oct 2025 06:45:57 -0400 Subject: [PATCH 09/11] chore: tasks-and-publish Add Zed tasks configuration and update publish workflow --- .github/workflows/publish.yml | 1 - .zed/tasks.json | 84 +++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 .zed/tasks.json diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b333f8840a..238189f066 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -51,7 +51,6 @@ jobs: - name: Setup Project uses: ./.github/actions/setup with: - fetch-depth: 0 CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: publish diff --git a/.zed/tasks.json b/.zed/tasks.json new file mode 100644 index 0000000000..9a89ad67fa --- /dev/null +++ b/.zed/tasks.json @@ -0,0 +1,84 @@ +// Project tasks configuration. See https://zed.dev/docs/tasks for documentation. +[ + { + "label": "nx build", + "command": "pnpm", + "args": ["nx", "affected", "-t build", "--parallel=3"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": false, + "allow_concurrent_runs": true, + "reveal": "no_focus" + }, + { + "label": "nx lint", + "command": "pnpm", + "args": ["nx", "affected", "-t lint", "--parallel=3"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": false, + "allow_concurrent_runs": true, + "reveal": "no_focus" + }, + { + "label": "nx test", + "command": "pnpm", + "args": ["nx", "affected", "-t test", "--parallel=3"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": false, + "allow_concurrent_runs": true, + "reveal": "no_focus" + }, + { + "label": "nx watch davinci-watch", + "command": "pnpm", + "args": ["watch", "@forgerock/davinci-app"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": true, + "allow_concurrent_runs": true, + "reveal": "always" + }, + { + "label": "nx watch oidc-e2e", + "command": "pnpm", + "args": ["watch", "@forgerock/oidc-app"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": true, + "allow_concurrent_runs": true, + "reveal": "no_focus" + }, + { + "label": "nx watch protect-watch", + "command": "pnpm", + "args": ["watch", "@forgerock/protect-app"], + "cwd": "$ZED_WORKTREE_ROOT", + "use_new_terminal": true, + "allow_concurrent_runs": true, + "reveal": "no_focus" + }, + { + "label": "nx typecheck repo", + "command": "pnpm", + "args": ["nx", "affected -t typecheck"], + "cwd": "$ZED_WORKTREE_ROOT", + "reveal": "no_focus" + }, + { + "label": "oidc e2e ui", + "command": "pnpm", + "args": ["nx", "e2e", "@forgerock/oidc-suites", "--ui"], + "cwd": "$ZED_WORKTREE_ROOT" + }, + { + "label": "protect-app e2e ui", + "command": "pnpm", + "args": ["nx", "e2e", "@forgerock/protect-suites", "--ui"], + "cwd": "$ZED_WORKTREE_ROOT", + "reveal": "no_focus" + }, + { + "label": "local release repo", + "command": "pnpm", + "args": ["release-local"], + "cwd": "$ZED_WORKTREE_ROOT", + "reveal": "no_focus" + } +] From 049e5b287a3938423a10018d09d7e5b9388bb532 Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Fri, 31 Oct 2025 09:53:34 -0600 Subject: [PATCH 10/11] chore: pr-review Add build and API docs steps to publish actions and workflows - Run builds and generate API docs before publishing in beta and release actions - Use --no-agents flag for Nx build steps in workflows - Remove NX_CLOUD_DISTRIBUTED_EXECUTION env and related config - Remove E2E report upload step from CI workflow - Minor improvements to setup action step names --- .github/actions/publish-beta/action.yml | 8 ++++++++ .github/actions/publish-release/action.yml | 8 ++++++++ .github/actions/setup/action.yml | 3 ++- .github/workflows/ci-fork.yml | 2 +- .github/workflows/ci.yml | 17 +---------------- .github/workflows/publish.yml | 3 --- 6 files changed, 20 insertions(+), 21 deletions(-) diff --git a/.github/actions/publish-beta/action.yml b/.github/actions/publish-beta/action.yml index ca7feb6d7b..653784fbc1 100644 --- a/.github/actions/publish-beta/action.yml +++ b/.github/actions/publish-beta/action.yml @@ -8,6 +8,14 @@ runs: shell: bash run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm --comment=off + - name: Run Builds + shell: bash + run: pnpm nx run-many -t build --no-agents + + - name: Generate API Docs + shell: bash + run: pnpm generate-docs + - name: Publish api docs [beta] uses: JamesIves/github-pages-deploy-action@v4.7.3 with: diff --git a/.github/actions/publish-release/action.yml b/.github/actions/publish-release/action.yml index da8e54ae3b..2dc6e339d2 100644 --- a/.github/actions/publish-release/action.yml +++ b/.github/actions/publish-release/action.yml @@ -30,6 +30,14 @@ runs: "publishedPackages": "${{ steps.slackify.outputs.message }}" } + - name: Run Builds + shell: bash + run: pnpm nx run-many -t build --no-agents + + - name: Generate API Docs + shell: bash + run: pnpm generate-docs + - name: Publish api docs uses: JamesIves/github-pages-deploy-action@v4.7.3 with: diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index e447855475..5220d5fbdd 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -56,7 +56,8 @@ runs: run: pnpm exec playwright install shell: bash - - uses: nrwl/nx-set-shas@v4 + - name: Set Nx SHAs + uses: nrwl/nx-set-shas@v4 - name: Check TS References are Synced shell: bash diff --git a/.github/workflows/ci-fork.yml b/.github/workflows/ci-fork.yml index 9376172c15..43b99ecacf 100644 --- a/.github/workflows/ci-fork.yml +++ b/.github/workflows/ci-fork.yml @@ -53,4 +53,4 @@ jobs: - run: git branch --track main origin/main || true - run: pnpm nx format:check - - run: pnpm nx affected -t build typecheck lint test e2e-ci + - run: pnpm nx affected -t build typecheck lint test e2e-ci --no-agents diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8833bc7e4..b12ceff088 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,6 @@ on: env: NX_CLOUD_ENCRYPTION_KEY: ${{ secrets.NX_CLOUD_ENCRYPTION_KEY }} NX_CLOUD_ACCESS_TOKEN: ${{ secrets.PR_NX_CLOUD_ACCESS_TOKEN }} # Read Only - NX_CLOUD_DISTRIBUTED_EXECUTION: true CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CI: true @@ -22,7 +21,6 @@ jobs: permissions: pull-requests: write contents: write - id-token: write steps: - uses: actions/checkout@v4 with: @@ -43,9 +41,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} - name: Ensure builds run - run: pnpm nx run-many -t build - env: - NX_CLOUD_DISTRIBUTED_EXECUTION: false + run: pnpm nx run-many -t build --no-agents - run: pnpm pkg-pr-new publish './packages/*' './packages/sdk-effects/*' --packageManager=pnpm @@ -138,14 +134,3 @@ jobs: --- 🔄 Updated automatically on each push to this PR - - - name: Upload E2E reports on failure - if: failure() - uses: actions/upload-artifact@v4 - with: - name: e2e-reports - path: | - e2e/*-suites/playwright-report/** - e2e/*-suites/test-results/** - e2e/*-suites/.playwright/** - retention-days: 7 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 238189f066..f5367cf562 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,7 +28,6 @@ on: env: NX_CLOUD_ENCRYPTION_KEY: ${{ secrets.NX_CLOUD_ENCRYPTION_KEY }} NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} - NX_CLOUD_DISTRIBUTED_EXECUTION: true PNPM_CACHE_FOLDER: .pnpm-store CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CI: true @@ -115,8 +114,6 @@ jobs: - name: Setup Project uses: ./.github/actions/setup with: - node-version-file: '.node-version' - pnpm-cache-folder: .pnpm-store CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - name: Version Packages as prerelease From 04608746672033b2c52b8f0ce5abf1698a23233f Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Mon, 3 Nov 2025 10:28:45 -0700 Subject: [PATCH 11/11] chore: fix-fork-ci track the proper main on fork flow --- .github/workflows/ci-fork.yml | 8 ++-- .zed/tasks.json | 84 ----------------------------------- 2 files changed, 5 insertions(+), 87 deletions(-) delete mode 100644 .zed/tasks.json diff --git a/.github/workflows/ci-fork.yml b/.github/workflows/ci-fork.yml index 43b99ecacf..f8ba2a3d6a 100644 --- a/.github/workflows/ci-fork.yml +++ b/.github/workflows/ci-fork.yml @@ -47,10 +47,12 @@ jobs: - run: pnpm exec playwright install --with-deps - - uses: nrwl/nx-set-shas@v4 + - name: Track base repository main + run: | + git fetch origin +refs/heads/main:refs/remotes/upstream/main + git branch --force main upstream/main - # Needed so nx affected can diff against main - - run: git branch --track main origin/main || true + - uses: nrwl/nx-set-shas@v4 - run: pnpm nx format:check - run: pnpm nx affected -t build typecheck lint test e2e-ci --no-agents diff --git a/.zed/tasks.json b/.zed/tasks.json deleted file mode 100644 index 9a89ad67fa..0000000000 --- a/.zed/tasks.json +++ /dev/null @@ -1,84 +0,0 @@ -// Project tasks configuration. See https://zed.dev/docs/tasks for documentation. -[ - { - "label": "nx build", - "command": "pnpm", - "args": ["nx", "affected", "-t build", "--parallel=3"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": false, - "allow_concurrent_runs": true, - "reveal": "no_focus" - }, - { - "label": "nx lint", - "command": "pnpm", - "args": ["nx", "affected", "-t lint", "--parallel=3"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": false, - "allow_concurrent_runs": true, - "reveal": "no_focus" - }, - { - "label": "nx test", - "command": "pnpm", - "args": ["nx", "affected", "-t test", "--parallel=3"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": false, - "allow_concurrent_runs": true, - "reveal": "no_focus" - }, - { - "label": "nx watch davinci-watch", - "command": "pnpm", - "args": ["watch", "@forgerock/davinci-app"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": true, - "allow_concurrent_runs": true, - "reveal": "always" - }, - { - "label": "nx watch oidc-e2e", - "command": "pnpm", - "args": ["watch", "@forgerock/oidc-app"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": true, - "allow_concurrent_runs": true, - "reveal": "no_focus" - }, - { - "label": "nx watch protect-watch", - "command": "pnpm", - "args": ["watch", "@forgerock/protect-app"], - "cwd": "$ZED_WORKTREE_ROOT", - "use_new_terminal": true, - "allow_concurrent_runs": true, - "reveal": "no_focus" - }, - { - "label": "nx typecheck repo", - "command": "pnpm", - "args": ["nx", "affected -t typecheck"], - "cwd": "$ZED_WORKTREE_ROOT", - "reveal": "no_focus" - }, - { - "label": "oidc e2e ui", - "command": "pnpm", - "args": ["nx", "e2e", "@forgerock/oidc-suites", "--ui"], - "cwd": "$ZED_WORKTREE_ROOT" - }, - { - "label": "protect-app e2e ui", - "command": "pnpm", - "args": ["nx", "e2e", "@forgerock/protect-suites", "--ui"], - "cwd": "$ZED_WORKTREE_ROOT", - "reveal": "no_focus" - }, - { - "label": "local release repo", - "command": "pnpm", - "args": ["release-local"], - "cwd": "$ZED_WORKTREE_ROOT", - "reveal": "no_focus" - } -]