diff --git a/.azure-pipelines/templates/setup.yml b/.azure-pipelines/templates/setup.yml index 780b5b008a7..32b7466dd8e 100644 --- a/.azure-pipelines/templates/setup.yml +++ b/.azure-pipelines/templates/setup.yml @@ -2,7 +2,7 @@ steps: - task: NodeTool@0 displayName: "Using Node.js" inputs: - versionSpec: '20.x' + versionSpec: '24.x' condition: succeeded() - script: npm install -g pnpm diff --git a/.github/workflows/Deploy-Documentation.yml b/.github/workflows/Deploy-Documentation.yml index 48467bd23ff..d863b9690d0 100644 --- a/.github/workflows/Deploy-Documentation.yml +++ b/.github/workflows/Deploy-Documentation.yml @@ -26,26 +26,26 @@ jobs: runs-on: ubuntu-latest name: Build and Deploy Job steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 with: submodules: true - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo key: ${{ runner.os }}-turbo-docs-${{ github.sha }} restore-keys: | ${{ runner.os }}-turbo-docs- - - name: Set up Node.js version 20.x - uses: actions/setup-node@v1 + - name: Set up Node.js version 24.x + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] diff --git a/.github/workflows/Deploy-Standalone.yml b/.github/workflows/Deploy-Standalone.yml index b69cf0fcdc7..a16b2dff37c 100644 --- a/.github/workflows/Deploy-Standalone.yml +++ b/.github/workflows/Deploy-Standalone.yml @@ -10,26 +10,26 @@ jobs: runs-on: ubuntu-latest name: Build and Deploy Job steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 with: submodules: true - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo key: ${{ runner.os }}-turbo-docs-${{ github.sha }} restore-keys: | ${{ runner.os }}-turbo-docs- - - name: Set up Node.js version 20.x - uses: actions/setup-node@v1 + - name: Set up Node.js version 24.x + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] diff --git a/.github/workflows/ISSUE_MANAGEMENT.yml b/.github/workflows/ISSUE_MANAGEMENT.yml index ccce7ce6130..0dfb5b00a51 100644 --- a/.github/workflows/ISSUE_MANAGEMENT.yml +++ b/.github/workflows/ISSUE_MANAGEMENT.yml @@ -11,7 +11,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v4 + - uses: actions/stale@v10 with: only-labels: 'Needs More Info' days-before-issue-stale: 3 @@ -21,7 +21,7 @@ jobs: close-issue-message: "This issue has been closed because the information requested wasn't provided within 7 days." operations-per-run: 200 repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/stale@v4 + - uses: actions/stale@v10 with: only-labels: 'daily-status' days-before-issue-stale: 1 diff --git a/.github/workflows/check-ai-docs.yml b/.github/workflows/check-ai-docs.yml index 2e992b9d50b..f89dfbb6b8f 100644 --- a/.github/workflows/check-ai-docs.yml +++ b/.github/workflows/check-ai-docs.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Regenerate AI docs run: ./scripts/generate-ai-docs.sh diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index ca336b8b01f..5d45ec67fdc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,11 +39,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, 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@v3 + uses: github/codeql-action/autobuild@v4 # â„šī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 diff --git a/.github/workflows/compile-loc.yml b/.github/workflows/compile-loc.yml index cfddde2a0d5..1ee87e473e8 100644 --- a/.github/workflows/compile-loc.yml +++ b/.github/workflows/compile-loc.yml @@ -11,18 +11,18 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v2 + uses: actions/checkout@v5 with: token: ${{ secrets.AUTOMATION_PAT }} - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -31,7 +31,7 @@ jobs: run: npm run compile:loc - name: Commit changes - uses: EndBug/add-and-commit@v7 + uses: EndBug/add-and-commit@v10 with: author_name: Loc Bot author_email: travisharris@microsoft.com diff --git a/.github/workflows/copilot-cleanup.yml b/.github/workflows/copilot-cleanup.yml index a8a69f14fc8..2162b5a7a5f 100644 --- a/.github/workflows/copilot-cleanup.yml +++ b/.github/workflows/copilot-cleanup.yml @@ -18,15 +18,13 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - - uses: pnpm/action-setup@v4 - with: - version: 9 + - uses: pnpm/action-setup@v5 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: '20' cache: 'pnpm' diff --git a/.github/workflows/copilot-design-pass.yml b/.github/workflows/copilot-design-pass.yml index db1f9613fff..9c9c175c530 100644 --- a/.github/workflows/copilot-design-pass.yml +++ b/.github/workflows/copilot-design-pass.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Check invoker permissions id: check-perms diff --git a/.github/workflows/copilot-flake-review.yml b/.github/workflows/copilot-flake-review.yml index d60ecc1ea4e..629e0e38605 100644 --- a/.github/workflows/copilot-flake-review.yml +++ b/.github/workflows/copilot-flake-review.yml @@ -26,13 +26,11 @@ jobs: outputs: has_flakes: ${{ steps.analyze.outputs.has_flakes }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: pnpm/action-setup@v4 - with: - version: 9 + - uses: pnpm/action-setup@v5 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: '20' cache: 'pnpm' @@ -93,7 +91,7 @@ jobs: - name: Upload flake report if: steps.analyze.outputs.has_flakes == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: flake-report path: /tmp/flake-results/flakes.json @@ -105,13 +103,11 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: pnpm/action-setup@v4 - with: - version: 9 + - uses: pnpm/action-setup@v5 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v5 with: node-version: '20' cache: 'pnpm' @@ -123,7 +119,7 @@ jobs: run: npm install -g @github/copilot@latest - name: Download flake report - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: flake-report path: /tmp/flake-results/ diff --git a/.github/workflows/copilot-investigate.yml b/.github/workflows/copilot-investigate.yml index cce55dac49f..5d7935d40d7 100644 --- a/.github/workflows/copilot-investigate.yml +++ b/.github/workflows/copilot-investigate.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 50 @@ -76,7 +76,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 50 diff --git a/.github/workflows/copilot-resolve-conflicts.yml b/.github/workflows/copilot-resolve-conflicts.yml index 7b12680ce6d..f7daca26528 100644 --- a/.github/workflows/copilot-resolve-conflicts.yml +++ b/.github/workflows/copilot-resolve-conflicts.yml @@ -51,7 +51,7 @@ jobs: matrix: pr: ${{ fromJSON(needs.find-conflicting-prs.outputs.conflicting-prs) }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 diff --git a/.github/workflows/issue-sync.yml b/.github/workflows/issue-sync.yml index 82183956f5f..2e757cae499 100644 --- a/.github/workflows/issue-sync.yml +++ b/.github/workflows/issue-sync.yml @@ -32,10 +32,10 @@ jobs: id-token: write name: Sync workflow steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TESTING_TENANT_ID }} diff --git a/.github/workflows/loc-auto-merge.yml b/.github/workflows/loc-auto-merge.yml index dea960719d5..d4ccb71faa7 100644 --- a/.github/workflows/loc-auto-merge.yml +++ b/.github/workflows/loc-auto-merge.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v5 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 2ed18f530c8..4c7068496a1 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -15,13 +15,13 @@ jobs: shardIndex: [1, 2, 3] shardTotal: [3] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: - node-version: 20.x - - uses: pnpm/action-setup@v3 + node-version: 24.x + package-manager-cache: false + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -32,7 +32,7 @@ jobs: run: pnpm run test:e2e:designer --grep @mock --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} env: TEST_SHARDED: true - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: designer-playwright-report-${{ matrix.shardIndex }} @@ -44,13 +44,14 @@ jobs: needs: [designer-e2e-shards] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - name: Download blob reports from GitHub Actions Artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: path: all-blob-reports pattern: designer-playwright-report-* @@ -60,7 +61,7 @@ jobs: run: npx playwright merge-reports --reporter html ./all-blob-reports - name: Upload HTML report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: designer-playwright-report path: playwright-report @@ -71,13 +72,13 @@ jobs: timeout-minutes: 90 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: - node-version: 20.x - - uses: pnpm/action-setup@v3 + node-version: 24.x + package-manager-cache: false + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -86,7 +87,7 @@ jobs: run: pnpm run e2e:setup - name: Run Chat Client Playwright tests run: pnpm run test:e2e:chatClient --grep @mock - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 if: always() with: name: chat-client-playwright-report diff --git a/.github/workflows/pr-ai-validation.yml b/.github/workflows/pr-ai-validation.yml index 9f4e5e4ad16..59509bb0779 100644 --- a/.github/workflows/pr-ai-validation.yml +++ b/.github/workflows/pr-ai-validation.yml @@ -17,7 +17,7 @@ jobs: timeout-minutes: 5 steps: - name: Check if contributor is trusted - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | if (!context.payload.pull_request) { @@ -53,7 +53,7 @@ jobs: core.setFailed('External contributor - requires manual approval'); - name: Checkout for prompt access - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: sparse-checkout: prompts/copilot-pr-desc-check.md @@ -62,7 +62,7 @@ jobs: - name: Gather PR data id: gather - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | const pr = context.payload.pull_request; @@ -151,7 +151,7 @@ jobs: - name: Fallback to Logic App if: steps.validate.outputs.cli_success != 'true' id: fallback - uses: actions/github-script@v7 + uses: actions/github-script@v8 env: LOGIC_APP_URL: ${{ vars.PR_VALIDATION_LOGIC_APP_URL }} with: @@ -186,7 +186,7 @@ jobs: - name: Post result and manage labels if: always() - uses: actions/github-script@v7 + uses: actions/github-script@v8 env: CLI_SUCCESS: ${{ steps.validate.outputs.cli_success }} with: diff --git a/.github/workflows/pr-coverage.yml b/.github/workflows/pr-coverage.yml index c04be0f3dc4..d385e66595a 100644 --- a/.github/workflows/pr-coverage.yml +++ b/.github/workflows/pr-coverage.yml @@ -13,12 +13,12 @@ jobs: steps: - name: Checkout PR branch - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo key: ${{ runner.os }}-turbo-${{ github.sha }} @@ -26,14 +26,14 @@ jobs: ${{ runner.os }}-turbo- - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - name: Install pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v47 with: files: | **/*.ts @@ -347,7 +347,7 @@ jobs: - name: Post coverage comment on PR if: always() - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | const fs = require('fs'); diff --git a/.github/workflows/private-vsix-build.yml b/.github/workflows/private-vsix-build.yml index ad982c5752b..09dc875eced 100644 --- a/.github/workflows/private-vsix-build.yml +++ b/.github/workflows/private-vsix-build.yml @@ -12,17 +12,17 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [20.x, 22.x, 24.x] steps: # checkout the repo - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo key: ${{ runner.os }}-turbo-${{ github.sha }} @@ -30,13 +30,13 @@ jobs: ${{ runner.os }}-turbo- - name: Set up Node.js version ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v5 with: node-version: ${{ matrix.node-version }} + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -54,18 +54,18 @@ jobs: steps: # checkout the repo - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: fetch-depth: 0 - - name: Set up Node.js version 20 - uses: actions/setup-node@v1 + - name: Set up Node.js version 24 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -88,7 +88,7 @@ jobs: run: pnpm run vscode:designer:pack - name: Archive VSIX - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: path: | apps/vs-code-designer/dist/*.vsix diff --git a/.github/workflows/production-build.yml b/.github/workflows/production-build.yml index ba42538f4cd..6e22ca924d7 100644 --- a/.github/workflows/production-build.yml +++ b/.github/workflows/production-build.yml @@ -46,19 +46,19 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: token: ${{ secrets.AUTOMATION_PAT }} fetch-depth: 0 - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -79,18 +79,18 @@ jobs: steps: # checkout the repo - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: fetch-depth: 0 - - name: Set up Node.js version 20 - uses: actions/setup-node@v1 + - name: Set up Node.js version 24 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -109,12 +109,12 @@ jobs: - name: 'Get Previous tag' id: previoustag - uses: 'WyriHaximus/github-action-get-previous-tag@v1' + uses: 'WyriHaximus/github-action-get-previous-tag@v2' with: fallback: 0.0.0 - name: Archive VSIX - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: path: | apps/vs-code-designer/dist/*.vsix @@ -134,25 +134,25 @@ jobs: id-token: write steps: - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: token: ${{ secrets.AUTOMATION_PAT }} - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TESTING_TENANT_ID }} subscription-id: ${{ secrets.AZURE_TESTING_SUBSCRIPTION_ID }} - name: Set up Node.js - uses: actions/setup-node@v1 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] diff --git a/.github/workflows/real-e2e.yml b/.github/workflows/real-e2e.yml index 477115780cf..b14a67df667 100644 --- a/.github/workflows/real-e2e.yml +++ b/.github/workflows/real-e2e.yml @@ -21,10 +21,10 @@ jobs: env: RGName : rg${{ github.run_id }}${{ github.run_attempt }}${{ matrix.shardIndex }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TESTING_TENANT_ID }} @@ -38,9 +38,8 @@ jobs: --subscription ${{ secrets.AZURE_TESTING_SUBSCRIPTION_ID }} \ --template-file ./e2e/testSetup/BlankLogicApp/logicAppStandard.bicep - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -49,7 +48,7 @@ jobs: run: pnpm run e2e:setup - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TESTING_TENANT_ID }} @@ -74,7 +73,7 @@ jobs: run: pnpm run scrub-secrets:e2e - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 if: always() with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} @@ -89,7 +88,7 @@ jobs: - name: Upload blob report to GitHub Actions Artifacts if: ${{ !cancelled() }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: blob-report-${{ matrix.shardIndex }} path: blob-report @@ -104,13 +103,14 @@ jobs: permissions: id-token: write steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 with: - node-version: 18 + node-version: 24 + package-manager-cache: false - name: Download blob reports from GitHub Actions Artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: path: all-blob-reports pattern: blob-report-* @@ -120,7 +120,7 @@ jobs: run: npx playwright merge-reports --reporter html ./all-blob-reports - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 if: always() with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} @@ -136,7 +136,7 @@ jobs: echo "::notice title=HTML report url::https://lauxtestreport.z13.web.core.windows.net/$REPORT_DIR/index.html" - name: Upload HTML report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: html-report--attempt-${{ github.run_attempt }} path: playwright-report diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba1b82cdd6f..fd7e930c515 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,17 +11,17 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x, 22.x] + node-version: [20.x, 22.x, 24.x] steps: # checkout the repo - name: 'Checkout Github Action' - uses: actions/checkout@master + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo key: ${{ runner.os }}-turbo-${{ github.sha }} @@ -29,13 +29,13 @@ jobs: ${{ runner.os }}-turbo- - name: Set up Node.js version ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v5 with: node-version: ${{ matrix.node-version }} + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index ef606ff3e5b..fadc840788d 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -23,15 +23,16 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 - name: 'Set up Node.js' - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - name: 'Validate Inputs' id: validate @@ -93,7 +94,7 @@ jobs: - name: 'Generate Release Notes' id: generate-notes - uses: actions/github-script@v7 + uses: actions/github-script@v8 with: script: | const newTag = '${{ steps.determine-version.outputs.NEW_TAG }}'; diff --git a/.github/workflows/update-knowledge-graphs.yml b/.github/workflows/update-knowledge-graphs.yml index b3ab1b75222..24188a7b252 100644 --- a/.github/workflows/update-knowledge-graphs.yml +++ b/.github/workflows/update-knowledge-graphs.yml @@ -18,13 +18,13 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 1 token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.13' diff --git a/.github/workflows/upload-templates.yml b/.github/workflows/upload-templates.yml index 51677fba5e8..cfde28c1bcf 100644 --- a/.github/workflows/upload-templates.yml +++ b/.github/workflows/upload-templates.yml @@ -14,16 +14,16 @@ jobs: contents: read steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -32,7 +32,7 @@ jobs: run: pnpm run templates --download-images --subdirectory logicapps - name: Azure login - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TEMPLATES_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TEMPLATES_TENANT_ID }} diff --git a/.github/workflows/version-release.yml b/.github/workflows/version-release.yml index f37ca92b621..2aba9f523df 100644 --- a/.github/workflows/version-release.yml +++ b/.github/workflows/version-release.yml @@ -57,19 +57,19 @@ jobs: permissions: write-all steps: - name: 'Checkout Github Action' - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 0 - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -167,19 +167,19 @@ jobs: id-token: write # for Azure login steps: - name: 'Checkout Github Action' - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ needs.create-release.outputs.tag_name }} fetch-depth: 0 - name: 'Set up Node.js' - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20 + node-version: 24 + package-manager-cache: false - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -199,7 +199,7 @@ jobs: run: pnpm run vscode:designer:pack - name: 'Archive VSIX' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: vscode-extension path: | @@ -233,7 +233,7 @@ jobs: # NPM Publishing - name: 'Azure login' - uses: azure/login@v2 + uses: azure/login@v3 with: client-id: ${{ secrets.AZURE_TESTING_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TESTING_TENANT_ID }} diff --git a/.github/workflows/vscode-e2e.yml b/.github/workflows/vscode-e2e.yml index cf5380bba3f..e5995103bf5 100644 --- a/.github/workflows/vscode-e2e.yml +++ b/.github/workflows/vscode-e2e.yml @@ -53,12 +53,12 @@ jobs: build-artifact: extension-build-${{ github.sha }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Cache turbo build setup - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: .turbo # Content-based key: hits across pushes that don't change source. @@ -68,9 +68,10 @@ jobs: ${{ runner.os }}-turbo- - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: - node-version: 20.x + node-version: 24.x + package-manager-cache: false - name: Symlink node to system path (for func host child processes) run: | @@ -88,7 +89,7 @@ jobs: done - name: Setup .NET SDK - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' @@ -98,7 +99,7 @@ jobs: # and pnpm reuses store entries while falling back to the network for # anything missing (no --offline strictness). - name: Cache pnpm store - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.local/share/pnpm/store key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} @@ -106,9 +107,8 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] @@ -130,7 +130,7 @@ jobs: $(find apps/vs-code-designer/node_modules/.cache -maxdepth 0 -type d 2>/dev/null) - name: Upload extension build artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: extension-build-${{ github.sha }} path: extension-build.tar.gz @@ -150,14 +150,15 @@ jobs: timeout-minutes: 30 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 20.x + package-manager-cache: false - name: Symlink node to system path (for func host child processes) run: | @@ -171,7 +172,7 @@ jobs: done - name: Cache pnpm store - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.local/share/pnpm/store key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} @@ -179,15 +180,14 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] - name: Download extension build artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: extension-build-${{ github.sha }} path: . @@ -201,7 +201,7 @@ jobs: sudo apt-get install -y xvfb libgbm-dev libgtk-3-0 libnss3 libasound2t64 libxss1 libatk-bridge2.0-0 libatk1.0-0 - name: Cache Logic Apps runtime dependencies - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.azurelogicapps/dependencies key: la-runtime-deps-${{ runner.os }}-v1 @@ -282,7 +282,7 @@ jobs: Microsoft.Azure.Functions.ExtensionBundle.Workflows - name: Upload workspace fixtures artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: workspace-fixtures-${{ github.sha }} path: workspace-fixtures.tar.gz @@ -290,7 +290,7 @@ jobs: if-no-files-found: error - name: Upload Logic Apps extension bundle artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: logic-apps-extension-bundle-${{ github.sha }} path: logic-apps-extension-bundle.tar.gz @@ -298,7 +298,7 @@ jobs: if-no-files-found: error - name: Upload fixture screenshots on failure - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 if: failure() with: name: vscode-e2e-screenshots-setup-fixtures @@ -375,14 +375,15 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 20.x + package-manager-cache: false - name: Symlink node to system path (for func host child processes) run: | @@ -402,7 +403,7 @@ jobs: env -i /usr/bin/node --version - name: Cache pnpm store - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.local/share/pnpm/store key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} @@ -410,15 +411,14 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] - name: Download extension build artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: extension-build-${{ github.sha }} path: . @@ -429,7 +429,7 @@ jobs: # Scenarios that self-create their workspaces set use_workspace_fixtures=false. - name: Download workspace fixtures artifact if: matrix.use_workspace_fixtures == true - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: workspace-fixtures-${{ github.sha }} path: . @@ -448,7 +448,7 @@ jobs: - name: Download Logic Apps extension bundle artifact if: matrix.use_bundle_artifact == true - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: logic-apps-extension-bundle-${{ github.sha }} path: . @@ -466,7 +466,7 @@ jobs: sudo apt-get install -y xvfb libgbm-dev libgtk-3-0 libnss3 libasound2t64 libxss1 libatk-bridge2.0-0 libatk1.0-0 - name: Cache Logic Apps runtime dependencies - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.azurelogicapps/dependencies key: la-runtime-deps-${{ runner.os }}-v1 @@ -509,7 +509,7 @@ jobs: TMPDIR: ${{ runner.temp }} - name: Upload test screenshots (always) - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 if: always() with: name: vscode-e2e-screenshots-${{ matrix.shard }} @@ -549,14 +549,15 @@ jobs: vscode-version: 1.123.0 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: ${{ matrix.node-version }} + package-manager-cache: false - name: Symlink node to system path run: | @@ -572,7 +573,7 @@ jobs: env -i /usr/bin/node --version - name: Cache pnpm store - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.local/share/pnpm/store key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} @@ -580,15 +581,14 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v5 with: - version: 9.1.3 run_install: | - recursive: true args: [--frozen-lockfile, --strict-peer-dependencies] - name: Download extension build artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: extension-build-${{ github.sha }} path: . @@ -619,7 +619,7 @@ jobs: TMPDIR: ${{ runner.temp }} - name: Upload test screenshots (always) - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 if: always() with: name: vscode-e2e-screenshots-compat-${{ matrix.label }} diff --git a/Localize/lang/strings.json b/Localize/lang/strings.json index 3a382abf132..b8356c3a7a1 100644 --- a/Localize/lang/strings.json +++ b/Localize/lang/strings.json @@ -39,7 +39,6 @@ "+l5XmZ": "Enter a positive integer between {min} and {max}", "+mAJR3": "(UTC+08:00) Kuala Lumpur, Singapore", "+mNJQl": "Create a logic app", - "+nCfrr": "Delete assertion", "+nKZHB": "Can't upload file. Please try again. Error: {errorMessage}", "+oX/2M": "Add actions to define the steps in your workflow", "+oelX4": "Required. The string to examine.", @@ -386,7 +385,6 @@ "5R1r3q": "Create a new connection", "5SAQOb": "Authority", "5Tqzsm": "Categorization", - "5U6Dee": "Action Result", "5Vbd0e": "Select a knowledge hub", "5VhY2X": "Loading models...", "5WTRY8": "Errors", @@ -427,7 +425,6 @@ "6776lH": "Processing...", "67FI5P": "Integration service environment", "68UJHa": "This list shows the new resources to create for your logic app and existing resources if any.", - "69+CIW": "View workflow", "6ASWgB": "Confirm that you want to delete this MCP server group? You can't undo this action.", "6D5fAm": "Trigger", "6DZp5H": "Search", @@ -500,7 +497,6 @@ "7MP7FJ": "How do values resolve at runtime?", "7MbFEx": "Select a connection", "7N+Zcl": "App Service Plan", - "7PTnxD": "New assertion", "7PtWvu": "(UTC-05:00) Eastern Time (US & Canada)", "7QymrD": "Required. The string from which the substring is taken.", "7ScdN6": "Name", @@ -534,7 +530,6 @@ "8+0teU": "Parameter name already exists.", "8+TVCG": "Edit: {selectedOperationSummary}", "8/Vjz3": "Knowledge base", - "805nCJ": "Error Message", "80T6Ut": "The deployment is taking longer than expected. Please check the Azure portal for more details.", "80z7j2": "Key-based authentication", "810OUB": "When triggered by another workflow", @@ -719,7 +714,6 @@ "BYrP8F": "Number", "BYsNzz": "Your template has been unpublished.", "Bewmet": "Array", - "BfGFkk": "Test icon", "Bft/H3": "All the benefits of Stateful, plus the option to build AI agents in your workflow to automate complex tasks.", "BjrVzW": "Resource group", "Bkc/+3": "Retry policy minimum interval is invalid, must match ISO 8601 duration format", @@ -914,7 +908,6 @@ "FTrMxN": "Close", "FUXlzD": "Run ID: {id}", "FUuFlC": "Default", - "FUvA4o": "Must provide a condition expression.", "FXLR5M": "{hours, plural, one {# hour} other {# hours}}", "FYtDP0": "Enter an email address.", "Fcvgvg": "Search", @@ -950,7 +943,6 @@ "GQnN3U": "Explain flow", "GR5+k2": "AI and machine learning capabilities", "GSzT3T": "Refresh", - "GX3fkR": "New assertion", "GXFvm+": "To enable chat client for production, setup authentication.", "GYu5XE": "Failed to load run details", "GYui13": "Continue editing", @@ -993,7 +985,6 @@ "H9pzpO": "Deleted the following hub artifacts:", "HDqP2g": "Required. The key name of the form data value to return.", "HET2nV": "Add a Variable", - "HF2SNx": "Is successful", "HF4xfS": "Enter agent name...", "HFt+tF": "Favorites", "HH970i": "Month", @@ -1171,7 +1162,6 @@ "LBlM+D": "Not specified", "LCRHQ9": "(UTC+12:00) Fiji", "LElaX3": "Next flow suggestion", - "LG7hSo": "Assertions", "LGUiVk": "Public access", "LLJrOT": "Description", "LMB8am": "Creating...", @@ -1190,7 +1180,6 @@ "LZm3ze": "Add a parallel branch", "LaFlFh": "Removed this action", "Ld62T8": "Delete", - "LdBN0m": "Assertion name", "LdITnG": "(UTC-03:00) Cayenne, Fortaleza", "LeR+TX": "Zoom in", "Lft/is": "Add new", @@ -1408,7 +1397,6 @@ "Peg6ZT": "Setting errors", "Pehyf2": "Enter agent instructions...", "PfCJlN": "Workflow functions", - "PhBS5+": "Enter name", "PjBcG3": "(UTC+02:00) Amman", "Pk4cb+": "Tracked properties", "Pnt0Xj": "Explain how to receive files from SFTP server.", @@ -1636,7 +1624,6 @@ "U3iWVd": "Generates an array of integers starting from a certain number", "U4zovj": "Runs {onTime} {onDays}", "U6V60S": "Validation failed :", - "U7UAV0": "Mocked Results Tab", "U82s8v": "Select a subscription, resource group and Logic App instance to find the workflows you want to convert to templates. Your changes apply only to this template and won't affect the original workflows.", "U9SHxw": "Code", "UCNM4L": "To reference a parameter, use the dynamic content list.", @@ -1728,7 +1715,6 @@ "VbMYd8": "Triggers tell your app when to start running. Each workflow needs at least one trigger.", "VchR9d": "Headers", "Vecdzb": "Logic app details", - "VfUtlo": "Save unit test definition", "Vi5TIV": "No warnings found.", "ViOMjt": "Use the chat client to talk to your agent.", "VjvWve": "Microsoft Authored", @@ -2003,7 +1989,6 @@ "_+l5XmZ.comment": "description of maximum waiting runs setting", "_+mAJR3.comment": "Time zone value ", "_+mNJQl.comment": "Create new logic app link", - "_+nCfrr.comment": "Create Assertion Text", "_+nKZHB.comment": "Error message when file upload fails in add files panel", "_+oX/2M.comment": "Description of what Actions are, on a tooltip about Actions", "_+oelX4.comment": "Required string parameter to check if is integer using isInt function", @@ -2350,7 +2335,6 @@ "_5R1r3q.comment": "Button text to create a new connection", "_5SAQOb.comment": "Authority Label Display Name", "_5Tqzsm.comment": "Categorization section title", - "_5U6Dee.comment": "The label for the action result dropdown in the unit test panel.", "_5Vbd0e.comment": "Placeholder text for knowledge hub dropdown", "_5VhY2X.comment": "Placeholder while models load for create form", "_5WTRY8.comment": "The tab label for the errors tab on the errors panel", @@ -2391,7 +2375,6 @@ "_6776lH.comment": "Processing message in the chatbot", "_67FI5P.comment": "ISE divider label", "_68UJHa.comment": "The aria label for the resources table", - "_69+CIW.comment": "View workflow button text", "_6ASWgB.comment": "Content for the delete MCP server group modal", "_6D5fAm.comment": "Tag for trigger operations", "_6DZp5H.comment": "Placeholder text for search connectors", @@ -2464,7 +2447,6 @@ "_7MP7FJ.comment": "Link text for learning more about tool parameters", "_7MbFEx.comment": "Title for step 1 - connection selection", "_7N+Zcl.comment": "The type for app service plan resource", - "_7PTnxD.comment": "Heading title for an assertion without name", "_7PtWvu.comment": "Time zone value ", "_7QymrD.comment": "Required string parameter required to obtain substring", "_7ScdN6.comment": "Deployment model resource name label", @@ -2498,7 +2480,6 @@ "_8+0teU.comment": "Error message when the workflow parameter name already exists.", "_8+TVCG.comment": "Title for edit operation panel", "_8/Vjz3.comment": "Title for knowledge hub editor", - "_805nCJ.comment": "Label for the error message input field", "_80T6Ut.comment": "Error message shown when deployment times out", "_80z7j2.comment": "Description for key-based authentication", "_810OUB.comment": "Workflow execution trigger category", @@ -2683,7 +2664,6 @@ "_BYrP8F.comment": "Placeholder title for a newly inserted Number parameter", "_BYsNzz.comment": "Title for the toaster after unpublishing template.", "_Bewmet.comment": "Title for array dropdown input setting", - "_BfGFkk.comment": "Test icon aria label", "_Bft/H3.comment": "Autonomous agents workflow description", "_BjrVzW.comment": "Label for choosing resource group", "_Bkc/+3.comment": "error message for invalid minimum retry interval", @@ -2878,7 +2858,6 @@ "_FTrMxN.comment": "Button text for closing the panel", "_FUXlzD.comment": "Label for the run ID", "_FUuFlC.comment": "Default, the backup option if none other apply", - "_FUvA4o.comment": "Error message when the assertion condition expression is empty.", "_FXLR5M.comment": "A duration of time shown in hours", "_FYtDP0.comment": "The placeholder description for a newly inserted 'Email' parameter.", "_Fcvgvg.comment": "Default placeholder for search box that searches dropdown options", @@ -2914,7 +2893,6 @@ "_GQnN3U.comment": "Chatbot prompt to explain the flow", "_GR5+k2.comment": "AI Agent category description", "_GSzT3T.comment": "Refresh button text to reload agent details", - "_GX3fkR.comment": "New Assertion Text", "_GXFvm+.comment": "Option 2 description when auth is not enabled", "_GYu5XE.comment": "Error message title when a single run fails to load", "_GYui13.comment": "Button text for closing the delete hub artifacts modal", @@ -2957,7 +2935,6 @@ "_H9pzpO.comment": "Content for the toaster after successfully deleting hub artifacts, with the names of the deleted artifacts", "_HDqP2g.comment": "Required string parameter to be used as key for triggerFormDataValue function", "_HET2nV.comment": "label to add a variable", - "_HF2SNx.comment": "Successful action result", "_HF4xfS.comment": "Placeholder for agent name input", "_HFt+tF.comment": "Favorites category", "_HH970i.comment": "Frequency value ", @@ -3135,7 +3112,6 @@ "_LBlM+D.comment": "The status message to show not specified in monitoring view.", "_LCRHQ9.comment": "Time zone value ", "_LElaX3.comment": "Text for button that shows the next flow suggestion", - "_LG7hSo.comment": "Unit test assertions button", "_LGUiVk.comment": "Label for the public access field", "_LLJrOT.comment": "Label for the operation description field", "_LMB8am.comment": "Button text to show a connection is being created", @@ -3154,7 +3130,6 @@ "_LZm3ze.comment": "Text for button to add a parallel branch", "_LaFlFh.comment": "Chatbot removed operation sentence format", "_Ld62T8.comment": "Button text for deleting selected workflows", - "_LdBN0m.comment": "Assertion field name title", "_LdITnG.comment": "Time zone value ", "_LeR+TX.comment": "Aria label for a button that zooms in on the workflow", "_Lft/is.comment": "Button to add a new connection", @@ -3372,7 +3347,6 @@ "_Peg6ZT.comment": "Header for the setting errors subsection", "_Pehyf2.comment": "Placeholder for instructions textarea", "_PfCJlN.comment": "Label for workflow functions", - "_PhBS5+.comment": "Assertion field name placeholder", "_PjBcG3.comment": "Time zone value ", "_Pk4cb+.comment": "title for tracked properties setting", "_Pnt0Xj.comment": "Chatbot suggestion message to recieve specific files from SFTP server", @@ -3600,7 +3574,6 @@ "_U3iWVd.comment": "Label for description of custom range Function", "_U4zovj.comment": "Recurrence schedule description on days of week at times", "_U6V60S.comment": "Error message title for workflow validation errors", - "_U7UAV0.comment": "An accessibility label that describes the mocked results tab", "_U82s8v.comment": "Label for the logic app resource selection description", "_U9SHxw.comment": "Code view title", "_UCNM4L.comment": "Description for Workflow Parameters Part 2", @@ -3692,7 +3665,6 @@ "_VbMYd8.comment": "Description of what Triggers are, on a tooltip about Triggers", "_VchR9d.comment": "Headers", "_Vecdzb.comment": "Logic app details step title", - "_VfUtlo.comment": "Save unit test button", "_Vi5TIV.comment": "Text to show when no warnings exist", "_ViOMjt.comment": "Option 2 description when auth is enabled", "_VjvWve.comment": "Label text for Microsoft authored templates tab", @@ -3950,7 +3922,6 @@ "_aSnCCB.comment": "Header for resource lcoation", "_aV/nLS.comment": "Frequency value ", "_aWcxdZ.comment": "Label text custom templates tab", - "_aWkG01.comment": "Unsupported message for mock results tab", "_aYTy7X.comment": "The status message to show in monitoring view.", "_aZtqSZ.comment": "Default error message for deployment model resource creation", "_afCjXx.comment": "Custom time range start label", @@ -4079,7 +4050,6 @@ "_cwHxwb.comment": "Text for create connection button", "_cx1uqu.comment": "Label for wrapping selected actions in a scope", "_cyEBus.comment": "Time zone value ", - "_cySYfO.comment": "Failed action result", "_d020eg.comment": "Label for description of custom first Function", "_d0BKdI.comment": "Message displayed when search returns no results", "_d0wgcV.comment": "Indicates that the run is currently waiting", @@ -4130,7 +4100,6 @@ "_dsz+Ae.comment": "Label for description of custom split Function", "_duhwio.comment": "Label for the API key", "_dwrqEc.comment": "Warnings section title", - "_dzPAxq.comment": "Edit Assertion Text", "_e+GuGo.comment": "Placeholder title for a newly inserted Text parameter", "_e00zot.comment": "Recurrence parameter group title", "_e1+Gqi.comment": "Description for resource location section.", @@ -4256,7 +4225,6 @@ "_gWNQQQ.comment": "Title for the resource selection section", "_gWyYg0.comment": "Time zone value ", "_gYaVvl.comment": "Error validation message for floats", - "_gZRdSs.comment": "Label for the error code input field", "_gaHI0k.comment": "Message to show when 0 or more than 2 items are present in the overflow menu", "_gc6v4X.comment": "Text for system assigned managed identity", "_gcn3Jg.comment": "Placeholder for the group description input field", @@ -4316,7 +4284,6 @@ "_hRVVdR.comment": "Chatbot undo button for undoing assistant change to flow", "_hTjAB+.comment": "Error message when tool name exceeds maximum characters", "_hUnLzB.comment": "Chatbot progress message shown while generating the final workflow from connector results", - "_hW7oe7.comment": "Assertion field description placeholder", "_hZqQdt.comment": "Time zone value ", "_haeWoU.comment": "Error message when splitOn cannot be evaluated", "_hbOvB4.comment": "Dislike button text for suggested flow", @@ -4469,7 +4436,6 @@ "_kM+Mr0.comment": "Loading text when items are being fetched", "_kN6kce.comment": "Label for description of custom decodeBase64 Function", "_kSK9Pq.comment": "Time zone value ", - "_kSXjTx.comment": "Assertion field no description text", "_kU4VfD.comment": "Choice group first choice: Stateful Type", "_kVwJXt.comment": "Time zone value ", "_kXn5e0.comment": "Chabot input placeholder text", @@ -4498,7 +4464,6 @@ "_kxv92S.comment": "Confirmation message for deleting a server", "_l/3yJr.comment": "Text to show when there is an error with the connection", "_l/9YHQ.comment": "Time zone value ", - "_l0hO5f.comment": "Error message when the workflow assertion name already exists.", "_l2YXln.comment": "Chatbot prompt to replace an action", "_l36V56.comment": "This is a time duration in full non abbreviated format", "_l3nn+9.comment": "Required field label", @@ -4511,7 +4476,6 @@ "_l9TY/4.comment": "ARIA label and tooltip text for the popup button", "_lA/sHA.comment": "Accessibility label for a button to copy all text in a value box", "_lB56l2.comment": "Error validation message for Numbers", - "_lC+EbT.comment": "The tab label for the mocked results tab on the operation panel", "_lFWXhc.comment": "The tab label for the monitoring parameters tab on the operation panel", "_lIVS+K.comment": "Name of the organization or developer that published this template", "_lK+Vzo.comment": "This is an option in a dropdown where users can select type Secure String for their parameter.", @@ -4679,7 +4643,6 @@ "_oBK3A4.comment": "Accessible label for editable expression token", "_oChTO9.comment": "Accessibility label for the select workflow row checkbox", "_oDHXKh.comment": "Display name for item output", - "_oFq3ng.comment": "Assertions Panel Title", "_oGINHJ.comment": "Workflow version filter label", "_oIRKrF.comment": "Text to show no connections present in the template.", "_oJebOR.comment": "Button text displayed while saving authentication settings", @@ -4863,7 +4826,6 @@ "_s0Qaot.comment": "Workflow Parameters Panel", "_s2f0XK.comment": "Content for the toaster after creating a group in add files panel", "_s2ydQX.comment": "Error validation message for invalid JSON object. Do not remove the double single quotes around the display name, as it is needed to wrap the placeholder text.", - "_s4omwa.comment": "Assertion field description title", "_s5AOpV.comment": "Label for the title for panel header card", "_s5RV9B.comment": "Label for description of custom dayOfMonth Function", "_s5jHO7.comment": "Label for agent name input", @@ -4948,7 +4910,6 @@ "_tEqgJQ.comment": "Delete button disabled tooltip text", "_tGSsgZ.comment": "Placehodler text for dropdown", "_tH2pT1.comment": "Text for the Details page navigation heading", - "_tHDcfJ.comment": "Error message when the assertion name is empty.", "_tHFp5l.comment": "Title for the main section with the count of tools", "_tIl0ss.comment": "Title for YouTube video iframe", "_tImHz/.comment": "This is a time duration in abbreviated format", @@ -5033,7 +4994,6 @@ "_uh/+ZN.comment": "Time zone value ", "_ui3KuP.comment": "Header for the input errors category", "_ui7GCl.comment": "Hour of the day", - "_ujp53j.comment": "Assertion field condition title", "_ukB9Bs.comment": "Setup section description in info dialog", "_ukGRNP.comment": "Message shown when parallel branch addition is disabled on root in A2A workflows", "_umLmPm.comment": "Operation Panel", @@ -5330,7 +5290,6 @@ "aSnCCB": "Location", "aV/nLS": "Second", "aWcxdZ": "My Templates", - "aWkG01": "This operation does not support mocking. Mocking is only supported for operations that are connected to a service provider, function, API connection, or API Management.", "aYTy7X": "Cancelled", "aZtqSZ": "An error occurred while creating the deployment model resource.", "afCjXx": "Start", @@ -5459,7 +5418,6 @@ "cwHxwb": "Add connection", "cx1uqu": "Scope", "cyEBus": "(UTC-04:00) Cuiaba", - "cySYfO": "Has failed", "d020eg": "Returns the first element from the passed-in array or string.", "d0BKdI": "Search can't find any results.", "d0wgcV": "Waiting", @@ -5510,7 +5468,6 @@ "dsz+Ae": "Splits the string using a separator", "duhwio": "API key", "dwrqEc": "Warnings", - "dzPAxq": "Edit assertion", "e+GuGo": "Input", "e00zot": "How often do you want to check for items?", "e1+Gqi": "Select the resource location for your workflow", @@ -5636,7 +5593,6 @@ "gWNQQQ": "Project details", "gWyYg0": "(UTC+05:00) Ashgabat, Tashkent", "gYaVvl": "Enter a valid float.", - "gZRdSs": "Error Code", "gaHI0k": "{overflowItemsLength} more items", "gc6v4X": "System-assigned managed identity", "gcn3Jg": "Enter a description", @@ -5696,7 +5652,6 @@ "hRVVdR": "Undo", "hTjAB+": "Tool name cannot exceed maximum characters", "hUnLzB": "Building workflow...", - "hW7oe7": "Enter description", "hZqQdt": "(UTC+02:00) Gaza, Hebron", "haeWoU": "Failed to evaluate outputs because splitOn {splitOn} cannot be evaluated. As a result, this operation's outputs might not be correctly visible in subsequent actions", "hbOvB4": "This isn't what I'm looking for", @@ -5849,7 +5804,6 @@ "kM+Mr0": "Loading...", "kN6kce": "Returns a string representation of an input based64 string", "kSK9Pq": "(UTC-05:00) Bogota, Lima, Quito, Rio Branco", - "kSXjTx": "No description", "kU4VfD": "Stateful", "kVwJXt": "(UTC+04:00) Abu Dhabi, Muscat", "kXn5e0": "Ask a question about this workflow or about Azure Logic Apps as a whole ...", @@ -5878,7 +5832,6 @@ "kxv92S": "Successfully deleted MCP server: ''{serverName}''.", "l/3yJr": "Invalid connection", "l/9YHQ": "(UTC+01:00) Windhoek", - "l0hO5f": "Assertion name already exists.", "l2YXln": "Replace action with", "l36V56": "{hours} hours {minutes} minutes", "l3nn+9": "Required field", @@ -5891,7 +5844,6 @@ "l9TY/4": "Open in popup", "lA/sHA": "Copy the value of ''{label}'' to the clipboard", "lB56l2": "Enter a valid number.", - "lC+EbT": "Mocked Results", "lFWXhc": "Workflow", "lIVS+K": "By", "lK+Vzo": "Secure string", @@ -6059,7 +6011,6 @@ "oBK3A4": "Edit {tokenTitle} expression", "oChTO9": "Select workflow row checkbox label", "oDHXKh": "Item", - "oFq3ng": "Assertions", "oGINHJ": "Version", "oIRKrF": "No connections in this template", "oJebOR": "Saving...", @@ -6243,7 +6194,6 @@ "s0Qaot": "Workflow Parameters Panel", "s2f0XK": "Group {name} has been created and selected.", "s2ydQX": "''Value'' must be a valid JSON object", - "s4omwa": "Description", "s5AOpV": "Card title", "s5RV9B": "Returns the day of year component of a string timestamp", "s5jHO7": "Agent name", @@ -6328,7 +6278,6 @@ "tEqgJQ": "Cannot delete the last parameter", "tGSsgZ": "select an identity", "tH2pT1": "Return to search", - "tHDcfJ": "Must provide the assertion name.", "tHFp5l": "Tools", "tIl0ss": "YouTube video player", "tImHz/": "{days}d {hours}h", @@ -6413,7 +6362,6 @@ "uh/+ZN": "(UTC-03:00) Greenland", "ui3KuP": "Operation errors", "ui7GCl": "16", - "ujp53j": "Condition expression", "ukB9Bs": "To enable authentication for production use, follow the authentication setup guide.", "ukGRNP": "Cannot add parallel branches on the root level in agent to agent workflows", "umLmPm": "Operation Panel", diff --git a/apps/docs/package.json b/apps/docs/package.json index 4adb4c8a61b..fbf8431ff21 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -23,7 +23,7 @@ "typescript": "5.6.3" }, "engines": { - "node": ">=18.0" + "node": ">=20" }, "private": true, "scripts": { diff --git a/apps/vs-code-designer/src/constants.ts b/apps/vs-code-designer/src/constants.ts index 865bb7489e2..51aef671ebe 100644 --- a/apps/vs-code-designer/src/constants.ts +++ b/apps/vs-code-designer/src/constants.ts @@ -103,7 +103,7 @@ export const azureWebJobsStorageKey = 'AzureWebJobsStorage'; export const functionsInprocNet8Enabled = 'FUNCTIONS_INPROC_NET8_ENABLED'; export const functionsInprocNet8EnabledTrue = '1'; export const azureWebJobsSecretStorageTypeKey = 'AzureWebJobsSecretStorageType'; -export const workflowappRuntime = 'node|20'; +export const workflowappRuntime = 'node|22'; export const viewOutput = localize('viewOutput', 'View Output'); export const webhookRedirectHostUri = 'Workflows.WebhookRedirectHostUri'; export const workflowAppAADClientId = 'WORKFLOWAPP_AAD_CLIENTID'; @@ -337,7 +337,7 @@ export const workflowOperationDiscoveryHostModeKey = 'Runtime.WorkflowOperationD export const DependencyVersion = { dotnet8: '8.0.318', funcCoreTools: '4.0.7030', - nodeJs: '20.18.3', + nodeJs: '24.15.0', } as const; export type DependencyVersion = (typeof DependencyVersion)[keyof typeof DependencyVersion]; diff --git a/e2e/designer/real-api/SanityTest/sanity-test.spec.ts b/e2e/designer/real-api/SanityTest/sanity-test.spec.ts index cac01f3a60b..6c3f89c911e 100644 --- a/e2e/designer/real-api/SanityTest/sanity-test.spec.ts +++ b/e2e/designer/real-api/SanityTest/sanity-test.spec.ts @@ -1,5 +1,5 @@ import { test } from '../../fixtures/real-api'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'Sanity Check', diff --git a/e2e/designer/real-api/StatelessVariables/statelessvariables.spec.ts b/e2e/designer/real-api/StatelessVariables/statelessvariables.spec.ts index 34fe5361281..1d04b383563 100644 --- a/e2e/designer/real-api/StatelessVariables/statelessvariables.spec.ts +++ b/e2e/designer/real-api/StatelessVariables/statelessvariables.spec.ts @@ -1,5 +1,5 @@ import { test } from '../../fixtures/real-api'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'Stateless Variables', diff --git a/e2e/designer/real-api/agentic/agentConnections.spec.ts b/e2e/designer/real-api/agentic/agentConnections.spec.ts index 2b3c7183552..745feccd217 100644 --- a/e2e/designer/real-api/agentic/agentConnections.spec.ts +++ b/e2e/designer/real-api/agentic/agentConnections.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '../../fixtures/real-api'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'Agent Connections', { diff --git a/e2e/designer/real-api/browse/browseCustomConnectorOperations.spec.ts b/e2e/designer/real-api/browse/browseCustomConnectorOperations.spec.ts index 3c62426756d..df8435511ed 100644 --- a/e2e/designer/real-api/browse/browseCustomConnectorOperations.spec.ts +++ b/e2e/designer/real-api/browse/browseCustomConnectorOperations.spec.ts @@ -1,5 +1,5 @@ import { test, expect } from '../../fixtures/real-api'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'Browse Custom Connector Operations', diff --git a/e2e/designer/real-api/custom-code/custom-code.spec.ts b/e2e/designer/real-api/custom-code/custom-code.spec.ts index a02f34b2d36..4c6dfefc441 100644 --- a/e2e/designer/real-api/custom-code/custom-code.spec.ts +++ b/e2e/designer/real-api/custom-code/custom-code.spec.ts @@ -1,5 +1,5 @@ import { test } from '../../fixtures/real-api'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'Custom Code', { diff --git a/e2e/designer/real-api/editors/htmleditor.spec.ts b/e2e/designer/real-api/editors/htmleditor.spec.ts index 22fb5be537a..79164d0cc27 100644 --- a/e2e/designer/real-api/editors/htmleditor.spec.ts +++ b/e2e/designer/real-api/editors/htmleditor.spec.ts @@ -1,7 +1,7 @@ // We don't load HTML editor in any of our built in operations, so must be done in real API e2e tests import { test } from '../../fixtures/real-api'; import { expect } from '@playwright/test'; -import workflow from './workflow.json' assert { type: 'json' }; +import workflow from './workflow.json' with { type: 'json' }; test.describe( 'HTML Editor', diff --git a/e2e/designer/serialization.spec.ts b/e2e/designer/serialization.spec.ts index fa7ccb6a558..625d1db10c4 100644 --- a/e2e/designer/serialization.spec.ts +++ b/e2e/designer/serialization.spec.ts @@ -1,9 +1,9 @@ import { test, expect } from '@playwright/test'; import { GoToMockWorkflow } from './utils/GoToWorkflow'; import { getSerializedWorkflowFromState } from './utils/designerFunctions'; -import panelData from '../../__mocks__/workflows/Panel.json' assert { type: 'json' }; -import switchData from '../../__mocks__/workflows/Switch.json' assert { type: 'json' }; -import unicodeKeysData from '../../__mocks__/workflows/UnicodeKeys.json' assert { type: 'json' }; +import panelData from '../../__mocks__/workflows/Panel.json' with { type: 'json' }; +import switchData from '../../__mocks__/workflows/Switch.json' with { type: 'json' }; +import unicodeKeysData from '../../__mocks__/workflows/UnicodeKeys.json' with { type: 'json' }; test.describe( 'Serialization Tests', diff --git a/libs/a2a-core/src/client/http-client-abort.test.ts b/libs/a2a-core/src/client/http-client-abort.test.ts index 8a814e76c10..d3322803235 100644 --- a/libs/a2a-core/src/client/http-client-abort.test.ts +++ b/libs/a2a-core/src/client/http-client-abort.test.ts @@ -1,3 +1,6 @@ +// @vitest-environment node +// These tests exercise the fetch/Request/AbortController stack; run them in the node +// environment so AbortSignal and Request share the undici realm (Node 24 validates this). import { describe, it, expect, vi, beforeEach } from 'vitest'; import { HttpClient } from './http-client'; diff --git a/libs/a2a-core/src/client/http-client-edge.test.ts b/libs/a2a-core/src/client/http-client-edge.test.ts index 1bd3755179d..ec4941718a7 100644 --- a/libs/a2a-core/src/client/http-client-edge.test.ts +++ b/libs/a2a-core/src/client/http-client-edge.test.ts @@ -1,3 +1,6 @@ +// @vitest-environment node +// These tests exercise the fetch/Request/AbortController stack; run them in the node +// environment so AbortSignal and Request share the undici realm (Node 24 validates this). import { describe, it, expect, vi, beforeEach } from 'vitest'; import { HttpClient } from './http-client'; diff --git a/libs/a2a-core/src/client/http-client-jsonrpc.test.ts b/libs/a2a-core/src/client/http-client-jsonrpc.test.ts index b30ffac8c25..e39de898ba0 100644 --- a/libs/a2a-core/src/client/http-client-jsonrpc.test.ts +++ b/libs/a2a-core/src/client/http-client-jsonrpc.test.ts @@ -1,3 +1,6 @@ +// @vitest-environment node +// These tests exercise the fetch/Request/AbortController stack; run them in the node +// environment so AbortSignal and Request share the undici realm (Node 24 validates this). import { describe, it, expect, vi, beforeEach } from 'vitest'; import { HttpClient } from './http-client'; import { JsonRpcErrorResponse, JsonRpcErrorCode } from '../types/errors'; diff --git a/libs/a2a-core/src/client/http-client.test.ts b/libs/a2a-core/src/client/http-client.test.ts index 7e993e5f3ba..1f55dd5357f 100644 --- a/libs/a2a-core/src/client/http-client.test.ts +++ b/libs/a2a-core/src/client/http-client.test.ts @@ -1,3 +1,6 @@ +// @vitest-environment node +// These tests exercise the fetch/Request/AbortController stack; run them in the node +// environment so AbortSignal and Request share the undici realm (Node 24 validates this). import { describe, it, expect, vi, beforeEach } from 'vitest'; import { HttpClient } from './http-client'; import type { AuthConfig } from './types'; diff --git a/libs/a2a-core/src/react/test/setup.ts b/libs/a2a-core/src/react/test/setup.ts index c160ee4add1..efafb9b67f3 100644 --- a/libs/a2a-core/src/react/test/setup.ts +++ b/libs/a2a-core/src/react/test/setup.ts @@ -120,8 +120,8 @@ global.DataTransfer = DataTransferPolyfill; beforeEach(() => { vi.mocked(global.fetch).mockReset(); - // Ensure document.body exists for happy-dom v18 - if (!document.body) { + // Ensure document.body exists for happy-dom v18 (jsdom-only; skipped in the node environment) + if (typeof document !== 'undefined' && !document.body) { const body = document.createElement('body'); document.documentElement.appendChild(body); } @@ -149,20 +149,22 @@ global.TextDecoderStream = class TextDecoderStream { } }; -// Mock window.matchMedia -Object.defineProperty(window, 'matchMedia', { - writable: true, - value: vi.fn().mockImplementation((query) => ({ - matches: false, - media: query, - onchange: null, - addListener: vi.fn(), // deprecated - removeListener: vi.fn(), // deprecated - addEventListener: vi.fn(), - removeEventListener: vi.fn(), - dispatchEvent: vi.fn(), - })), -}); +// Mock window.matchMedia (jsdom-only; skipped in the node environment) +if (typeof window !== 'undefined') { + Object.defineProperty(window, 'matchMedia', { + writable: true, + value: vi.fn().mockImplementation((query) => ({ + matches: false, + media: query, + onchange: null, + addListener: vi.fn(), // deprecated + removeListener: vi.fn(), // deprecated + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + dispatchEvent: vi.fn(), + })), + }); +} // Reset all mocks after each test afterEach(() => { diff --git a/libs/chatbot/package.json b/libs/chatbot/package.json index 0db9c6cbbaf..6421ba2fb74 100644 --- a/libs/chatbot/package.json +++ b/libs/chatbot/package.json @@ -14,7 +14,7 @@ "react": "18.2.0" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/data-mapper-v2/package.json b/libs/data-mapper-v2/package.json index 0e9a6a678a3..89d5b83b0ef 100644 --- a/libs/data-mapper-v2/package.json +++ b/libs/data-mapper-v2/package.json @@ -42,7 +42,7 @@ "@types/pathfinding": "^0.0.9" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/data-mapper/package.json b/libs/data-mapper/package.json index 26573541ff5..980057c8980 100644 --- a/libs/data-mapper/package.json +++ b/libs/data-mapper/package.json @@ -36,7 +36,7 @@ "@types/pathfinding": "^0.0.9" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/designer-ui/package.json b/libs/designer-ui/package.json index a3d3d9d2f27..bcc1ff54fa1 100644 --- a/libs/designer-ui/package.json +++ b/libs/designer-ui/package.json @@ -51,7 +51,7 @@ "timezone-mock": "^1.3.6" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/designer-v2/package.json b/libs/designer-v2/package.json index 56bd5700dab..58665038ee2 100644 --- a/libs/designer-v2/package.json +++ b/libs/designer-v2/package.json @@ -53,7 +53,7 @@ "@types/to-title-case": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/designer/package.json b/libs/designer/package.json index d6cf64c86cf..3aa6558b027 100644 --- a/libs/designer/package.json +++ b/libs/designer/package.json @@ -52,7 +52,7 @@ "@types/file-saver": "^2.0.5" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/logic-apps-shared/package.json b/libs/logic-apps-shared/package.json index 66c36994245..12412e8846a 100644 --- a/libs/logic-apps-shared/package.json +++ b/libs/logic-apps-shared/package.json @@ -12,7 +12,7 @@ "tslib": "2.4.0" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/libs/vscode-extension/package.json b/libs/vscode-extension/package.json index e841129c935..70f615f7506 100644 --- a/libs/vscode-extension/package.json +++ b/libs/vscode-extension/package.json @@ -24,7 +24,7 @@ "react-dom": "^16.4.0 || ^17.0.0 || ^18.0.0" }, "engines": { - "node": ">=12" + "node": ">=20" }, "exports": { ".": { diff --git a/package.json b/package.json index 6b84cdc54a1..b043740e12b 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@testing-library/react": "^15.0.2", "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^14.6.1", - "@types/node": "^20.12.7", + "@types/node": "^24.0.0", "@types/react": "18.3.0", "@types/react-dom": "18.3.0", "@types/react-test-renderer": "^18.0.7", @@ -64,7 +64,7 @@ "vitest": "^3.2.6" }, "engines": { - "node": ">=18", + "node": ">=20", "pnpm": ">=9" }, "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5264c43f8b..c235dd23cb3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,7 +75,7 @@ importers: version: 2.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.7)(typescript@5.7.2) + version: 10.9.2(@types/node@24.7.2)(typescript@5.7.2) devDependencies: '@biomejs/biome': specifier: 1.9.4 @@ -111,8 +111,8 @@ importers: specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.0.0) '@types/node': - specifier: ^20.12.7 - version: 20.12.7 + specifier: ^24.0.0 + version: 24.7.2 '@types/react': specifier: 18.3.0 version: 18.3.0 @@ -133,10 +133,10 @@ importers: version: 8.29.1(eslint@9.26.0(jiti@1.21.0))(typescript@5.7.2) '@vitejs/plugin-react': specifier: ^4.4.6 - version: 4.6.0(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) + version: 4.6.0(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) '@vitest/coverage-istanbul': specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.12.7)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) + version: 3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) '@vitest/ui': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.6) @@ -238,7 +238,7 @@ importers: version: 0.8.4 tsup: specifier: ^8.0.2 - version: 8.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.7.2))(typescript@5.7.2) + version: 8.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.7.2))(typescript@5.7.2) turbo: specifier: ^2.9.14 version: 2.9.14 @@ -250,13 +250,13 @@ importers: version: 7.7.0(eslint@9.26.0(jiti@1.21.0))(typescript@5.7.2) vite-plugin-mkcert: specifier: ^1.17.8 - version: 1.17.8(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) + version: 1.17.8(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) vite-plugin-node-polyfills: specifier: ^0.23.0 - version: 0.23.0(rollup@4.62.2)(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) + version: 0.23.0(rollup@4.62.2)(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) vitest: specifier: ^3.2.6 - version: 3.2.6(@types/debug@4.1.12)(@types/node@20.12.7)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) + version: 3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) apps/Standalone: dependencies: @@ -6624,9 +6624,6 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} - '@types/node@24.7.2': resolution: {integrity: sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==} @@ -14425,9 +14422,6 @@ packages: underscore@1.13.6: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@7.14.0: resolution: {integrity: sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==} @@ -22353,10 +22347,6 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@20.12.7': - dependencies: - undici-types: 5.26.5 - '@types/node@24.7.2': dependencies: undici-types: 7.14.0 @@ -22781,18 +22771,6 @@ snapshots: dependencies: react: 18.3.1 - '@vitejs/plugin-react@4.6.0(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) - '@rolldown/pluginutils': 1.0.0-beta.19 - '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) - transitivePeerDependencies: - - supports-color - '@vitejs/plugin-react@4.6.0(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': dependencies: '@babel/core': 7.27.4 @@ -22805,7 +22783,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/coverage-istanbul@3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.12.7)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': + '@vitest/coverage-istanbul@3.2.4(vitest@3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': dependencies: '@istanbuljs/schema': 0.1.3 debug: 4.4.3(supports-color@8.1.1) @@ -22817,7 +22795,7 @@ snapshots: magicast: 0.3.5 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.12.7)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) transitivePeerDependencies: - supports-color @@ -22863,14 +22841,6 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.6(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': - dependencies: - '@vitest/spy': 3.2.6 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) - '@vitest/mocker@3.2.6(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3))': dependencies: '@vitest/spy': 3.2.6 @@ -29404,13 +29374,13 @@ snapshots: postcss: 8.5.16 postcss-selector-parser: 6.0.16 - postcss-load-config@4.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.7.2)): + postcss-load-config@4.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.7.2)): dependencies: lilconfig: 3.1.1 yaml: 2.8.3 optionalDependencies: postcss: 8.5.16 - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@24.7.2)(typescript@5.7.2) postcss-load-config@6.0.1(jiti@1.21.0)(postcss@8.5.12)(yaml@2.8.3): dependencies: @@ -31804,14 +31774,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.12.7)(typescript@5.7.2): + ts-node@10.9.2(@types/node@24.7.2)(typescript@5.7.2): 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': 20.12.7 + '@types/node': 24.7.2 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -31837,7 +31807,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.7.2))(typescript@5.7.2): + tsup@8.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.7.2))(typescript@5.7.2): dependencies: bundle-require: 4.0.2(esbuild@0.25.5) cac: 6.7.14 @@ -31847,7 +31817,7 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.7.2)) + postcss-load-config: 4.0.2(postcss@8.5.16)(ts-node@10.9.2(@types/node@24.7.2)(typescript@5.7.2)) resolve-from: 5.0.0 rollup: 4.27.3 source-map: 0.8.0-beta.0 @@ -32048,8 +32018,6 @@ snapshots: underscore@1.13.6: {} - undici-types@5.26.5: {} - undici-types@7.14.0: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -32326,27 +32294,6 @@ snapshots: vite-bundle-analyzer@1.2.3: {} - vite-node@3.2.4(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-node@3.2.4(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): dependencies: cac: 6.7.14 @@ -32368,15 +32315,6 @@ snapshots: - tsx - yaml - vite-plugin-mkcert@1.17.8(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)): - dependencies: - axios: 1.16.0(debug@4.4.3) - debug: 4.4.3(supports-color@8.1.1) - picocolors: 1.1.1 - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) - transitivePeerDependencies: - - supports-color - vite-plugin-mkcert@1.17.8(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)): dependencies: axios: 1.16.0(debug@4.4.3) @@ -32394,31 +32332,14 @@ snapshots: transitivePeerDependencies: - rollup - vite-plugin-node-polyfills@0.23.0(rollup@4.62.2)(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)): + vite-plugin-node-polyfills@0.23.0(rollup@4.62.2)(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.62.2) node-stdlib-browser: 1.2.0 - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) + vite: 6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) transitivePeerDependencies: - rollup - vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): - dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 - postcss: 8.5.16 - rollup: 4.62.2 - tinyglobby: 0.2.17 - optionalDependencies: - '@types/node': 20.12.7 - fsevents: 2.3.3 - jiti: 1.21.0 - less: 4.2.0 - lightningcss: 1.32.0 - terser: 5.30.2 - yaml: 2.8.3 - vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): dependencies: esbuild: 0.25.12 @@ -32436,11 +32357,11 @@ snapshots: terser: 5.30.2 yaml: 2.8.3 - vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.12.7)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): + vitest@3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4(vitest@3.2.6))(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@26.1.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.6 - '@vitest/mocker': 3.2.6(vite@6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) + '@vitest/mocker': 3.2.6(vite@6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3)) '@vitest/pretty-format': 3.2.7 '@vitest/runner': 3.2.6 '@vitest/snapshot': 3.2.6 @@ -32458,15 +32379,15 @@ snapshots: tinyglobby: 0.2.17 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.4.3(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) - vite-node: 3.2.4(@types/node@20.12.7)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) + vite: 6.4.3(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) + vite-node: 3.2.4(@types/node@24.7.2)(jiti@1.21.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 20.12.7 + '@types/node': 24.7.2 '@vitest/ui': 3.2.4(vitest@3.2.6) happy-dom: 20.9.0 - jsdom: 24.0.0 + jsdom: 26.1.0 transitivePeerDependencies: - jiti - less @@ -32481,7 +32402,7 @@ snapshots: - tsx - yaml - vitest@3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4(vitest@3.2.6))(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@26.1.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): + vitest@3.2.6(@types/debug@4.1.12)(@types/node@24.7.2)(@vitest/ui@3.2.4)(happy-dom@20.9.0)(jiti@1.21.0)(jsdom@24.0.0)(less@4.2.0)(lightningcss@1.32.0)(terser@5.30.2)(yaml@2.8.3): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.6 @@ -32511,7 +32432,7 @@ snapshots: '@types/node': 24.7.2 '@vitest/ui': 3.2.4(vitest@3.2.6) happy-dom: 20.9.0 - jsdom: 26.1.0 + jsdom: 24.0.0 transitivePeerDependencies: - jiti - less