From 17ef62403286751e8ab29241907cc6ac98fb1621 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 22 Jan 2025 14:21:20 +0000 Subject: [PATCH 001/108] update examples version to 3.1.11 --- .azure/example-7.yml | 4 +- .azure/example-8.yml | 4 +- .azure/example-9.yml | 4 +- .github/workflows/example-7.yml | 4 +- .github/workflows/example-8.yml | 4 +- .../azure/gitreleasemanager/addasset.md | 2 +- .../examples/azure/gitreleasemanager/close.md | 2 +- .../azure/gitreleasemanager/create.md | 2 +- .../azure/gitreleasemanager/discard.md | 2 +- docs/examples/azure/gitreleasemanager/open.md | 2 +- .../azure/gitreleasemanager/publish.md | 2 +- .../examples/azure/gitreleasemanager/setup.md | 8 ++-- docs/examples/azure/gitversion/command.md | 16 +++---- docs/examples/azure/gitversion/execute.md | 44 +++++++++---------- docs/examples/azure/gitversion/setup.md | 10 ++--- .../github/gitreleasemanager/addasset.md | 2 +- .../github/gitreleasemanager/close.md | 2 +- .../github/gitreleasemanager/create.md | 2 +- .../github/gitreleasemanager/discard.md | 2 +- .../examples/github/gitreleasemanager/open.md | 2 +- .../github/gitreleasemanager/publish.md | 2 +- .../github/gitreleasemanager/setup.md | 8 ++-- docs/examples/github/gitversion/command.md | 16 +++---- docs/examples/github/gitversion/execute.md | 38 ++++++++-------- docs/examples/github/gitversion/setup.md | 10 ++--- package.json | 2 +- 26 files changed, 98 insertions(+), 98 deletions(-) diff --git a/.azure/example-7.yml b/.azure/example-7.yml index 2491982cc..12f3b36a0 100644 --- a/.azure/example-7.yml +++ b/.azure/example-7.yml @@ -15,12 +15,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 8694e1611..26fac980b 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -15,12 +15,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 4a95d083c..082d966c0 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -18,12 +18,12 @@ stages: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.github/workflows/example-7.yml b/.github/workflows/example-7.yml index 14bfdb6fa..d01ac3b37 100644 --- a/.github/workflows/example-7.yml +++ b/.github/workflows/example-7.yml @@ -17,13 +17,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 - run: | echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 7d02e9989..25c7d8fd1 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -23,13 +23,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix diff --git a/docs/examples/azure/gitreleasemanager/addasset.md b/docs/examples/azure/gitreleasemanager/addasset.md index 0821d3c61..1632aaf63 100644 --- a/docs/examples/azure/gitreleasemanager/addasset.md +++ b/docs/examples/azure/gitreleasemanager/addasset.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/addasset@3.1.10 + - task: gitreleasemanager/addasset@3.1.11 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/close.md b/docs/examples/azure/gitreleasemanager/close.md index e1d2e51ad..ad121afb8 100644 --- a/docs/examples/azure/gitreleasemanager/close.md +++ b/docs/examples/azure/gitreleasemanager/close.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/close@3.1.10 + - task: gitreleasemanager/close@3.1.11 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/create.md b/docs/examples/azure/gitreleasemanager/create.md index f113a7623..461492fb9 100644 --- a/docs/examples/azure/gitreleasemanager/create.md +++ b/docs/examples/azure/gitreleasemanager/create.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/create@3.1.10 + - task: gitreleasemanager/create@3.1.11 displayName: Create release with GitReleaseManager inputs: token: $(GITHUB_TOKEN) diff --git a/docs/examples/azure/gitreleasemanager/discard.md b/docs/examples/azure/gitreleasemanager/discard.md index d4c3b9cde..8336e784a 100644 --- a/docs/examples/azure/gitreleasemanager/discard.md +++ b/docs/examples/azure/gitreleasemanager/discard.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/discard@3.1.10 + - task: gitreleasemanager/discard@3.1.11 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/open.md b/docs/examples/azure/gitreleasemanager/open.md index 65dba1799..c23a07adf 100644 --- a/docs/examples/azure/gitreleasemanager/open.md +++ b/docs/examples/azure/gitreleasemanager/open.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/open@3.1.10 + - task: gitreleasemanager/open@3.1.11 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/publish.md b/docs/examples/azure/gitreleasemanager/publish.md index 7b5ac4852..a5cfdebde 100644 --- a/docs/examples/azure/gitreleasemanager/publish.md +++ b/docs/examples/azure/gitreleasemanager/publish.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/publish@3.1.10 + - task: gitreleasemanager/publish@3.1.11 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/setup.md b/docs/examples/azure/gitreleasemanager/setup.md index 1c61072d5..e0cc73fa0 100644 --- a/docs/examples/azure/gitreleasemanager/setup.md +++ b/docs/examples/azure/gitreleasemanager/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitreleasemanager/setup** task using the examples below. -> The examples use version _3.1.10_ of the GitReleaseManager Setup task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitReleaseManager Setup task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -29,7 +29,7 @@ Install the latest GitReleaseManager 0.18.x version. ```yaml steps: - - task: gitreleasemanager/setup@3.1.10 + - task: gitreleasemanager/setup@3.1.11 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.x' @@ -41,7 +41,7 @@ Install specific GitReleaseManager version 0.18.0. ```yaml steps: - - task: gitreleasemanager/setup@3.1.10 + - task: gitreleasemanager/setup@3.1.11 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.0' @@ -53,7 +53,7 @@ Install the latest GitReleaseManager 0.18.x version even it there is a cached ve ```yaml steps: - - task: gitreleasemanager/setup@3.1.10 + - task: gitreleasemanager/setup@3.1.11 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.x' diff --git a/docs/examples/azure/gitversion/command.md b/docs/examples/azure/gitversion/command.md index 629404aa4..c3153c923 100644 --- a/docs/examples/azure/gitversion/command.md +++ b/docs/examples/azure/gitversion/command.md @@ -10,7 +10,7 @@ steps: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' @@ -18,7 +18,7 @@ steps: These steps are omitted from the examples for brevity. -> The examples use version _3.1.10_ of the GitVersion Command task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Command task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -50,9 +50,9 @@ arguments: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/command@3.1.10 + - task: gitversion/command@3.1.11 displayName: Display GitVersion config inputs: arguments: '/showConfig' @@ -67,9 +67,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/command@3.1.10 + - task: gitversion/command@3.1.11 displayName: Output the FullSemVer variable inputs: arguments: '/showvariable FullSemVer' @@ -84,9 +84,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/command@3.1.10 + - task: gitversion/command@3.1.11 displayName: Output the formatted version inputs: arguments: '/format {Major}.{Minor}' # any Output Variable can be used here diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index 80636664c..e1276216f 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -10,7 +10,7 @@ steps: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' @@ -18,7 +18,7 @@ steps: These steps are omitted from the examples for brevity. -> The examples use version _3.1.10_ of the GitVersion Execute task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Execute task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -53,7 +53,7 @@ overrideConfig: description: | Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.: update-build-number=false - next-version=3.1.10 + next-version=3.1.11 required: false default: '' updateAssemblyInfo: @@ -114,9 +114,9 @@ The Execute GitVersion task creates the following job-scoped variables and multi ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version ``` @@ -129,9 +129,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version inputs: useConfigFile: true @@ -158,9 +158,9 @@ branches: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version inputs: useConfigFile: true @@ -176,9 +176,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version inputs: disableCache: true @@ -194,9 +194,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version inputs: updateAssemblyInfo: true @@ -211,14 +211,14 @@ steps: ```yaml steps: - # gitversion/setup@3.1.10 task omitted for brevity. + # gitversion/setup@3.1.11 task omitted for brevity. - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version inputs: overrideConfig: | update-build-number=false - next-version=3.1.10 + next-version=3.1.11 ``` @@ -250,12 +250,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -320,12 +320,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -411,12 +411,12 @@ stages: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' - - task: gitversion/execute@3.1.10 + - task: gitversion/execute@3.1.11 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/docs/examples/azure/gitversion/setup.md b/docs/examples/azure/gitversion/setup.md index 47da34196..9f1b505fa 100644 --- a/docs/examples/azure/gitversion/setup.md +++ b/docs/examples/azure/gitversion/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitversion/setup** task using the examples below. -> The examples use version _3.1.10_ of the GitVersion Setup task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Setup task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -45,7 +45,7 @@ Install the latest GitVersion 6 version. ```yaml steps: - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' @@ -57,7 +57,7 @@ Install GitVersion 6.0.0. ```yaml steps: - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.0' @@ -69,7 +69,7 @@ Install the latest GitVersion 6 pre-release version. For example **6.0.0-beta.6 ```yaml steps: - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' @@ -82,7 +82,7 @@ Install the latest GitVersion 6 version even it there is a cached version matchi ```yaml steps: - - task: gitversion/setup@3.1.10 + - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: versionSpec: '6.0.x' diff --git a/docs/examples/github/gitreleasemanager/addasset.md b/docs/examples/github/gitreleasemanager/addasset.md index 4f3b1682b..109ee3317 100644 --- a/docs/examples/github/gitreleasemanager/addasset.md +++ b/docs/examples/github/gitreleasemanager/addasset.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/addasset@v3.1.10 + - uses: gittools/actions/gitreleasemanager/addasset@v3.1.11 name: Add asset to a release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/close.md b/docs/examples/github/gitreleasemanager/close.md index 02611cc95..5df827ab5 100644 --- a/docs/examples/github/gitreleasemanager/close.md +++ b/docs/examples/github/gitreleasemanager/close.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/close@v3.1.10 + - uses: gittools/actions/gitreleasemanager/close@v3.1.11 name: Close release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/create.md b/docs/examples/github/gitreleasemanager/create.md index 939b5caef..cf42b1ecf 100644 --- a/docs/examples/github/gitreleasemanager/create.md +++ b/docs/examples/github/gitreleasemanager/create.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/create@v3.1.10 + - uses: gittools/actions/gitreleasemanager/create@v3.1.11 name: Create release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/discard.md b/docs/examples/github/gitreleasemanager/discard.md index 2884ebdd6..eb87784c8 100644 --- a/docs/examples/github/gitreleasemanager/discard.md +++ b/docs/examples/github/gitreleasemanager/discard.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/discard@v3.1.10 + - uses: gittools/actions/gitreleasemanager/discard@v3.1.11 name: Discard release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/open.md b/docs/examples/github/gitreleasemanager/open.md index f2fb5d378..892d09f57 100644 --- a/docs/examples/github/gitreleasemanager/open.md +++ b/docs/examples/github/gitreleasemanager/open.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/open@v3.1.10 + - uses: gittools/actions/gitreleasemanager/open@v3.1.11 name: Open release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/publish.md b/docs/examples/github/gitreleasemanager/publish.md index 14bba7ec3..4c9b94cd3 100644 --- a/docs/examples/github/gitreleasemanager/publish.md +++ b/docs/examples/github/gitreleasemanager/publish.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/publish@v3.1.10 + - uses: gittools/actions/gitreleasemanager/publish@v3.1.11 name: Publish release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/setup.md b/docs/examples/github/gitreleasemanager/setup.md index a8284f51b..6d54e81f8 100644 --- a/docs/examples/github/gitreleasemanager/setup.md +++ b/docs/examples/github/gitreleasemanager/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitreleasemanager/setup** action using the examples below. -> The examples use version _3.1.10_ of the GitReleaseManager Setup action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitReleaseManager Setup action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -30,7 +30,7 @@ Install the latest GitReleaseManager 0.18.x version. ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.10 + uses: gittools/actions/gitreleasemanager/setup@v3.1.11 with: versionSpec: '0.18.x' ``` @@ -42,7 +42,7 @@ Install specific GitReleaseManager version 0.18.0. ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.10 + uses: gittools/actions/gitreleasemanager/setup@v3.1.11 with: versionSpec: '0.18.0' ``` @@ -54,7 +54,7 @@ Install the latest GitReleaseManager 0.18.x version even it there is a cached ve ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.10 + uses: gittools/actions/gitreleasemanager/setup@v3.1.11 with: versionSpec: '0.18.x' preferLatestVersion: true diff --git a/docs/examples/github/gitversion/command.md b/docs/examples/github/gitversion/command.md index ce96a1d34..abd02feea 100644 --- a/docs/examples/github/gitversion/command.md +++ b/docs/examples/github/gitversion/command.md @@ -13,14 +13,14 @@ steps: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' ``` These steps are omitted from the examples for brevity. -> The examples use version _3.1.10_ of the GitVersion Command action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Command action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -52,10 +52,10 @@ arguments: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Display GitVersion config - uses: gittools/actions/gitversion/command@v3.1.10 + uses: gittools/actions/gitversion/command@v3.1.11 with: useConfigFile: true arguments: '/showConfig' @@ -70,10 +70,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Output the FullSemVer variable - uses: gittools/actions/gitversion/command@v3.1.10 + uses: gittools/actions/gitversion/command@v3.1.11 with: arguments: '/showvariable FullSemVer' ``` @@ -87,10 +87,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Output the formatted version - uses: gittools/actions/gitversion/command@v3.1.10 + uses: gittools/actions/gitversion/command@v3.1.11 with: arguments: '/format {Major}.{Minor}' # any Output Variable can be used here ``` diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index 02bd27c6f..abf1b0de5 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -13,14 +13,14 @@ steps: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' ``` These steps are omitted from the examples for brevity. -> The examples use version _3.1.10_ of the GitVersion Execute action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Execute action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -55,7 +55,7 @@ overrideConfig: description: | Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.: update-build-number=false - next-version=3.1.10 + next-version=3.1.11 required: false default: '' updateAssemblyInfo: @@ -116,10 +116,10 @@ The Execute GitVersion action creates the following outputs: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 ``` @@ -132,7 +132,7 @@ steps: ```yaml steps: - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true ``` @@ -157,10 +157,10 @@ branches: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true configFilePath: VersionConfig.yml @@ -175,10 +175,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 with: disableCache: true disableNormalization: true @@ -193,10 +193,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 with: updateAssemblyInfo: true ``` @@ -210,14 +210,14 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.10 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 with: overrideConfig: | update-build-number=false - next-version=3.1.10 + next-version=3.1.11 ``` @@ -246,13 +246,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 - run: | echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" @@ -336,13 +336,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.10 + uses: gittools/actions/gitversion/execute@v3.1.11 GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix diff --git a/docs/examples/github/gitversion/setup.md b/docs/examples/github/gitversion/setup.md index 6976efd35..20ba86bb0 100644 --- a/docs/examples/github/gitversion/setup.md +++ b/docs/examples/github/gitversion/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitversion/setup** action using the examples below. -> The examples use version _3.1.10_ of the GitVersion Setup action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.1.11_ of the GitVersion Setup action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -45,7 +45,7 @@ Install the latest GitVersion 6 version. ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' ``` @@ -57,7 +57,7 @@ Install GitVersion 6.0.0. ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.0' ``` @@ -69,7 +69,7 @@ Install the latest GitVersion 6 pre-release version. For example **6.0.0-beta.6 ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' includePrerelease: true @@ -82,7 +82,7 @@ Install the latest GitVersion 6 version even it there is a cached version matchi ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.10 + uses: gittools/actions/gitversion/setup@v3.1.11 with: versionSpec: '6.0.x' preferLatestVersion: true diff --git a/package.json b/package.json index 00a8f04e0..02485ec0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gittools-actions", - "version": "3.1.10", + "version": "3.1.11", "description": "Easy Semantic Versioning (https://semver.org) for projects using Git", "repository": { "type": "git", From 0f331b46bef8fc480e14e4e2baa3ad9a76896aac Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 22 Jan 2025 14:22:15 +0000 Subject: [PATCH 002/108] dist update --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 357f74b17..dba379528 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gittools-actions", - "version": "3.1.10", + "version": "3.1.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gittools-actions", - "version": "3.1.10", + "version": "3.1.11", "dependencies": { "semver": "^7.6.3" }, From 2760723c6ffd79d42dcec6f7f8501d23bc9e01ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 23 Jan 2025 05:21:09 +0000 Subject: [PATCH 003/108] (npm): Bump @types/node from 22.10.7 to 22.10.8 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.10.7 to 22.10.8 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index dba379528..0021a26f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.18.0", "@stylistic/eslint-plugin": "^2.13.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.7", + "@types/node": "^22.10.8", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", @@ -1129,10 +1129,11 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", - "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", + "version": "22.10.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.8.tgz", + "integrity": "sha512-rk+QvAEGsbX/ZPiiyel6hJHNUS9cnSbPWVaZLvE+Er3tLqQFzWMz9JOfWW7XUmKvRPfxJfbl3qYWve+RGXncFw==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~6.20.0" } diff --git a/package.json b/package.json index 02485ec0c..c92a66ded 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.18.0", "@stylistic/eslint-plugin": "^2.13.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.7", + "@types/node": "^22.10.8", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", From 73fcda751093d0c3d6e47d236fe8608c6a1fe604 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 05:28:40 +0000 Subject: [PATCH 004/108] (npm): Bump the vite group with 2 updates Bumps the vite group with 2 updates: [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite-node` from 3.0.3 to 3.0.4 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.4/packages/vite-node) Updates `vitest` from 3.0.3 to 3.0.4 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.4/packages/vitest) --- updated-dependencies: - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 111 ++++++++++++++++++++++++---------------------- package.json | 4 +- 2 files changed, 60 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0021a26f6..214f6bbd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "typescript": "^5.7.3", "typescript-eslint": "^8.21.0", "vite": "^6.0.11", - "vite-node": "^3.0.3", + "vite-node": "^3.0.4", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.3" + "vitest": "^3.0.4" }, "engines": { "node": ">=20.0.0" @@ -1358,14 +1358,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.3.tgz", - "integrity": "sha512-SbRCHU4qr91xguu+dH3RUdI5dC86zm8aZWydbp961aIR7G8OYNN6ZiayFuf9WAngRbFOfdrLHCGgXTj3GtoMRQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.4.tgz", + "integrity": "sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.3", - "@vitest/utils": "3.0.3", + "@vitest/spy": "3.0.4", + "@vitest/utils": "3.0.4", "chai": "^5.1.2", "tinyrainbow": "^2.0.0" }, @@ -1374,13 +1374,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.3.tgz", - "integrity": "sha512-XT2XBc4AN9UdaxJAeIlcSZ0ILi/GzmG5G8XSly4gaiqIvPV3HMTSIDZWJVX6QRJ0PX1m+W8Cy0K9ByXNb/bPIA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.4.tgz", + "integrity": "sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.3", + "@vitest/spy": "3.0.4", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1401,9 +1401,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.3.tgz", - "integrity": "sha512-gCrM9F7STYdsDoNjGgYXKPq4SkSxwwIU5nkaQvdUxiQ0EcNlez+PdKOVIsUJvh9P9IeIFmjn4IIREWblOBpP2Q==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.4.tgz", + "integrity": "sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==", "dev": true, "license": "MIT", "dependencies": { @@ -1414,38 +1414,38 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.3.tgz", - "integrity": "sha512-Rgi2kOAk5ZxWZlwPguRJFOBmWs6uvvyAAR9k3MvjRvYrG7xYvKChZcmnnpJCS98311CBDMqsW9MzzRFsj2gX3g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.4.tgz", + "integrity": "sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.3", - "pathe": "^2.0.1" + "@vitest/utils": "3.0.4", + "pathe": "^2.0.2" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.3.tgz", - "integrity": "sha512-kNRcHlI4txBGztuJfPEJ68VezlPAXLRT1u5UCx219TU3kOG2DplNxhWLwDf2h6emwmTPogzLnGVwP6epDaJN6Q==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.4.tgz", + "integrity": "sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.3", + "@vitest/pretty-format": "3.0.4", "magic-string": "^0.30.17", - "pathe": "^2.0.1" + "pathe": "^2.0.2" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.3.tgz", - "integrity": "sha512-7/dgux8ZBbF7lEIKNnEqQlyRaER9nkAL9eTmdKJkDO3hS8p59ATGwKOCUDHcBLKr7h/oi/6hP+7djQk8049T2A==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.4.tgz", + "integrity": "sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1456,13 +1456,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.3.tgz", - "integrity": "sha512-f+s8CvyzPtMFY1eZKkIHGhPsQgYo5qCm6O8KZoim9qm1/jT64qBgGpO5tHscNH6BzRHM+edLNOP+3vO8+8pE/A==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.4.tgz", + "integrity": "sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.3", + "@vitest/pretty-format": "3.0.4", "loupe": "^3.1.2", "tinyrainbow": "^2.0.0" }, @@ -5041,10 +5041,11 @@ } }, "node_modules/pathe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.1.tgz", - "integrity": "sha512-6jpjMpOth5S9ITVu5clZ7NOgHNsv5vRQdheL9ztp2vZmM6fRbLvyua1tiBIL4lk8SAe3ARzeXEly6siXCjDHDw==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz", + "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==", + "dev": true, + "license": "MIT" }, "node_modules/pathval": { "version": "2.0.0", @@ -6589,16 +6590,16 @@ } }, "node_modules/vite-node": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.3.tgz", - "integrity": "sha512-0sQcwhwAEw/UJGojbhOrnq3HtiZ3tC7BzpAa0lx3QaTX0S3YX70iGcik25UBdB96pmdwjyY2uyKNYruxCDmiEg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.4.tgz", + "integrity": "sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", "es-module-lexer": "^1.6.0", - "pathe": "^2.0.1", + "pathe": "^2.0.2", "vite": "^5.0.0 || ^6.0.0" }, "bin": { @@ -6631,31 +6632,31 @@ } }, "node_modules/vitest": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.3.tgz", - "integrity": "sha512-dWdwTFUW9rcnL0LyF2F+IfvNQWB0w9DERySCk8VMG75F8k25C7LsZoh6XfCjPvcR8Nb+Lqi9JKr6vnzH7HSrpQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.4.tgz", + "integrity": "sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.3", - "@vitest/mocker": "3.0.3", - "@vitest/pretty-format": "^3.0.3", - "@vitest/runner": "3.0.3", - "@vitest/snapshot": "3.0.3", - "@vitest/spy": "3.0.3", - "@vitest/utils": "3.0.3", + "@vitest/expect": "3.0.4", + "@vitest/mocker": "3.0.4", + "@vitest/pretty-format": "^3.0.4", + "@vitest/runner": "3.0.4", + "@vitest/snapshot": "3.0.4", + "@vitest/spy": "3.0.4", + "@vitest/utils": "3.0.4", "chai": "^5.1.2", "debug": "^4.4.0", "expect-type": "^1.1.0", "magic-string": "^0.30.17", - "pathe": "^2.0.1", + "pathe": "^2.0.2", "std-env": "^3.8.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.3", + "vite-node": "3.0.4", "why-is-node-running": "^2.3.0" }, "bin": { @@ -6669,9 +6670,10 @@ }, "peerDependencies": { "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.3", - "@vitest/ui": "3.0.3", + "@vitest/browser": "3.0.4", + "@vitest/ui": "3.0.4", "happy-dom": "*", "jsdom": "*" }, @@ -6679,6 +6681,9 @@ "@edge-runtime/vm": { "optional": true }, + "@types/debug": { + "optional": true + }, "@types/node": { "optional": true }, diff --git a/package.json b/package.json index c92a66ded..e55d68998 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "typescript": "^5.7.3", "typescript-eslint": "^8.21.0", "vite": "^6.0.11", - "vite-node": "^3.0.3", + "vite-node": "^3.0.4", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.3" + "vitest": "^3.0.4" }, "dependencies": { "semver": "^7.6.3" From 32df9810edefce2f93c8cd9a0eb057aa7e5214d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 05:34:32 +0000 Subject: [PATCH 005/108] (npm): Bump @types/node from 22.10.8 to 22.10.10 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.10.8 to 22.10.10 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 214f6bbd5..2a99beb38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.18.0", "@stylistic/eslint-plugin": "^2.13.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.8", + "@types/node": "^22.10.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", @@ -1129,9 +1129,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.8.tgz", - "integrity": "sha512-rk+QvAEGsbX/ZPiiyel6hJHNUS9cnSbPWVaZLvE+Er3tLqQFzWMz9JOfWW7XUmKvRPfxJfbl3qYWve+RGXncFw==", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index e55d68998..e7426cb89 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.18.0", "@stylistic/eslint-plugin": "^2.13.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.8", + "@types/node": "^22.10.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", From 5367146c290a164ea38c910f46bc500d30703948 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 05:40:42 +0000 Subject: [PATCH 006/108] (npm): Bump lint-staged from 15.4.1 to 15.4.2 Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.4.1 to 15.4.2. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.4.1...v15.4.2) --- updated-dependencies: - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 45 ++++++++++++++++++++++++++++----------------- package.json | 2 +- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2a99beb38..7baa77227 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "glob": "^11.0.1", "globals": "^15.14.0", "husky": "^9.1.7", - "lint-staged": "^15.4.1", + "lint-staged": "^15.4.2", "markdownlint-cli": "^0.43.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", @@ -4028,21 +4028,22 @@ } }, "node_modules/lint-staged": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.1.tgz", - "integrity": "sha512-P8yJuVRyLrm5KxCtFx+gjI5Bil+wO7wnTl7C3bXhvtTaAFGirzeB24++D0wGoUwxrUKecNiehemgCob9YL39NA==", + "version": "15.4.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.2.tgz", + "integrity": "sha512-gCqzB/Li281uZJgReNci+oXXqUEdrFAQAzTE/LwoxxiEuP41vozNe4BATS+4ehdqkWn+Z6bGc3EDcBja3npBVw==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "~5.4.1", - "commander": "~12.1.0", - "debug": "~4.4.0", - "execa": "~8.0.1", - "lilconfig": "~3.1.3", - "listr2": "~8.2.5", - "micromatch": "~4.0.8", - "pidtree": "~0.6.0", - "string-argv": "~0.3.2", - "yaml": "~2.6.1" + "chalk": "^5.4.1", + "commander": "^13.1.0", + "debug": "^4.4.0", + "execa": "^8.0.1", + "lilconfig": "^3.1.3", + "listr2": "^8.2.5", + "micromatch": "^4.0.8", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.7.0" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -4066,6 +4067,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/lint-staged/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/lint-staged/node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", @@ -6955,9 +6966,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index e7426cb89..2cf9f5ad9 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "glob": "^11.0.1", "globals": "^15.14.0", "husky": "^9.1.7", - "lint-staged": "^15.4.1", + "lint-staged": "^15.4.2", "markdownlint-cli": "^0.43.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", From d1bde726ba7ded403f19a4b21cc697c44a9be292 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 05:34:42 +0000 Subject: [PATCH 007/108] (npm): Bump lint-staged from 15.4.2 to 15.4.3 Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.4.2 to 15.4.3. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.4.2...v15.4.3) --- updated-dependencies: - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7baa77227..1a38a6b87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "glob": "^11.0.1", "globals": "^15.14.0", "husky": "^9.1.7", - "lint-staged": "^15.4.2", + "lint-staged": "^15.4.3", "markdownlint-cli": "^0.43.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", @@ -4028,9 +4028,9 @@ } }, "node_modules/lint-staged": { - "version": "15.4.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.2.tgz", - "integrity": "sha512-gCqzB/Li281uZJgReNci+oXXqUEdrFAQAzTE/LwoxxiEuP41vozNe4BATS+4ehdqkWn+Z6bGc3EDcBja3npBVw==", + "version": "15.4.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.3.tgz", + "integrity": "sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 2cf9f5ad9..bf7cb6d45 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "glob": "^11.0.1", "globals": "^15.14.0", "husky": "^9.1.7", - "lint-staged": "^15.4.2", + "lint-staged": "^15.4.3", "markdownlint-cli": "^0.43.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", From b1ead7e8d3f45737cebdbc1ada304976e533c432 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 05:39:41 +0000 Subject: [PATCH 008/108] (npm): Bump markdownlint-cli from 0.43.0 to 0.44.0 Bumps [markdownlint-cli](https://github.com/igorshubovych/markdownlint-cli) from 0.43.0 to 0.44.0. - [Release notes](https://github.com/igorshubovych/markdownlint-cli/releases) - [Commits](https://github.com/igorshubovych/markdownlint-cli/compare/v0.43.0...v0.44.0) --- updated-dependencies: - dependency-name: markdownlint-cli dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 868 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 822 insertions(+), 48 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1a38a6b87..9836069fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "globals": "^15.14.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", - "markdownlint-cli": "^0.43.0", + "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", "simple-git": "^3.27.0", @@ -1093,6 +1093,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", @@ -1128,6 +1138,20 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.10.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", @@ -1144,6 +1168,13 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", @@ -1988,6 +2019,39 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/check-error": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", @@ -2133,10 +2197,11 @@ } }, "node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -2298,6 +2363,20 @@ } } }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/deep-eql": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", @@ -2357,6 +2436,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/dotenv": { "version": "16.4.7", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", @@ -2396,6 +2499,7 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -3561,6 +3665,32 @@ "node": ">= 0.10" } }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -3662,6 +3792,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3692,6 +3833,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -3961,6 +4113,33 @@ "setimmediate": "^1.0.5" } }, + "node_modules/katex": { + "version": "0.16.21", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz", + "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -4023,6 +4202,7 @@ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, + "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" } @@ -4067,16 +4247,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/lint-staged/node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", @@ -4455,6 +4625,7 @@ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", @@ -4468,13 +4639,21 @@ } }, "node_modules/markdownlint": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.36.1.tgz", - "integrity": "sha512-s73fU2CQN7WCgjhaQUQ8wYESQNzGRNOKDd+3xgVqu8kuTEhmwepd/mxOv1LR2oV046ONrTLBFsM7IoKWNvmy5g==", + "version": "0.37.4", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.37.4.tgz", + "integrity": "sha512-u00joA/syf3VhWh6/ybVFkib5Zpj2e5KB/cfCei8fkSRuums6nyisTWGqjTWIOFoFwuXoTBQQiqlB4qFKp8ncQ==", "dev": true, + "license": "MIT", "dependencies": { "markdown-it": "14.1.0", - "markdownlint-micromark": "0.1.12" + "micromark": "4.0.1", + "micromark-core-commonmark": "2.0.2", + "micromark-extension-directive": "3.0.2", + "micromark-extension-gfm-autolink-literal": "2.1.0", + "micromark-extension-gfm-footnote": "2.1.0", + "micromark-extension-gfm-table": "2.1.0", + "micromark-extension-math": "3.1.0", + "micromark-util-types": "2.0.1" }, "engines": { "node": ">=18" @@ -4484,19 +4663,20 @@ } }, "node_modules/markdownlint-cli": { - "version": "0.43.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.43.0.tgz", - "integrity": "sha512-6vwurKK4B21eyYzwgX6ph13cZS7hE6LZfcS8QyD722CyxVD2RtAvbZK2p7k+FZbbKORulEuwl+hJaEq1l6/hoQ==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.44.0.tgz", + "integrity": "sha512-ZJTAONlvF9NkrIBltCdW15DxN9UTbPiKMEqAh2EU2gwIFlrCMavyCEPPO121cqfYOrLUJWW8/XKWongstmmTeQ==", "dev": true, + "license": "MIT", "dependencies": { - "commander": "~12.1.0", - "glob": "~11.0.0", - "ignore": "~6.0.2", - "js-yaml": "^4.1.0", + "commander": "~13.1.0", + "glob": "~10.4.5", + "ignore": "~7.0.3", + "js-yaml": "~4.1.0", "jsonc-parser": "~3.3.1", - "jsonpointer": "5.0.1", - "markdownlint": "~0.36.1", - "minimatch": "~10.0.1", + "jsonpointer": "~5.0.1", + "markdownlint": "~0.37.4", + "minimatch": "~9.0.5", "run-con": "~1.3.2", "smol-toml": "~1.3.1" }, @@ -4507,47 +4687,83 @@ "node": ">=18" } }, + "node_modules/markdownlint-cli/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/markdownlint-cli/node_modules/ignore": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", - "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", + "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/markdownlint-cli/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "node_modules/markdownlint-cli/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" + "@isaacs/cliui": "^8.0.2" }, "funding": { "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/markdownlint-micromark": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.12.tgz", - "integrity": "sha512-RlB6EwMGgc0sxcIhOQ2+aq7Zw1V2fBnzbXKGgYK/mVWdT7cz34fteKSwfYeo4rL6+L/q2tyC9QtD/PgZbkdyJQ==", + "node_modules/markdownlint-cli/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/markdownlint-cli/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, "engines": { - "node": ">=18" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/DavidAnson" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/memorystream": { "version": "0.3.1", @@ -4586,6 +4802,542 @@ "node": ">= 8" } }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "dev": true, + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", + "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -5002,6 +5754,26 @@ "node": ">=6" } }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -5223,6 +5995,7 @@ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6446,7 +7219,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unbox-primitive": { "version": "1.0.2", diff --git a/package.json b/package.json index bf7cb6d45..43df6e54a 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "globals": "^15.14.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", - "markdownlint-cli": "^0.43.0", + "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", "simple-git": "^3.27.0", From fb3e2339e8273c5ad6cb9ea6b9876e2dc6aa35a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jan 2025 05:45:15 +0000 Subject: [PATCH 009/108] (npm): Bump the eslint group with 3 updates Bumps the eslint group with 3 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/js` from 9.18.0 to 9.19.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.19.0/packages/js) Updates `@stylistic/eslint-plugin` from 2.13.0 to 3.0.0 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v3.0.0/packages/eslint-plugin) Updates `eslint` from 9.18.0 to 9.19.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.18.0...v9.19.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-major dependency-group: eslint - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 159 ++++++++++++++++++++++++++++++++++++++++++---- package.json | 6 +- 2 files changed, 148 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9836069fe..664b58410 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,14 @@ "semver": "^7.6.3" }, "devDependencies": { - "@eslint/js": "^9.18.0", - "@stylistic/eslint-plugin": "^2.13.0", + "@eslint/js": "^9.19.0", + "@stylistic/eslint-plugin": "^3.0.0", "@types/eslint__js": "^8.42.3", "@types/node": "^22.10.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", - "eslint": "^9.18.0", + "eslint": "^9.19.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", @@ -580,10 +580,11 @@ } }, "node_modules/@eslint/js": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", - "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", + "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -1051,12 +1052,13 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.0.tgz", + "integrity": "sha512-9GJI6iBtGjOqSsyCKUvE6Vn7qDT52hbQaoq/SwxH6A1bciymZfvBfHIIrD3E7Koi2sjzOa/MNQ2XOguHtVJOyw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.13.0", + "@typescript-eslint/utils": "8.13.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "estraverse": "^5.3.0", @@ -1069,6 +1071,121 @@ "eslint": ">=8.40.0" } }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", + "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", + "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", + "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/visitor-keys": "8.13.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", + "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.13.0", + "@typescript-eslint/types": "8.13.0", + "@typescript-eslint/typescript-estree": "8.13.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", + "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.13.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", @@ -1093,6 +1210,19 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/@stylistic/eslint-plugin/node_modules/ts-api-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2709,17 +2839,18 @@ } }, "node_modules/eslint": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", - "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", + "version": "9.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", + "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", "@eslint/core": "^0.10.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.18.0", + "@eslint/js": "9.19.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", diff --git a/package.json b/package.json index 43df6e54a..af45e48ea 100644 --- a/package.json +++ b/package.json @@ -47,14 +47,14 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.18.0", - "@stylistic/eslint-plugin": "^2.13.0", + "@eslint/js": "^9.19.0", + "@stylistic/eslint-plugin": "^3.0.0", "@types/eslint__js": "^8.42.3", "@types/node": "^22.10.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", - "eslint": "^9.18.0", + "eslint": "^9.19.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", From c8ea8016ee41ac29d187a6eff101fc9ebd97008a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 Jan 2025 05:03:47 +0000 Subject: [PATCH 010/108] (npm): Bump @types/node from 22.10.10 to 22.12.0 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.10.10 to 22.12.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 664b58410..100f78b39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.10", + "@types/node": "^22.12.0", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", @@ -1283,9 +1283,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", - "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", + "version": "22.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", + "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index af45e48ea..45b7f8237 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.10.10", + "@types/node": "^22.12.0", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", From 0c64bdf901e723d74a37d610b383dde220056d88 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Jan 2025 05:52:30 +0000 Subject: [PATCH 011/108] (npm): Bump semver from 7.6.3 to 7.7.0 Bumps [semver](https://github.com/npm/node-semver) from 7.6.3 to 7.7.0. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.6.3...v7.7.0) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 100f78b39..fa25fb3eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "gittools-actions", "version": "3.1.11", "dependencies": { - "semver": "^7.6.3" + "semver": "^7.7.0" }, "devDependencies": { "@eslint/js": "^9.19.0", @@ -6460,9 +6460,10 @@ "dev": true }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, diff --git a/package.json b/package.json index 45b7f8237..d2df5b4ce 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "vitest": "^3.0.4" }, "dependencies": { - "semver": "^7.6.3" + "semver": "^7.7.0" }, "lint-staged": { "*.ts": ["eslint --fix", "prettier --write"], From 33996454b11139a057a90294328ef958d822cb92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Jan 2025 05:58:06 +0000 Subject: [PATCH 012/108] (npm): Bump the eslint group across 1 directory with 2 updates Bumps the eslint group with 2 updates in the / directory: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@stylistic/eslint-plugin` from 3.0.0 to 3.0.1 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v3.0.1/packages/eslint-plugin) Updates `typescript-eslint` from 8.21.0 to 8.22.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.22.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 236 +++++++++++----------------------------------- package.json | 4 +- 2 files changed, 56 insertions(+), 184 deletions(-) diff --git a/package-lock.json b/package-lock.json index fa25fb3eb..1419cfc1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@eslint/js": "^9.19.0", - "@stylistic/eslint-plugin": "^3.0.0", + "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", "@types/node": "^22.12.0", "@types/semver": "^7.5.8", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.18.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.21.0", + "typescript-eslint": "^8.22.0", "vite": "^6.0.11", "vite-node": "^3.0.4", "vite-tsconfig-paths": "^5.1.4", @@ -1052,13 +1052,13 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.0.tgz", - "integrity": "sha512-9GJI6iBtGjOqSsyCKUvE6Vn7qDT52hbQaoq/SwxH6A1bciymZfvBfHIIrD3E7Koi2sjzOa/MNQ2XOguHtVJOyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.1.tgz", + "integrity": "sha512-rQ3tcT5N2cynofJfbjUsnL4seoewTaOVBLyUEwtNldo7iNMPo3h/GUQk+Cl3iHEWwRxjq2wuH6q0FufQrbVL1A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "8.13.0", + "@typescript-eslint/utils": "^8.13.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "estraverse": "^5.3.0", @@ -1071,121 +1071,6 @@ "eslint": ">=8.40.0" } }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz", - "integrity": "sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.13.0.tgz", - "integrity": "sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz", - "integrity": "sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/visitor-keys": "8.13.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.13.0.tgz", - "integrity": "sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.13.0", - "@typescript-eslint/types": "8.13.0", - "@typescript-eslint/typescript-estree": "8.13.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - } - }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz", - "integrity": "sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.13.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", @@ -1210,19 +1095,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@stylistic/eslint-plugin/node_modules/ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -1306,17 +1178,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", - "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.22.0.tgz", + "integrity": "sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/type-utils": "8.21.0", - "@typescript-eslint/utils": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/type-utils": "8.22.0", + "@typescript-eslint/utils": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1336,16 +1208,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz", - "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.22.0.tgz", + "integrity": "sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/typescript-estree": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", "debug": "^4.3.4" }, "engines": { @@ -1361,14 +1233,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz", - "integrity": "sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.22.0.tgz", + "integrity": "sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0" + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1379,14 +1251,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz", - "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.22.0.tgz", + "integrity": "sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/utils": "8.21.0", + "@typescript-eslint/typescript-estree": "8.22.0", + "@typescript-eslint/utils": "8.22.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.0" }, @@ -1403,9 +1275,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz", - "integrity": "sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.22.0.tgz", + "integrity": "sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==", "dev": true, "license": "MIT", "engines": { @@ -1417,14 +1289,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.21.0.tgz", - "integrity": "sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.22.0.tgz", + "integrity": "sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/visitor-keys": "8.22.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1444,16 +1316,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.21.0.tgz", - "integrity": "sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.22.0.tgz", + "integrity": "sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/typescript-estree": "8.21.0" + "@typescript-eslint/scope-manager": "8.22.0", + "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/typescript-estree": "8.22.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1468,13 +1340,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.21.0.tgz", - "integrity": "sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.22.0.tgz", + "integrity": "sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.21.0", + "@typescript-eslint/types": "8.22.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7325,15 +7197,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.21.0.tgz", - "integrity": "sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.22.0.tgz", + "integrity": "sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.21.0", - "@typescript-eslint/parser": "8.21.0", - "@typescript-eslint/utils": "8.21.0" + "@typescript-eslint/eslint-plugin": "8.22.0", + "@typescript-eslint/parser": "8.22.0", + "@typescript-eslint/utils": "8.22.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index d2df5b4ce..b2b5cd14c 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@eslint/js": "^9.19.0", - "@stylistic/eslint-plugin": "^3.0.0", + "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", "@types/node": "^22.12.0", "@types/semver": "^7.5.8", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.18.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.21.0", + "typescript-eslint": "^8.22.0", "vite": "^6.0.11", "vite-node": "^3.0.4", "vite-tsconfig-paths": "^5.1.4", From 542abb1bc9f27bbb0ee158b523c8e349b6b345d5 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Thu, 30 Jan 2025 06:03:12 +0000 Subject: [PATCH 013/108] dist update --- dist/tools/libs/semver.mjs | 42 ++++++++++++++++++++-------------- dist/tools/libs/semver.mjs.map | 2 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/dist/tools/libs/semver.mjs b/dist/tools/libs/semver.mjs index 26d8054d4..8e22235f1 100644 --- a/dist/tools/libs/semver.mjs +++ b/dist/tools/libs/semver.mjs @@ -363,7 +363,7 @@ function requireSemver$1 () { if (version instanceof SemVer) { if (version.loose === !!options.loose && - version.includePrerelease === !!options.includePrerelease) { + version.includePrerelease === !!options.includePrerelease) { return version } else { version = version.version; @@ -529,6 +529,19 @@ function requireSemver$1 () { // preminor will bump the version up to the next minor release, and immediately // down to pre-release. premajor and prepatch work the same way. inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + switch (release) { case 'premajor': this.prerelease.length = 0; @@ -559,6 +572,12 @@ function requireSemver$1 () { } this.inc('pre', identifier, identifierBase); break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0; + break case 'major': // If this is a pre-major version, bump up to the same major version. @@ -602,10 +621,6 @@ function requireSemver$1 () { case 'pre': { const base = Number(identifierBase) ? 1 : 0; - if (!identifier && identifierBase === false) { - throw new Error('invalid increment argument: identifier is empty') - } - if (this.prerelease.length === 0) { this.prerelease = [base]; } else { @@ -774,20 +789,13 @@ function requireDiff () { return 'major' } - // Otherwise it can be determined by checking the high version - - if (highVersion.patch) { - // anything higher than a patch bump would result in the wrong version + // If the main part has no difference + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return 'minor' + } return 'patch' } - - if (highVersion.minor) { - // anything higher than a minor bump would result in the wrong version - return 'minor' - } - - // bumping major/minor/patch all have same result - return 'major' } // add the `pre` prefix if we are going to a prerelease version diff --git a/dist/tools/libs/semver.mjs.map b/dist/tools/libs/semver.mjs.map index dd80c664c..dd47143e1 100644 --- a/dist/tools/libs/semver.mjs.map +++ b/dist/tools/libs/semver.mjs.map @@ -1 +1 @@ -{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file +{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file From 259f634f43c6c2c06a968eadac1ed949dde1aabe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 05:33:50 +0000 Subject: [PATCH 014/108] (npm): Bump @types/node from 22.12.0 to 22.13.0 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.12.0 to 22.13.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1419cfc1e..1f393d8cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.12.0", + "@types/node": "^22.13.0", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", @@ -1155,9 +1155,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.12.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", - "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", + "version": "22.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz", + "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index b2b5cd14c..4ef51cff7 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.12.0", + "@types/node": "^22.13.0", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", From 0347ba3cc0e46e047196bae44560a1e62c40b3ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 05:11:29 +0000 Subject: [PATCH 015/108] (npm): Bump the vite group with 2 updates Bumps the vite group with 2 updates: [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite-node` from 3.0.4 to 3.0.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.5/packages/vite-node) Updates `vitest` from 3.0.4 to 3.0.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.5/packages/vitest) --- updated-dependencies: - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 96 +++++++++++++++++++++++------------------------ package.json | 4 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f393d8cc..f75863c5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "typescript": "^5.7.3", "typescript-eslint": "^8.22.0", "vite": "^6.0.11", - "vite-node": "^3.0.4", + "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.4" + "vitest": "^3.0.5" }, "engines": { "node": ">=20.0.0" @@ -1391,14 +1391,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.4.tgz", - "integrity": "sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.5.tgz", + "integrity": "sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "tinyrainbow": "^2.0.0" }, @@ -1407,13 +1407,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.4.tgz", - "integrity": "sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.5.tgz", + "integrity": "sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.4", + "@vitest/spy": "3.0.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1434,9 +1434,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.4.tgz", - "integrity": "sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", + "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", "dev": true, "license": "MIT", "dependencies": { @@ -1447,13 +1447,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.4.tgz", - "integrity": "sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.5.tgz", + "integrity": "sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.4", + "@vitest/utils": "3.0.5", "pathe": "^2.0.2" }, "funding": { @@ -1461,13 +1461,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.4.tgz", - "integrity": "sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.5.tgz", + "integrity": "sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "magic-string": "^0.30.17", "pathe": "^2.0.2" }, @@ -1476,9 +1476,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.4.tgz", - "integrity": "sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.5.tgz", + "integrity": "sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==", "dev": true, "license": "MIT", "dependencies": { @@ -1489,13 +1489,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.4.tgz", - "integrity": "sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.5.tgz", + "integrity": "sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "loupe": "^3.1.2", "tinyrainbow": "^2.0.0" }, @@ -4598,9 +4598,9 @@ } }, "node_modules/loupe": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", "dev": true, "license": "MIT" }, @@ -7379,9 +7379,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.4.tgz", - "integrity": "sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.5.tgz", + "integrity": "sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==", "dev": true, "license": "MIT", "dependencies": { @@ -7421,19 +7421,19 @@ } }, "node_modules/vitest": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.4.tgz", - "integrity": "sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.5.tgz", + "integrity": "sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.4", - "@vitest/mocker": "3.0.4", - "@vitest/pretty-format": "^3.0.4", - "@vitest/runner": "3.0.4", - "@vitest/snapshot": "3.0.4", - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "@vitest/expect": "3.0.5", + "@vitest/mocker": "3.0.5", + "@vitest/pretty-format": "^3.0.5", + "@vitest/runner": "3.0.5", + "@vitest/snapshot": "3.0.5", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -7445,7 +7445,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.4", + "vite-node": "3.0.5", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7461,8 +7461,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.4", - "@vitest/ui": "3.0.4", + "@vitest/browser": "3.0.5", + "@vitest/ui": "3.0.5", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 4ef51cff7..21357447d 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "typescript": "^5.7.3", "typescript-eslint": "^8.22.0", "vite": "^6.0.11", - "vite-node": "^3.0.4", + "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.4" + "vitest": "^3.0.5" }, "dependencies": { "semver": "^7.7.0" From b37cb6e2ec2cde66032cdcefc56a6af2669b8f15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 05:16:56 +0000 Subject: [PATCH 016/108] (npm): Bump semver from 7.7.0 to 7.7.1 Bumps [semver](https://github.com/npm/node-semver) from 7.7.0 to 7.7.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f75863c5b..5ac5949ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "gittools-actions", "version": "3.1.11", "dependencies": { - "semver": "^7.7.0" + "semver": "^7.7.1" }, "devDependencies": { "@eslint/js": "^9.19.0", @@ -6332,9 +6332,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", - "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "license": "ISC", "bin": { "semver": "bin/semver.js" diff --git a/package.json b/package.json index 21357447d..574f8fa17 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "vitest": "^3.0.5" }, "dependencies": { - "semver": "^7.7.0" + "semver": "^7.7.1" }, "lint-staged": { "*.ts": ["eslint --fix", "prettier --write"], From 1f0cb8b1987a6a0b6e7d8b00b1cc7062cdb1b112 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Tue, 4 Feb 2025 05:22:12 +0000 Subject: [PATCH 017/108] dist update --- dist/tools/libs/semver.mjs | 7 +++++-- dist/tools/libs/semver.mjs.map | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dist/tools/libs/semver.mjs b/dist/tools/libs/semver.mjs index 8e22235f1..697e5c53f 100644 --- a/dist/tools/libs/semver.mjs +++ b/dist/tools/libs/semver.mjs @@ -80,6 +80,7 @@ function requireRe () { const re = exports.re = []; const safeRe = exports.safeRe = []; const src = exports.src = []; + const safeSrc = exports.safeSrc = []; const t = exports.t = {}; let R = 0; @@ -112,6 +113,7 @@ function requireRe () { debug(name, index, value); t[name] = index; src[index] = value; + safeSrc[index] = safe; re[index] = new RegExp(value, isGlobal ? 'g' : undefined); safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined); }; @@ -353,7 +355,7 @@ function requireSemver$1 () { hasRequiredSemver$1 = 1; const debug = requireDebug(); const { MAX_LENGTH, MAX_SAFE_INTEGER } = requireConstants(); - const { safeRe: re, t } = requireRe(); + const { safeRe: re, safeSrc: src, t } = requireRe(); const parseOptions = requireParseOptions(); const { compareIdentifiers } = requireIdentifiers(); @@ -535,7 +537,8 @@ function requireSemver$1 () { } // Avoid an invalid semver results if (identifier) { - const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); + const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`); + const match = `-${identifier}`.match(r); if (!match || match[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`) } diff --git a/dist/tools/libs/semver.mjs.map b/dist/tools/libs/semver.mjs.map index dd47143e1..6d92060df 100644 --- a/dist/tools/libs/semver.mjs.map +++ b/dist/tools/libs/semver.mjs.map @@ -1 +1 @@ -{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file +{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n safeSrc[index] = safe\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, safeSrc: src, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)\n const match = `-${identifier}`.match(r)\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file From 6ad6c7b591cf87d1871ec02f7cf4f848a804c9ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 05:23:11 +0000 Subject: [PATCH 018/108] (npm): Bump @types/node from 22.13.0 to 22.13.1 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.0 to 22.13.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5ac5949ea..859e00abc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.0", + "@types/node": "^22.13.1", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", @@ -1155,9 +1155,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz", - "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==", + "version": "22.13.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", + "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 574f8fa17..5e88b2013 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.19.0", "@stylistic/eslint-plugin": "^3.0.1", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.0", + "@types/node": "^22.13.1", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.25", "dotenv": "^16.4.7", From 54cbf75e1c41679ae35a505fd3f22b69a94311ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 05:28:57 +0000 Subject: [PATCH 019/108] (npm): Bump typescript-eslint from 8.22.0 to 8.23.0 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.22.0 to 8.23.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.23.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 117 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index 859e00abc..cecd9f446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.18.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.22.0", + "typescript-eslint": "^8.23.0", "vite": "^6.0.11", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", @@ -1178,21 +1178,21 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.22.0.tgz", - "integrity": "sha512-4Uta6REnz/xEJMvwf72wdUnC3rr4jAQf5jnTkeRQ9b6soxLxhDEbS/pfMPoJLDfFPNVRdryqWUIV/2GZzDJFZw==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", + "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/type-utils": "8.22.0", - "@typescript-eslint/utils": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/type-utils": "8.23.0", + "@typescript-eslint/utils": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1208,16 +1208,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.22.0.tgz", - "integrity": "sha512-MqtmbdNEdoNxTPzpWiWnqNac54h8JDAmkWtJExBVVnSrSmi9z+sZUt0LfKqk9rjqmKOIeRhO4fHHJ1nQIjduIQ==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", + "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/typescript-estree": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4" }, "engines": { @@ -1233,14 +1233,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.22.0.tgz", - "integrity": "sha512-/lwVV0UYgkj7wPSw0o8URy6YI64QmcOdwHuGuxWIYznO6d45ER0wXUbksr9pYdViAofpUCNJx/tAzNukgvaaiQ==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", + "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0" + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1251,16 +1251,16 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.22.0.tgz", - "integrity": "sha512-NzE3aB62fDEaGjaAYZE4LH7I1MUwHooQ98Byq0G0y3kkibPJQIXVUspzlFOmOfHhiDLwKzMlWxaNv+/qcZurJA==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", + "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.22.0", - "@typescript-eslint/utils": "8.22.0", + "@typescript-eslint/typescript-estree": "8.23.0", + "@typescript-eslint/utils": "8.23.0", "debug": "^4.3.4", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1275,9 +1275,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.22.0.tgz", - "integrity": "sha512-0S4M4baNzp612zwpD4YOieP3VowOARgK2EkN/GBn95hpyF8E2fbMT55sRHWBq+Huaqk3b3XK+rxxlM8sPgGM6A==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", + "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", "dev": true, "license": "MIT", "engines": { @@ -1289,20 +1289,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.22.0.tgz", - "integrity": "sha512-SJX99NAS2ugGOzpyhMza/tX+zDwjvwAtQFLsBo3GQxiGcvaKlqGBkmZ+Y1IdiSi9h4Q0Lr5ey+Cp9CGWNY/F/w==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", + "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/visitor-keys": "8.22.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/visitor-keys": "8.23.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.0.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1316,16 +1316,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.22.0.tgz", - "integrity": "sha512-T8oc1MbF8L+Bk2msAvCUzjxVB2Z2f+vXYfcucE2wOmYs7ZUwco5Ep0fYZw8quNwOiw9K8GYVL+Kgc2pETNTLOg==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", + "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.22.0", - "@typescript-eslint/types": "8.22.0", - "@typescript-eslint/typescript-estree": "8.22.0" + "@typescript-eslint/scope-manager": "8.23.0", + "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/typescript-estree": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1340,13 +1340,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.22.0.tgz", - "integrity": "sha512-AWpYAXnUgvLNabGTy3uBylkgZoosva/miNd1I8Bz3SjotmQPbVqhO4Cczo8AsZ44XVErEBPr/CRSgaj8sG7g0w==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", + "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.22.0", + "@typescript-eslint/types": "8.23.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -3116,9 +3116,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", "dev": true, "license": "ISC", "dependencies": { @@ -7040,10 +7040,11 @@ } }, "node_modules/ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, + "license": "MIT", "engines": { "node": ">=18.12" }, @@ -7197,15 +7198,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.22.0.tgz", - "integrity": "sha512-Y2rj210FW1Wb6TWXzQc5+P+EWI9/zdS57hLEc0gnyuvdzWo8+Y8brKlbj0muejonhMI/xAZCnZZwjbIfv1CkOw==", + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", + "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.22.0", - "@typescript-eslint/parser": "8.22.0", - "@typescript-eslint/utils": "8.22.0" + "@typescript-eslint/eslint-plugin": "8.23.0", + "@typescript-eslint/parser": "8.23.0", + "@typescript-eslint/utils": "8.23.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 5e88b2013..d6ccdffe5 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.18.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.22.0", + "typescript-eslint": "^8.23.0", "vite": "^6.0.11", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", From 049f29cf63c3998a14e5178899e53b078914522b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Feb 2025 05:41:29 +0000 Subject: [PATCH 020/108] (npm): Bump tfx-cli from 0.18.0 to 0.20.0 Bumps [tfx-cli](https://github.com/Microsoft/tfs-cli) from 0.18.0 to 0.20.0. - [Release notes](https://github.com/Microsoft/tfs-cli/releases) - [Commits](https://github.com/Microsoft/tfs-cli/commits) --- updated-dependencies: - dependency-name: tfx-cli dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index cecd9f446..d4c243c07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", "simple-git": "^3.27.0", - "tfx-cli": "^0.18.0", + "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.23.0", "vite": "^6.0.11", @@ -6859,10 +6859,11 @@ } }, "node_modules/tfx-cli": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.18.0.tgz", - "integrity": "sha512-VnUkuFQgU8kcnkP/FKWQFrjVF2+BbXl6+6mGTf05/LHrz/nSNQA0ckBKqFdW/7W/ElSnRkMkhm8UXInn7cFnsw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.20.0.tgz", + "integrity": "sha512-iCyTvUx70PgUSzjV0jQA1cMurIuaqy9RZjHP0xOiabZpittVzBl3QebcOdjxr1NqAB9BVejZyTEqalR3UOteNQ==", "dev": true, + "license": "MIT", "dependencies": { "app-root-path": "1.0.0", "archiver": "2.0.3", diff --git a/package.json b/package.json index d6ccdffe5..fdac9a84e 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", "simple-git": "^3.27.0", - "tfx-cli": "^0.18.0", + "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.23.0", "vite": "^6.0.11", From dcbe3897a500ec5012f70909f08992524773338e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 05:39:47 +0000 Subject: [PATCH 021/108] (npm): Bump vite from 6.0.11 to 6.1.0 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.0.11 to 6.1.0 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@6.1.0/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-minor dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 185 +++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 101 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index d4c243c07..309ba0d4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.23.0", - "vite": "^6.0.11", + "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.5" @@ -800,9 +800,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", - "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.4.tgz", + "integrity": "sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==", "cpu": [ "arm" ], @@ -814,9 +814,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", - "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.4.tgz", + "integrity": "sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==", "cpu": [ "arm64" ], @@ -828,9 +828,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", - "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.4.tgz", + "integrity": "sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==", "cpu": [ "arm64" ], @@ -842,9 +842,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", - "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.4.tgz", + "integrity": "sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==", "cpu": [ "x64" ], @@ -856,9 +856,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", - "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.4.tgz", + "integrity": "sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==", "cpu": [ "arm64" ], @@ -870,9 +870,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", - "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.4.tgz", + "integrity": "sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==", "cpu": [ "x64" ], @@ -884,9 +884,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", - "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.4.tgz", + "integrity": "sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==", "cpu": [ "arm" ], @@ -898,9 +898,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", - "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.4.tgz", + "integrity": "sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==", "cpu": [ "arm" ], @@ -912,9 +912,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", - "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.4.tgz", + "integrity": "sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==", "cpu": [ "arm64" ], @@ -926,9 +926,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", - "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.4.tgz", + "integrity": "sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==", "cpu": [ "arm64" ], @@ -939,10 +939,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.4.tgz", + "integrity": "sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", - "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.4.tgz", + "integrity": "sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==", "cpu": [ "ppc64" ], @@ -954,9 +968,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", - "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.4.tgz", + "integrity": "sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==", "cpu": [ "riscv64" ], @@ -968,9 +982,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", - "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.4.tgz", + "integrity": "sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==", "cpu": [ "s390x" ], @@ -982,9 +996,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", - "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.4.tgz", + "integrity": "sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==", "cpu": [ "x64" ], @@ -996,9 +1010,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", - "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.4.tgz", + "integrity": "sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==", "cpu": [ "x64" ], @@ -1010,9 +1024,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", - "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.4.tgz", + "integrity": "sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==", "cpu": [ "arm64" ], @@ -1024,9 +1038,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", - "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.4.tgz", + "integrity": "sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==", "cpu": [ "ia32" ], @@ -1038,9 +1052,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", - "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.4.tgz", + "integrity": "sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==", "cpu": [ "x64" ], @@ -5884,9 +5898,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "dev": true, "funding": [ { @@ -5904,7 +5918,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6208,9 +6222,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz", - "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", + "version": "4.34.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.4.tgz", + "integrity": "sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==", "dev": true, "license": "MIT", "dependencies": { @@ -6224,24 +6238,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.27.4", - "@rollup/rollup-android-arm64": "4.27.4", - "@rollup/rollup-darwin-arm64": "4.27.4", - "@rollup/rollup-darwin-x64": "4.27.4", - "@rollup/rollup-freebsd-arm64": "4.27.4", - "@rollup/rollup-freebsd-x64": "4.27.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", - "@rollup/rollup-linux-arm-musleabihf": "4.27.4", - "@rollup/rollup-linux-arm64-gnu": "4.27.4", - "@rollup/rollup-linux-arm64-musl": "4.27.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", - "@rollup/rollup-linux-riscv64-gnu": "4.27.4", - "@rollup/rollup-linux-s390x-gnu": "4.27.4", - "@rollup/rollup-linux-x64-gnu": "4.27.4", - "@rollup/rollup-linux-x64-musl": "4.27.4", - "@rollup/rollup-win32-arm64-msvc": "4.27.4", - "@rollup/rollup-win32-ia32-msvc": "4.27.4", - "@rollup/rollup-win32-x64-msvc": "4.27.4", + "@rollup/rollup-android-arm-eabi": "4.34.4", + "@rollup/rollup-android-arm64": "4.34.4", + "@rollup/rollup-darwin-arm64": "4.34.4", + "@rollup/rollup-darwin-x64": "4.34.4", + "@rollup/rollup-freebsd-arm64": "4.34.4", + "@rollup/rollup-freebsd-x64": "4.34.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.4", + "@rollup/rollup-linux-arm-musleabihf": "4.34.4", + "@rollup/rollup-linux-arm64-gnu": "4.34.4", + "@rollup/rollup-linux-arm64-musl": "4.34.4", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.4", + "@rollup/rollup-linux-riscv64-gnu": "4.34.4", + "@rollup/rollup-linux-s390x-gnu": "4.34.4", + "@rollup/rollup-linux-x64-gnu": "4.34.4", + "@rollup/rollup-linux-x64-musl": "4.34.4", + "@rollup/rollup-win32-arm64-msvc": "4.34.4", + "@rollup/rollup-win32-ia32-msvc": "4.34.4", + "@rollup/rollup-win32-x64-msvc": "4.34.4", "fsevents": "~2.3.2" } }, @@ -7309,15 +7324,15 @@ } }, "node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz", + "integrity": "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" + "postcss": "^8.5.1", + "rollup": "^4.30.1" }, "bin": { "vite": "bin/vite.js" diff --git a/package.json b/package.json index fdac9a84e..e828148db 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.23.0", - "vite": "^6.0.11", + "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.5" From d34f3810b7f712d0d4a393338affe29251b3e2e4 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Thu, 6 Feb 2025 05:45:08 +0000 Subject: [PATCH 022/108] dist update --- dist/tools/azure/agent.mjs | 2 +- dist/tools/azure/agent.mjs.map | 2 +- dist/tools/github/agent.mjs | 2 +- dist/tools/github/agent.mjs.map | 2 +- dist/tools/libs/agents.mjs | 4 ++-- dist/tools/libs/agents.mjs.map | 2 +- dist/tools/libs/gitversion.mjs.map | 2 +- dist/tools/libs/semver.mjs.map | 2 +- dist/tools/libs/tools.mjs.map | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/tools/azure/agent.mjs b/dist/tools/azure/agent.mjs index 483394af2..de4faaaad 100644 --- a/dist/tools/azure/agent.mjs +++ b/dist/tools/azure/agent.mjs @@ -53,7 +53,7 @@ function escapeProperty(s) { return toCommandValue(s).replace(/%/g, "%AZP25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/]/g, "%5D").replace(/;/g, "%3B"); } function toCommandValue(input) { - if (input === null || input === void 0) { + if (input === null || input === undefined) { return ""; } else if (typeof input === "string" || input instanceof String) { return input; diff --git a/dist/tools/azure/agent.mjs.map b/dist/tools/azure/agent.mjs.map index 9c893e8d8..928e26cbf 100644 --- a/dist/tools/azure/agent.mjs.map +++ b/dist/tools/azure/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/github/agent.mjs b/dist/tools/github/agent.mjs index aca3e8acf..dbf6e6b47 100644 --- a/dist/tools/github/agent.mjs +++ b/dist/tools/github/agent.mjs @@ -68,7 +68,7 @@ function escapeProperty(s) { return toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } function toCommandValue(input) { - if (input === null || input === void 0) { + if (input === null || input === undefined) { return ""; } else if (typeof input === "string" || input instanceof String) { return input; diff --git a/dist/tools/github/agent.mjs.map b/dist/tools/github/agent.mjs.map index 379abe4d5..4f228413d 100644 --- a/dist/tools/github/agent.mjs.map +++ b/dist/tools/github/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/agents.mjs b/dist/tools/libs/agents.mjs index 74206bb4b..48d1c0e33 100644 --- a/dist/tools/libs/agents.mjs +++ b/dist/tools/libs/agents.mjs @@ -6,14 +6,14 @@ import * as util from 'node:util'; import { s as semverExports } from './semver.mjs'; const isFilePath = (cmd) => { - return cmd.includes(path.sep) ? path.resolve(cmd) : void 0; + return cmd.includes(path.sep) ? path.resolve(cmd) : undefined; }; const access = async (filePath) => { try { await fs.access(filePath); return filePath; } catch (_error) { - return void 0; + return undefined; } }; const isExecutable = async (absPath, options = {}) => { diff --git a/dist/tools/libs/agents.mjs.map b/dist/tools/libs/agents.mjs.map index 965eb9d4f..78542dbd0 100644 --- a/dist/tools/libs/agents.mjs.map +++ b/dist/tools/libs/agents.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agents.mjs","sources":["../../../src/agents/common/lookPath.ts","../../../src/agents/common/build-agent.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport * as process from 'node:process'\n\n/**\n * Sometimes, people want to look for local executable files\n * which are specified with either relative or absolute file path.\n * @private\n * @param cmd\n * @return {string} An absolute path of given command, or undefined.\n */\nconst isFilePath = (cmd: string): string | undefined => {\n return cmd.includes(path.sep) ? path.resolve(cmd) : undefined\n}\n\n/**\n * Just promisifies \"fs.access\"\n * @private\n * @param {string} filePath An absolute file path with an applicable extension appended.\n * @return {Promise} Resolves absolute path or empty string.\n */\nconst access = async (filePath: string): Promise => {\n try {\n await fs.access(filePath)\n return filePath\n } catch (_error) {\n return undefined\n }\n}\n\n/**\n * Resolves if the given file is executable or not, regarding \"PATHEXT\" to be applied.\n * @private\n * @param {string} absPath A file path to be checked.\n * @param {LookPathOption} options Options for lookPath.\n * @return {Promise} Resolves the absolute file path just checked, or undefined.\n */\nconst isExecutable = async (absPath: string, options: LookPathOption = {}): Promise => {\n const envVars = options.env || process.env\n const extension = (envVars.PATHEXT || '').split(path.delimiter).concat('')\n const bins = await Promise.all(extension.map(async ext => access(absPath + ext.toLowerCase())))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Returns a list of directories on which the target command should be looked for.\n * @private\n * @param {string[]} options.include Will be added to \"PATH\" env.\n * @param {string[]} options.exclude Will be filtered from \"PATH\" env.\n * @return {string[]} Directories to dig into.\n */\nconst getDirsToWalkThrough = (options: LookPathOption): string[] => {\n const envVars = options.env || process.env\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const envPath = envVars[envName] || ''\n return envPath\n .split(path.delimiter)\n .concat(options.include || [])\n .filter(p => !(options.exclude || []).includes(p))\n}\n\n/**\n * Returns async promise with absolute file path of given command,\n * and resolves with undefined if the command not found.\n * @param {string} command Command name to look for.\n * @param {LookPathOption} opt Options for lookPath.\n * @return {Promise} Resolves absolute file path, or undefined if not found.\n */\nexport async function lookPath(command: string, opt: LookPathOption = {}): Promise {\n const directPath = isFilePath(command)\n if (directPath) return isExecutable(directPath, opt)\n\n const dirs = getDirsToWalkThrough(opt)\n const bins = await Promise.all(dirs.map(async dir => isExecutable(path.join(dir, command), opt)))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Options for lookPath.\n */\nexport interface LookPathOption {\n /**\n * Additional paths to look for, would be dealt same as PATH env.\n * Example: ['/tmp/bin', 'usr/local/bin']\n */\n include?: string[]\n /**\n * Paths to exclude to look for.\n * Example: ['/mnt']\n */\n exclude?: string[]\n /**\n * Set of env var to be used ON BEHALF OF the existing env of your runtime.\n * If `include` or `exclude` are given, they will be applied to this env set.\n */\n env?: NodeJS.ProcessEnv\n}\n","import { exec as execNonPromise, ExecOptions } from 'node:child_process'\nimport * as fs from 'node:fs/promises'\nimport * as process from 'node:process'\nimport * as path from 'node:path'\nimport * as util from 'node:util'\nimport * as semver from 'semver'\nimport { lookPath } from './lookPath'\nimport { type ExecResult } from './models'\n\nexport interface IBuildAgent {\n agentName: string\n sourceDirVariable: string\n tempDirVariable: string\n cacheDirVariable: string\n\n sourceDir: string\n tempDir: string\n cacheDir: string\n\n addPath(inputPath: string): void\n\n debug(message: string): void\n\n info(message: string): void\n\n warn(message: string): void\n\n error(message: string): void\n\n exec(exec: string, args: string[]): Promise\n\n cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise\n\n directoryExists(dir: string): Promise\n\n removeDirectory(dir: string): Promise\n\n fileExists(file: string): Promise\n\n findLocalTool(toolName: string, versionSpec: string): Promise\n\n getInput(input: string, required?: boolean): string\n\n getInput(input: Extract, required?: boolean): string\n\n getBooleanInput(input: Extract, required?: boolean): boolean\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[]\n\n getListInput(input: Extract, required?: boolean): string[]\n\n setSucceeded(message: string, done?: boolean): void\n\n setFailed(message: string, done?: boolean): void\n\n setOutput(name: string, value: string): void\n\n getVariable(name: string): string | undefined\n\n getVariableAsPath(name: string): string\n\n setVariable(name: string, value: string): void\n\n updateBuildNumber: (version: string) => void\n\n which(tool: string, check?: boolean): Promise\n}\n\nexport abstract class BuildAgentBase implements IBuildAgent {\n abstract agentName: string\n abstract sourceDirVariable: string\n abstract tempDirVariable: string\n abstract cacheDirVariable: string\n\n abstract debug(message: string): void\n\n abstract info(message: string): void\n\n abstract warn(message: string): void\n\n abstract error(message: string): void\n\n abstract setSucceeded(message: string, done?: boolean): void\n\n abstract setFailed(message: string, done?: boolean): void\n\n abstract setOutput(name: string, value: string): void\n\n abstract setVariable(name: string, value: string): void\n\n abstract updateBuildNumber: (version: string) => void\n\n get sourceDir(): string {\n return this.getVariableAsPath(this.sourceDirVariable)?.replace(/\\\\/g, '/')\n }\n\n get tempDir(): string {\n return this.getVariableAsPath(this.tempDirVariable)\n }\n\n get cacheDir(): string {\n return this.getVariableAsPath(this.cacheDirVariable)\n }\n\n addPath(inputPath: string): void {\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const newPath = inputPath + path.delimiter + process.env[envName]\n this.debug(`new Path: ${newPath}`)\n process.env[envName] = newPath\n process.env.Path = newPath\n this.info(`Updated PATH: ${process.env[envName]}`)\n }\n\n getInput(input: Extract, required?: boolean): string {\n const inputProp = input.replace(/ /g, '_').toUpperCase()\n const val = this.getVariable(`INPUT_${inputProp}`)\n if (required && !val) {\n throw new Error(`Input required and not supplied: ${inputProp}`)\n }\n return val.trim()\n }\n\n getBooleanInput(input: Extract, required?: boolean): boolean {\n const inputValue = this.getInput(input, required)\n return (inputValue || 'false').toLowerCase() === 'true'\n }\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[] {\n return this.getInput(input, required)\n .split(delimiter)\n .filter(x => {\n if (x) {\n return x.trim()\n }\n })\n }\n\n getListInput(input: Extract, required?: boolean): string[] {\n return this.getDelimitedInput(input, '\\n', required)\n }\n\n getVariable(name: string): string {\n const value = (process.env[name] || '').trim()\n this.debug(`getVariable - ${name}: ${value}`)\n return value.trim()\n }\n\n getVariableAsPath(name: string): string {\n return path.resolve(path.normalize(this.getVariable(name)))\n }\n\n async directoryExists(dir: string): Promise {\n try {\n await fs.access(dir)\n return (await fs.stat(dir)).isDirectory()\n } catch (_error) {\n return false\n }\n }\n\n async removeDirectory(dir: string): Promise {\n await fs.rm(dir, { recursive: true, force: true, maxRetries: 3, retryDelay: 1000 })\n }\n\n async fileExists(file: string): Promise {\n try {\n await fs.access(file)\n return (await fs.stat(file)).isFile()\n } catch (_error) {\n return false\n }\n }\n\n async cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise {\n if (!tool) {\n throw new Error('tool is a required parameter')\n }\n if (!version) {\n throw new Error('version is a required parameter')\n }\n if (!sourceDir) {\n throw new Error('sourceDir is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return ''\n }\n\n version = semver.clean(version) || version\n const destPath = path.join(cacheRoot, tool, version)\n if (await this.directoryExists(destPath)) {\n this.debug(`Destination directory ${destPath} already exists, removing`)\n await this.removeDirectory(destPath)\n }\n\n this.debug(`Copying ${sourceDir} to ${destPath}`)\n await fs.mkdir(destPath, { recursive: true })\n await fs.cp(sourceDir, destPath, { recursive: true, force: true })\n\n this.debug(`Caching ${tool}@${version} from ${sourceDir}`)\n return destPath\n }\n\n async findLocalTool(toolName: string, versionSpec: string): Promise {\n if (!toolName) {\n throw new Error('toolName is a required parameter')\n }\n if (!versionSpec) {\n throw new Error('versionSpec is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return null\n }\n\n versionSpec = semver.clean(versionSpec) || versionSpec\n this.info(`Looking for local tool ${toolName}@${versionSpec}`)\n const toolPath = path.join(cacheRoot, toolName, versionSpec)\n if (!(await this.directoryExists(toolPath))) {\n this.info(`Directory ${toolPath} not found`)\n return null\n } else {\n this.info(`Found tool ${toolName}@${versionSpec} at ${toolPath}`)\n }\n\n return toolPath\n }\n\n async exec(cmd: string, args: string[]): Promise {\n const exec = util.promisify(execNonPromise)\n\n try {\n const commandOptions: ExecOptions = { maxBuffer: 1024 * 1024 * 10 } // 10MB\n const { stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, commandOptions)\n return {\n code: 0,\n error: null,\n stderr,\n stdout\n }\n } catch (e) {\n const error = e as Error & { code: number; stderr: string; stdout: string }\n return {\n code: error.code,\n error,\n stderr: error.stderr,\n stdout: error.stdout\n }\n }\n }\n\n async which(tool: string, _check?: boolean): Promise {\n this.debug(`looking for tool '${tool}' in PATH`)\n let toolPath = await lookPath(tool)\n if (toolPath) {\n toolPath = path.resolve(toolPath)\n this.debug(`found tool '${tool}' in PATH: ${toolPath}`)\n return toolPath\n }\n throw new Error(`Unable to locate executable file: ${tool}`)\n }\n}\n"],"names":["semver.clean","exec","execNonPromise"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agents.mjs","sources":["../../../src/agents/common/lookPath.ts","../../../src/agents/common/build-agent.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport * as process from 'node:process'\n\n/**\n * Sometimes, people want to look for local executable files\n * which are specified with either relative or absolute file path.\n * @private\n * @param cmd\n * @return {string} An absolute path of given command, or undefined.\n */\nconst isFilePath = (cmd: string): string | undefined => {\n return cmd.includes(path.sep) ? path.resolve(cmd) : undefined\n}\n\n/**\n * Just promisifies \"fs.access\"\n * @private\n * @param {string} filePath An absolute file path with an applicable extension appended.\n * @return {Promise} Resolves absolute path or empty string.\n */\nconst access = async (filePath: string): Promise => {\n try {\n await fs.access(filePath)\n return filePath\n } catch (_error) {\n return undefined\n }\n}\n\n/**\n * Resolves if the given file is executable or not, regarding \"PATHEXT\" to be applied.\n * @private\n * @param {string} absPath A file path to be checked.\n * @param {LookPathOption} options Options for lookPath.\n * @return {Promise} Resolves the absolute file path just checked, or undefined.\n */\nconst isExecutable = async (absPath: string, options: LookPathOption = {}): Promise => {\n const envVars = options.env || process.env\n const extension = (envVars.PATHEXT || '').split(path.delimiter).concat('')\n const bins = await Promise.all(extension.map(async ext => access(absPath + ext.toLowerCase())))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Returns a list of directories on which the target command should be looked for.\n * @private\n * @param {string[]} options.include Will be added to \"PATH\" env.\n * @param {string[]} options.exclude Will be filtered from \"PATH\" env.\n * @return {string[]} Directories to dig into.\n */\nconst getDirsToWalkThrough = (options: LookPathOption): string[] => {\n const envVars = options.env || process.env\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const envPath = envVars[envName] || ''\n return envPath\n .split(path.delimiter)\n .concat(options.include || [])\n .filter(p => !(options.exclude || []).includes(p))\n}\n\n/**\n * Returns async promise with absolute file path of given command,\n * and resolves with undefined if the command not found.\n * @param {string} command Command name to look for.\n * @param {LookPathOption} opt Options for lookPath.\n * @return {Promise} Resolves absolute file path, or undefined if not found.\n */\nexport async function lookPath(command: string, opt: LookPathOption = {}): Promise {\n const directPath = isFilePath(command)\n if (directPath) return isExecutable(directPath, opt)\n\n const dirs = getDirsToWalkThrough(opt)\n const bins = await Promise.all(dirs.map(async dir => isExecutable(path.join(dir, command), opt)))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Options for lookPath.\n */\nexport interface LookPathOption {\n /**\n * Additional paths to look for, would be dealt same as PATH env.\n * Example: ['/tmp/bin', 'usr/local/bin']\n */\n include?: string[]\n /**\n * Paths to exclude to look for.\n * Example: ['/mnt']\n */\n exclude?: string[]\n /**\n * Set of env var to be used ON BEHALF OF the existing env of your runtime.\n * If `include` or `exclude` are given, they will be applied to this env set.\n */\n env?: NodeJS.ProcessEnv\n}\n","import { exec as execNonPromise, ExecOptions } from 'node:child_process'\nimport * as fs from 'node:fs/promises'\nimport * as process from 'node:process'\nimport * as path from 'node:path'\nimport * as util from 'node:util'\nimport * as semver from 'semver'\nimport { lookPath } from './lookPath'\nimport { type ExecResult } from './models'\n\nexport interface IBuildAgent {\n agentName: string\n sourceDirVariable: string\n tempDirVariable: string\n cacheDirVariable: string\n\n sourceDir: string\n tempDir: string\n cacheDir: string\n\n addPath(inputPath: string): void\n\n debug(message: string): void\n\n info(message: string): void\n\n warn(message: string): void\n\n error(message: string): void\n\n exec(exec: string, args: string[]): Promise\n\n cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise\n\n directoryExists(dir: string): Promise\n\n removeDirectory(dir: string): Promise\n\n fileExists(file: string): Promise\n\n findLocalTool(toolName: string, versionSpec: string): Promise\n\n getInput(input: string, required?: boolean): string\n\n getInput(input: Extract, required?: boolean): string\n\n getBooleanInput(input: Extract, required?: boolean): boolean\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[]\n\n getListInput(input: Extract, required?: boolean): string[]\n\n setSucceeded(message: string, done?: boolean): void\n\n setFailed(message: string, done?: boolean): void\n\n setOutput(name: string, value: string): void\n\n getVariable(name: string): string | undefined\n\n getVariableAsPath(name: string): string\n\n setVariable(name: string, value: string): void\n\n updateBuildNumber: (version: string) => void\n\n which(tool: string, check?: boolean): Promise\n}\n\nexport abstract class BuildAgentBase implements IBuildAgent {\n abstract agentName: string\n abstract sourceDirVariable: string\n abstract tempDirVariable: string\n abstract cacheDirVariable: string\n\n abstract debug(message: string): void\n\n abstract info(message: string): void\n\n abstract warn(message: string): void\n\n abstract error(message: string): void\n\n abstract setSucceeded(message: string, done?: boolean): void\n\n abstract setFailed(message: string, done?: boolean): void\n\n abstract setOutput(name: string, value: string): void\n\n abstract setVariable(name: string, value: string): void\n\n abstract updateBuildNumber: (version: string) => void\n\n get sourceDir(): string {\n return this.getVariableAsPath(this.sourceDirVariable)?.replace(/\\\\/g, '/')\n }\n\n get tempDir(): string {\n return this.getVariableAsPath(this.tempDirVariable)\n }\n\n get cacheDir(): string {\n return this.getVariableAsPath(this.cacheDirVariable)\n }\n\n addPath(inputPath: string): void {\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const newPath = inputPath + path.delimiter + process.env[envName]\n this.debug(`new Path: ${newPath}`)\n process.env[envName] = newPath\n process.env.Path = newPath\n this.info(`Updated PATH: ${process.env[envName]}`)\n }\n\n getInput(input: Extract, required?: boolean): string {\n const inputProp = input.replace(/ /g, '_').toUpperCase()\n const val = this.getVariable(`INPUT_${inputProp}`)\n if (required && !val) {\n throw new Error(`Input required and not supplied: ${inputProp}`)\n }\n return val.trim()\n }\n\n getBooleanInput(input: Extract, required?: boolean): boolean {\n const inputValue = this.getInput(input, required)\n return (inputValue || 'false').toLowerCase() === 'true'\n }\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[] {\n return this.getInput(input, required)\n .split(delimiter)\n .filter(x => {\n if (x) {\n return x.trim()\n }\n })\n }\n\n getListInput(input: Extract, required?: boolean): string[] {\n return this.getDelimitedInput(input, '\\n', required)\n }\n\n getVariable(name: string): string {\n const value = (process.env[name] || '').trim()\n this.debug(`getVariable - ${name}: ${value}`)\n return value.trim()\n }\n\n getVariableAsPath(name: string): string {\n return path.resolve(path.normalize(this.getVariable(name)))\n }\n\n async directoryExists(dir: string): Promise {\n try {\n await fs.access(dir)\n return (await fs.stat(dir)).isDirectory()\n } catch (_error) {\n return false\n }\n }\n\n async removeDirectory(dir: string): Promise {\n await fs.rm(dir, { recursive: true, force: true, maxRetries: 3, retryDelay: 1000 })\n }\n\n async fileExists(file: string): Promise {\n try {\n await fs.access(file)\n return (await fs.stat(file)).isFile()\n } catch (_error) {\n return false\n }\n }\n\n async cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise {\n if (!tool) {\n throw new Error('tool is a required parameter')\n }\n if (!version) {\n throw new Error('version is a required parameter')\n }\n if (!sourceDir) {\n throw new Error('sourceDir is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return ''\n }\n\n version = semver.clean(version) || version\n const destPath = path.join(cacheRoot, tool, version)\n if (await this.directoryExists(destPath)) {\n this.debug(`Destination directory ${destPath} already exists, removing`)\n await this.removeDirectory(destPath)\n }\n\n this.debug(`Copying ${sourceDir} to ${destPath}`)\n await fs.mkdir(destPath, { recursive: true })\n await fs.cp(sourceDir, destPath, { recursive: true, force: true })\n\n this.debug(`Caching ${tool}@${version} from ${sourceDir}`)\n return destPath\n }\n\n async findLocalTool(toolName: string, versionSpec: string): Promise {\n if (!toolName) {\n throw new Error('toolName is a required parameter')\n }\n if (!versionSpec) {\n throw new Error('versionSpec is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return null\n }\n\n versionSpec = semver.clean(versionSpec) || versionSpec\n this.info(`Looking for local tool ${toolName}@${versionSpec}`)\n const toolPath = path.join(cacheRoot, toolName, versionSpec)\n if (!(await this.directoryExists(toolPath))) {\n this.info(`Directory ${toolPath} not found`)\n return null\n } else {\n this.info(`Found tool ${toolName}@${versionSpec} at ${toolPath}`)\n }\n\n return toolPath\n }\n\n async exec(cmd: string, args: string[]): Promise {\n const exec = util.promisify(execNonPromise)\n\n try {\n const commandOptions: ExecOptions = { maxBuffer: 1024 * 1024 * 10 } // 10MB\n const { stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, commandOptions)\n return {\n code: 0,\n error: null,\n stderr,\n stdout\n }\n } catch (e) {\n const error = e as Error & { code: number; stderr: string; stdout: string }\n return {\n code: error.code,\n error,\n stderr: error.stderr,\n stdout: error.stdout\n }\n }\n }\n\n async which(tool: string, _check?: boolean): Promise {\n this.debug(`looking for tool '${tool}' in PATH`)\n let toolPath = await lookPath(tool)\n if (toolPath) {\n toolPath = path.resolve(toolPath)\n this.debug(`found tool '${tool}' in PATH: ${toolPath}`)\n return toolPath\n }\n throw new Error(`Unable to locate executable file: ${tool}`)\n }\n}\n"],"names":["semver.clean","exec","execNonPromise"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/gitversion.mjs.map b/dist/tools/libs/gitversion.mjs.map index 126e10a3b..f561cc929 100644 --- a/dist/tools/libs/gitversion.mjs.map +++ b/dist/tools/libs/gitversion.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const args = [workDir, '/output', 'json', '/l', 'console']\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n //\n } = options\n\n if (disableCache) {\n args.push('/nocache')\n }\n\n if (disableNormalization) {\n args.push('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n args.push('/config', configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n args.push('/overrideconfig', config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n args.push('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n args.push(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n return args\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n let args = [workDir]\n\n if (options.arguments) {\n args = args.concat(this.argStringToArray(options.arguments))\n }\n return args\n }\n\n private argStringToArray(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n append(c)\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const args = [workDir, '/output', 'json', '/l', 'console']\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n //\n } = options\n\n if (disableCache) {\n args.push('/nocache')\n }\n\n if (disableNormalization) {\n args.push('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n args.push('/config', configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n args.push('/overrideconfig', config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n args.push('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n args.push(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n return args\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n let args = [workDir]\n\n if (options.arguments) {\n args = args.concat(this.argStringToArray(options.arguments))\n }\n return args\n }\n\n private argStringToArray(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n append(c)\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/semver.mjs.map b/dist/tools/libs/semver.mjs.map index 6d92060df..71e0bd567 100644 --- a/dist/tools/libs/semver.mjs.map +++ b/dist/tools/libs/semver.mjs.map @@ -1 +1 @@ -{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n safeSrc[index] = safe\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, safeSrc: src, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)\n const match = `-${identifier}`.match(r)\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file +{"version":3,"file":"semver.mjs","sources":["../../../node_modules/semver/internal/constants.js","../../../node_modules/semver/internal/debug.js","../../../node_modules/semver/internal/re.js","../../../node_modules/semver/internal/parse-options.js","../../../node_modules/semver/internal/identifiers.js","../../../node_modules/semver/classes/semver.js","../../../node_modules/semver/functions/parse.js","../../../node_modules/semver/functions/valid.js","../../../node_modules/semver/functions/clean.js","../../../node_modules/semver/functions/inc.js","../../../node_modules/semver/functions/diff.js","../../../node_modules/semver/functions/major.js","../../../node_modules/semver/functions/minor.js","../../../node_modules/semver/functions/patch.js","../../../node_modules/semver/functions/prerelease.js","../../../node_modules/semver/functions/compare.js","../../../node_modules/semver/functions/rcompare.js","../../../node_modules/semver/functions/compare-loose.js","../../../node_modules/semver/functions/compare-build.js","../../../node_modules/semver/functions/sort.js","../../../node_modules/semver/functions/rsort.js","../../../node_modules/semver/functions/gt.js","../../../node_modules/semver/functions/lt.js","../../../node_modules/semver/functions/eq.js","../../../node_modules/semver/functions/neq.js","../../../node_modules/semver/functions/gte.js","../../../node_modules/semver/functions/lte.js","../../../node_modules/semver/functions/cmp.js","../../../node_modules/semver/functions/coerce.js","../../../node_modules/semver/internal/lrucache.js","../../../node_modules/semver/classes/range.js","../../../node_modules/semver/classes/comparator.js","../../../node_modules/semver/functions/satisfies.js","../../../node_modules/semver/ranges/to-comparators.js","../../../node_modules/semver/ranges/max-satisfying.js","../../../node_modules/semver/ranges/min-satisfying.js","../../../node_modules/semver/ranges/min-version.js","../../../node_modules/semver/ranges/valid.js","../../../node_modules/semver/ranges/outside.js","../../../node_modules/semver/ranges/gtr.js","../../../node_modules/semver/ranges/ltr.js","../../../node_modules/semver/ranges/intersects.js","../../../node_modules/semver/ranges/simplify.js","../../../node_modules/semver/ranges/subset.js","../../../node_modules/semver/index.js"],"sourcesContent":["// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst safeSrc = exports.safeSrc = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n safeSrc[index] = safe\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, safeSrc: src, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)\n const match = `-${identifier}`.match(r)\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // If the main part has no difference\n if (lowVersion.compareMain(highVersion) === 0) {\n if (lowVersion.minor && !lowVersion.patch) {\n return 'minor'\n }\n return 'patch'\n }\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n"],"names":["require$$0","require$$1","require$$2","require$$3","require$$4","semver","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","require$$33","require$$34","require$$35","require$$36","require$$37","require$$38","require$$39","require$$40"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]} \ No newline at end of file diff --git a/dist/tools/libs/tools.mjs.map b/dist/tools/libs/tools.mjs.map index 654346813..5e80e3af6 100644 --- a/dist/tools/libs/tools.mjs.map +++ b/dist/tools/libs/tools.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n let toolPath: string | undefined\n const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n if (variableAsPath) {\n toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n }\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const args = ['tool', 'install', toolName, '--tool-path', tempDirectory, '--version', semverVersion]\n if (ignoreFailedSources) {\n args.push('--ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', args)\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n let toolPath: string | undefined\n const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n if (variableAsPath) {\n toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n }\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const args = ['tool', 'install', toolName, '--tool-path', tempDirectory, '--version', semverVersion]\n if (ignoreFailedSources) {\n args.push('--ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', args)\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file From eb050b7b3894d11a6848054129fc94b777ffa9f2 Mon Sep 17 00:00:00 2001 From: waldo wautelet Date: Fri, 7 Feb 2025 13:23:06 +0100 Subject: [PATCH 023/108] feat: update project files implemented --- src/tools/gitversion/models.ts | 1 + src/tools/gitversion/settings.ts | 5 ++++- src/tools/gitversion/tool.ts | 7 ++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/tools/gitversion/models.ts b/src/tools/gitversion/models.ts index 6eca10ba5..bb1f3e810 100644 --- a/src/tools/gitversion/models.ts +++ b/src/tools/gitversion/models.ts @@ -10,6 +10,7 @@ export type ExecuteSettings = { overrideConfig: string[] updateAssemblyInfo: boolean updateAssemblyInfoFilename: string + updateProjectFiles: boolean } export type CommandSettings = { diff --git a/src/tools/gitversion/settings.ts b/src/tools/gitversion/settings.ts index 571601464..4bbdcd71f 100644 --- a/src/tools/gitversion/settings.ts +++ b/src/tools/gitversion/settings.ts @@ -22,6 +22,8 @@ export class GitVersionSettingsProvider extends SettingsProvider implements IGit const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo') const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename') + const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles') + return { targetPath, disableCache, @@ -31,7 +33,8 @@ export class GitVersionSettingsProvider extends SettingsProvider implements IGit configFilePath, overrideConfig, updateAssemblyInfo, - updateAssemblyInfoFilename + updateAssemblyInfoFilename, + updateProjectFiles } } diff --git a/src/tools/gitversion/tool.ts b/src/tools/gitversion/tool.ts index b87af5f8e..a6d0c9968 100644 --- a/src/tools/gitversion/tool.ts +++ b/src/tools/gitversion/tool.ts @@ -87,7 +87,8 @@ export class GitVersionTool extends DotnetTool { configFilePath, overrideConfig, updateAssemblyInfo, - updateAssemblyInfoFilename + updateAssemblyInfoFilename, + updateProjectFiles // } = options @@ -129,6 +130,10 @@ export class GitVersionTool extends DotnetTool { } } + if (updateProjectFiles) { + args.push('/updateprojectfiles') + } + return args } From c9d45715cfbab0a34e4059a5fe8b7cd915a055de Mon Sep 17 00:00:00 2001 From: waldo wautelet Date: Fri, 7 Feb 2025 15:56:23 +0100 Subject: [PATCH 024/108] test: update of docs and tests --- dist/azure/gitversion/execute/task.json | 8 +++++++ docs/examples/azure/gitversion/execute.md | 21 +++++++++++++++++++ docs/examples/github/gitversion/execute.md | 21 +++++++++++++++++++ gitversion/execute/action.yml | 4 ++++ .../tools/gitversion/settings.spec.ts | 3 ++- src/__tests__/tools/gitversion/tool.spec.ts | 8 +++++++ 6 files changed, 64 insertions(+), 1 deletion(-) diff --git a/dist/azure/gitversion/execute/task.json b/dist/azure/gitversion/execute/task.json index 22ee7056b..0d25b4120 100644 --- a/dist/azure/gitversion/execute/task.json +++ b/dist/azure/gitversion/execute/task.json @@ -108,6 +108,14 @@ "required": false, "helpMarkDown": "Update versions in specified file", "visibleRule": "updateAssemblyInfo = true" + }, + { + "name": "updateProjectFiles", + "type": "boolean", + "label": "Update project files", + "defaultValue": "false", + "required": false, + "helpMarkDown": "Whether to update versions in the project files" } ] } diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index e1276216f..ae22fec07 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -64,6 +64,10 @@ updateAssemblyInfoFilename: description: Update versions in specified file required: false default: '' +updateProjectFiles: + description: Whether to update versions in all project files + required: false + default: 'false' ``` ## Outputs @@ -487,3 +491,20 @@ stages: ``` + +### Example 10 + +
+ Calculate the version for the build. Update the version in the project files. + +```yaml +steps: + # gitversion/setup@3.1.11 task omitted for brevity. + + - task: gitversion/execute@3.1.11 + displayName: Determine Version + inputs: + updateProjectFiles: true +``` + +
diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index abf1b0de5..307a159a9 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -66,6 +66,10 @@ updateAssemblyInfoFilename: description: Update versions in specified file required: false default: '' +updateProjectFiles: + description: Whether to update versions in the project files + required: false + default: 'false' ``` ## Outputs @@ -458,3 +462,20 @@ jobs: ``` + +### Example 9 + +
+ Calculate the version for the build. Update the version in the project files. + +```yaml +steps: + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + + - name: Determine Version + uses: gittools/actions/gitversion/execute@v3.1.11 + with: + updateProjectFiles: true +``` + +
diff --git a/gitversion/execute/action.yml b/gitversion/execute/action.yml index f8178f752..ed1847d12 100644 --- a/gitversion/execute/action.yml +++ b/gitversion/execute/action.yml @@ -47,6 +47,10 @@ inputs: description: Update versions in specified file required: false default: '' + updateProjectFiles: + description: Whether to update versions in the project files + required: false + default: 'false' outputs: major: # id of output description: 'The Major value' diff --git a/src/__tests__/tools/gitversion/settings.spec.ts b/src/__tests__/tools/gitversion/settings.spec.ts index d45055363..ff729a61d 100644 --- a/src/__tests__/tools/gitversion/settings.spec.ts +++ b/src/__tests__/tools/gitversion/settings.spec.ts @@ -14,7 +14,8 @@ describe('GitVersion settings', () => { configFilePath: 'path', overrideConfig: ['update-build-number=false'], updateAssemblyInfo: true, - updateAssemblyInfoFilename: 'path' + updateAssemblyInfoFilename: 'path', + updateProjectFiles: true } const buildAgent = { diff --git a/src/__tests__/tools/gitversion/tool.spec.ts b/src/__tests__/tools/gitversion/tool.spec.ts index 6e31e4543..f783504b0 100644 --- a/src/__tests__/tools/gitversion/tool.spec.ts +++ b/src/__tests__/tools/gitversion/tool.spec.ts @@ -251,6 +251,14 @@ describe('GitVersionTool', () => { } as ExecuteSettings) expect(args).toEqual(['workdir', '/output', 'json', '/l', 'console', '/config', 'workdir/GitVersion.yml', '/updateassemblyinfo', 'AssemblyInfo.cs']) }) + + it('should return correct arguments for settings with project files', async () => { + tool.init(true) + const args = await tool.getExecuteArguments('workdir', { + updateProjectFiles: true + } as ExecuteSettings) + expect(args).toEqual(['workdir', '/output', 'json', '/l', 'console', '/updateprojectfiles']) + }) }) describe('getCommandArguments', () => { From 026c844b7b7ad583e7aa35bff61cb4b1d47cdcdd Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 8 Feb 2025 09:26:07 +0100 Subject: [PATCH 025/108] docs: move docs to appropriate section --- docs/examples/azure/gitversion/execute.md | 40 +++++++++++----------- docs/examples/github/gitversion/execute.md | 38 ++++++++++---------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index ae22fec07..0d3e09745 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -227,6 +227,23 @@ steps: +### Example 7 + +
+ Calculate the version for the build. Update the version in the project files. + +```yaml +steps: + # gitversion/setup@3.1.11 task omitted for brevity. + + - task: gitversion/execute@3.1.11 + displayName: Determine Version + inputs: + updateProjectFiles: true +``` + +
+ ## Output usage The outputs can be accessed using the syntax `$(.)` or `$(.GitVersion_)`, @@ -239,7 +256,7 @@ The multi-job output variables can be accessed across jobs and stages, in both c **GitVersion also automatically updates the pre-defined Build variable `Build.BuildNumber`.** You can disable the default behavior by setting the `update-build-number` to `false` in the configuration file or by using the `overrideConfig` input. -### Example 7 +### Example 8
Calculate the version for the build and use the output in a subsequent steps within the same job. @@ -309,7 +326,7 @@ jobs:
-### Example 8 +### Example 9
Calculate the version for the build and use the output in a subsequent job. @@ -397,7 +414,7 @@ jobs:
-### Example 9 +### Example 10
Calculate the version for the build and use the output in a subsequent stage. @@ -491,20 +508,3 @@ stages: ```
- -### Example 10 - -
- Calculate the version for the build. Update the version in the project files. - -```yaml -steps: - # gitversion/setup@3.1.11 task omitted for brevity. - - - task: gitversion/execute@3.1.11 - displayName: Determine Version - inputs: - updateProjectFiles: true -``` - -
diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index 307a159a9..c8b8b7f86 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -226,6 +226,23 @@ steps: +### Example 7 + +
+ Calculate the version for the build. Update the version in the project files. + +```yaml +steps: + # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + + - name: Determine Version + uses: gittools/actions/gitversion/execute@v3.1.11 + with: + updateProjectFiles: true +``` + +
+ ## Output usage The outputs can be accessed using the syntax `${{ steps..outputs. }}` or `${{ steps..outputs.GitVersion_ }}`, @@ -233,7 +250,7 @@ where `` is the ID assigned to the step that calls the action, by subsequent The action also creates environment variables of the form `${{ env. }}` or `${{ env.GitVersion_ }}` for use by other steps in the same job. -### Example 7 +### Example 8
Calculate the version for the build and use the output in a subsequent steps within the same job. @@ -317,7 +334,7 @@ jobs:
-### Example 8 +### Example 9
Calculate the version for the build and use the output in a subsequent job. @@ -462,20 +479,3 @@ jobs: ```
- -### Example 9 - -
- Calculate the version for the build. Update the version in the project files. - -```yaml -steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - - - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.11 - with: - updateProjectFiles: true -``` - -
From 3582c3368662997ebbe444d79307b2040d038be9 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 8 Feb 2025 09:26:58 +0100 Subject: [PATCH 026/108] build: rename ci workflows to match the examples --- .azure/example-10.yml | 94 ++++++++++++++++++++ .azure/example-7.yml | 68 --------------- .azure/example-8.yml | 71 ++++++--------- .azure/example-9.yml | 148 +++++++++++++++----------------- .github/workflows/example-7.yml | 82 ------------------ .github/workflows/example-8.yml | 118 ++++++------------------- .github/workflows/example-9.yml | 144 +++++++++++++++++++++++++++++++ 7 files changed, 364 insertions(+), 361 deletions(-) create mode 100644 .azure/example-10.yml delete mode 100644 .azure/example-7.yml delete mode 100644 .github/workflows/example-7.yml create mode 100644 .github/workflows/example-9.yml diff --git a/.azure/example-10.yml b/.azure/example-10.yml new file mode 100644 index 000000000..18b43c809 --- /dev/null +++ b/.azure/example-10.yml @@ -0,0 +1,94 @@ +name: example-10 +trigger: none + +variables: + - name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE + value: 'true' + - name: DOTNET_CLI_TELEMETRY_OPTOUT + value: 'true' + +stages: + - stage: GitVersion_v6_cross_stage + displayName: GitVersion v6 (cross stage) + jobs: + - job: GitVersion_v6_cross_stage_producer + displayName: GitVersion v6 (cross stage producer) + pool: + vmImage: ubuntu-latest + steps: + - checkout: self + fetchDepth: 0 + + - task: gitversion/setup@3.1.11 + displayName: Install GitVersion + inputs: + versionSpec: '6.0.x' + + - task: gitversion/execute@3.1.11 + displayName: Determine Version + name: version_step # step id used as reference for output values + inputs: + overrideConfig: | + update-build-number=false + - stage: GitVersion_v6_cross_stage_consumer_without_prefix + displayName: GitVersion v6 (cross stage consumer) - without prefix + dependsOn: GitVersion_v6_cross_stage + condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_stage.outputs['GitVersion_v6_cross_stage_producer.version_step.branchName'], 'main')) # use in condition + jobs: + - job: GitVersion_v6_cross_stage_consumer_without_prefix + displayName: GitVersion v6 (cross stage consumer) - without prefix + variables: + myvar_fullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.fullSemVer'] ] + pool: + vmImage: ubuntu-latest + steps: + - pwsh: | + echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" + displayName: Use mapped job variables (pwsh - outputs without prefix) + + - pwsh: | + echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" + displayName: Use mapped local env from job variables (pwsh - outputs without prefix) + env: + localvar_fullSemVer: $(myvar_fullSemVer) + + - bash: | + echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" + displayName: Use mapped job variables (bash - outputs without prefix) + + - bash: | + echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" + displayName: Use mapped local env from job variables (bash - outputs without prefix) + env: + localvar_fullSemVer: $(myvar_fullSemVer) + - stage: GitVersion_v6_cross_stage_consumer_with_prefix + displayName: GitVersion v6 (cross stage consumer) - with prefix + dependsOn: GitVersion_v6_cross_stage + condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_stage.outputs['GitVersion_v6_cross_stage_producer.version_step.GitVersion_BranchName'], 'main')) # use in condition + jobs: + - job: GitVersion_v6_cross_stage_consumer_with_prefix + displayName: GitVersion v6 (cross stage consumer) - with prefix + variables: + myvar_GitVersion_FullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.GitVersion_FullSemVer'] ] + pool: + vmImage: ubuntu-latest + steps: + - pwsh: | + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" + displayName: Use mapped job variables (pwsh - outputs with prefix) + + - pwsh: | + echo "FullSemVer (env:localvar_GitVersion_FullSemVer) : $env:localvar_GitVersion_FullSemVer" + displayName: Use mapped local env from job variables (pwsh - outputs with prefix) + env: + localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + + - bash: | + echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" + displayName: Use mapped job variables (bash - outputs with prefix) + + - bash: | + echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" + displayName: Use mapped local env from job variables (bash - outputs with prefix) + env: + localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) diff --git a/.azure/example-7.yml b/.azure/example-7.yml deleted file mode 100644 index 12f3b36a0..000000000 --- a/.azure/example-7.yml +++ /dev/null @@ -1,68 +0,0 @@ -trigger: none - -variables: - - name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE - value: 'true' - - name: DOTNET_CLI_TELEMETRY_OPTOUT - value: 'true' - -jobs: - - job: GitVersion_v6_same_job - displayName: GitVersion v6 (same job) - pool: - vmImage: ubuntu-latest - steps: - - checkout: self - fetchDepth: 0 - - - task: gitversion/setup@3.1.11 - displayName: Install GitVersion - inputs: - versionSpec: '6.0.x' - - - task: gitversion/execute@3.1.11 - displayName: Determine Version - name: version_step # step id used as reference for output values - inputs: - overrideConfig: | - update-build-number=false - - - pwsh: | - echo "FullSemVer (fullSemVer) : $(fullSemVer)" - displayName: Display GitVersion variables (without prefix) - - - pwsh: | - echo "FullSemVer (GitVersion_FullSemVer) : $(GitVersion_FullSemVer)" - displayName: Display GitVersion variables (with prefix) - - - pwsh: | - echo "FullSemVer (version_step.fullSemVer) : $(version_step.fullSemVer)" - displayName: Display GitVersion outputs (step output without prefix) - - - pwsh: | - echo "FullSemVer (version_step.GitVersion_FullSemVer) : $(version_step.GitVersion_FullSemVer)" - displayName: Display GitVersion outputs (step output with prefix) - - - pwsh: | - echo "FullSemVer (env:myvar_fullSemVer) : $env:myvar_fullSemVer" - displayName: Display mapped local env (pwsh - outputs without prefix) - env: - myvar_fullSemVer: $(version_step.fullSemVer) - - - pwsh: | - echo "FullSemVer (env:myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" - displayName: Display mapped local env (pwsh - outputs with prefix) - env: - myvar_GitVersion_FullSemVer: $(version_step.GitVersion_FullSemVer) - - - bash: | - echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" - displayName: Display mapped local env (bash - outputs without prefix) - env: - myvar_fullSemVer: $(version_step.fullSemVer) - - - bash: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" - displayName: Display mapped local env (bash - outputs with prefix) - env: - myvar_GitVersion_FullSemVer: $(version_step.GitVersion_FullSemVer) diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 26fac980b..0b36e5c5f 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -1,3 +1,4 @@ +name: example-8 trigger: none variables: @@ -7,8 +8,8 @@ variables: value: 'true' jobs: - - job: GitVersion_v6_cross_job - displayName: GitVersion v6 (cross job) + - job: GitVersion_v6_same_job + displayName: GitVersion v6 (same job) pool: vmImage: ubuntu-latest steps: @@ -27,60 +28,42 @@ jobs: overrideConfig: | update-build-number=false - - job: GitVersion_v6_cross_job_consumer_without_prefix - displayName: GitVersion v6 (cross job consumer) - without prefix - dependsOn: GitVersion_v6_cross_job - condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_job.outputs['version_step.branchName'], 'main')) # use in condition - variables: - myvar_fullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.fullSemVer'] ] - pool: - vmImage: ubuntu-latest - steps: - pwsh: | - echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" - displayName: Use mapped job variables (pwsh - outputs without prefix) + echo "FullSemVer (fullSemVer) : $(fullSemVer)" + displayName: Display GitVersion variables (without prefix) - pwsh: | - echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" - displayName: Use mapped local env from job variables (pwsh - outputs without prefix) - env: - localvar_fullSemVer: $(myvar_fullSemVer) + echo "FullSemVer (GitVersion_FullSemVer) : $(GitVersion_FullSemVer)" + displayName: Display GitVersion variables (with prefix) - - bash: | - echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" - displayName: Use mapped job variables (bash - outputs without prefix) + - pwsh: | + echo "FullSemVer (version_step.fullSemVer) : $(version_step.fullSemVer)" + displayName: Display GitVersion outputs (step output without prefix) - - bash: | - echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" - displayName: Use mapped local env from job variables (bash - outputs without prefix) - env: - localvar_fullSemVer: $(myvar_fullSemVer) + - pwsh: | + echo "FullSemVer (version_step.GitVersion_FullSemVer) : $(version_step.GitVersion_FullSemVer)" + displayName: Display GitVersion outputs (step output with prefix) - - job: GitVersion_v6_cross_job_consumer_with_prefix - displayName: GitVersion v6 (cross job consumer) - with prefix - dependsOn: GitVersion_v6_cross_job - condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_BranchName'], 'main')) # use in condition - variables: - myvar_GitVersion_FullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_FullSemVer'] ] - pool: - vmImage: ubuntu-latest - steps: - pwsh: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" - displayName: Use mapped job variables (pwsh - outputs with prefix) + echo "FullSemVer (env:myvar_fullSemVer) : $env:myvar_fullSemVer" + displayName: Display mapped local env (pwsh - outputs without prefix) + env: + myvar_fullSemVer: $(version_step.fullSemVer) - pwsh: | - echo "FullSemVer (env:localvar_GitVersion_FullSemVer) : $env:localvar_GitVersion_FullSemVer" - displayName: Use mapped local env from job variables (pwsh - outputs with prefix) + echo "FullSemVer (env:myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" + displayName: Display mapped local env (pwsh - outputs with prefix) env: - localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + myvar_GitVersion_FullSemVer: $(version_step.GitVersion_FullSemVer) - bash: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" - displayName: Use mapped job variables (bash - outputs with prefix) + echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" + displayName: Display mapped local env (bash - outputs without prefix) + env: + myvar_fullSemVer: $(version_step.fullSemVer) - bash: | - echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" - displayName: Use mapped local env from job variables (bash - outputs with prefix) + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" + displayName: Display mapped local env (bash - outputs with prefix) env: - localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + myvar_GitVersion_FullSemVer: $(version_step.GitVersion_FullSemVer) diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 082d966c0..55f740b38 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -1,3 +1,4 @@ +name: example-9 trigger: none variables: @@ -6,88 +7,81 @@ variables: - name: DOTNET_CLI_TELEMETRY_OPTOUT value: 'true' -stages: - - stage: GitVersion_v6_cross_stage - displayName: GitVersion v6 (cross stage) - jobs: - - job: GitVersion_v6_cross_stage_producer - displayName: GitVersion v6 (cross stage producer) - pool: - vmImage: ubuntu-latest - steps: - - checkout: self - fetchDepth: 0 +jobs: + - job: GitVersion_v6_cross_job + displayName: GitVersion v6 (cross job) + pool: + vmImage: ubuntu-latest + steps: + - checkout: self + fetchDepth: 0 - - task: gitversion/setup@3.1.11 - displayName: Install GitVersion - inputs: - versionSpec: '6.0.x' + - task: gitversion/setup@3.1.11 + displayName: Install GitVersion + inputs: + versionSpec: '6.0.x' - - task: gitversion/execute@3.1.11 - displayName: Determine Version - name: version_step # step id used as reference for output values - inputs: - overrideConfig: | - update-build-number=false - - stage: GitVersion_v6_cross_stage_consumer_without_prefix - displayName: GitVersion v6 (cross stage consumer) - without prefix - dependsOn: GitVersion_v6_cross_stage - condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_stage.outputs['GitVersion_v6_cross_stage_producer.version_step.branchName'], 'main')) # use in condition - jobs: - - job: GitVersion_v6_cross_stage_consumer_without_prefix - displayName: GitVersion v6 (cross stage consumer) - without prefix - variables: - myvar_fullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.fullSemVer'] ] - pool: - vmImage: ubuntu-latest - steps: - - pwsh: | - echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" - displayName: Use mapped job variables (pwsh - outputs without prefix) + - task: gitversion/execute@3.1.11 + displayName: Determine Version + name: version_step # step id used as reference for output values + inputs: + overrideConfig: | + update-build-number=false - - pwsh: | - echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" - displayName: Use mapped local env from job variables (pwsh - outputs without prefix) - env: - localvar_fullSemVer: $(myvar_fullSemVer) + - job: GitVersion_v6_cross_job_consumer_without_prefix + displayName: GitVersion v6 (cross job consumer) - without prefix + dependsOn: GitVersion_v6_cross_job + condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_job.outputs['version_step.branchName'], 'main')) # use in condition + variables: + myvar_fullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.fullSemVer'] ] + pool: + vmImage: ubuntu-latest + steps: + - pwsh: | + echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" + displayName: Use mapped job variables (pwsh - outputs without prefix) - - bash: | - echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" - displayName: Use mapped job variables (bash - outputs without prefix) + - pwsh: | + echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" + displayName: Use mapped local env from job variables (pwsh - outputs without prefix) + env: + localvar_fullSemVer: $(myvar_fullSemVer) - - bash: | - echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" - displayName: Use mapped local env from job variables (bash - outputs without prefix) - env: - localvar_fullSemVer: $(myvar_fullSemVer) - - stage: GitVersion_v6_cross_stage_consumer_with_prefix - displayName: GitVersion v6 (cross stage consumer) - with prefix - dependsOn: GitVersion_v6_cross_stage - condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_stage.outputs['GitVersion_v6_cross_stage_producer.version_step.GitVersion_BranchName'], 'main')) # use in condition - jobs: - - job: GitVersion_v6_cross_stage_consumer_with_prefix - displayName: GitVersion v6 (cross stage consumer) - with prefix - variables: - myvar_GitVersion_FullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.GitVersion_FullSemVer'] ] - pool: - vmImage: ubuntu-latest - steps: - - pwsh: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" - displayName: Use mapped job variables (pwsh - outputs with prefix) + - bash: | + echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" + displayName: Use mapped job variables (bash - outputs without prefix) - - pwsh: | - echo "FullSemVer (env:localvar_GitVersion_FullSemVer) : $env:localvar_GitVersion_FullSemVer" - displayName: Use mapped local env from job variables (pwsh - outputs with prefix) - env: - localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + - bash: | + echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" + displayName: Use mapped local env from job variables (bash - outputs without prefix) + env: + localvar_fullSemVer: $(myvar_fullSemVer) - - bash: | - echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" - displayName: Use mapped job variables (bash - outputs with prefix) + - job: GitVersion_v6_cross_job_consumer_with_prefix + displayName: GitVersion v6 (cross job consumer) - with prefix + dependsOn: GitVersion_v6_cross_job + condition: and(succeeded(), eq(dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_BranchName'], 'main')) # use in condition + variables: + myvar_GitVersion_FullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_FullSemVer'] ] + pool: + vmImage: ubuntu-latest + steps: + - pwsh: | + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" + displayName: Use mapped job variables (pwsh - outputs with prefix) - - bash: | - echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" - displayName: Use mapped local env from job variables (bash - outputs with prefix) - env: - localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + - pwsh: | + echo "FullSemVer (env:localvar_GitVersion_FullSemVer) : $env:localvar_GitVersion_FullSemVer" + displayName: Use mapped local env from job variables (pwsh - outputs with prefix) + env: + localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) + + - bash: | + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" + displayName: Use mapped job variables (bash - outputs with prefix) + + - bash: | + echo "FullSemVer (localvar_GitVersion_FullSemVer) : $localvar_GitVersion_FullSemVer" + displayName: Use mapped local env from job variables (bash - outputs with prefix) + env: + localvar_GitVersion_FullSemVer: $(myvar_GitVersion_FullSemVer) diff --git a/.github/workflows/example-7.yml b/.github/workflows/example-7.yml deleted file mode 100644 index d01ac3b37..000000000 --- a/.github/workflows/example-7.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: example-7 -on: - workflow_dispatch: - -defaults: - run: - shell: pwsh - -jobs: - GitVersion_v6_same_job: - name: GitVersion v6 (same job) - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 - with: - versionSpec: '6.0.x' - - - name: Determine Version - id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 - - - run: | - echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" - name: Display GitVersion variables (without prefix) - - - run: | - echo "FullSemVer (env.GitVersion_FullSemVer) : ${{ env.GitVersion_FullSemVer }}" - name: Display GitVersion variables (with prefix) - - - run: | - echo "FullSemVer (steps.version_step.outputs.fullSemVer) : ${{ steps.version_step.outputs.fullSemVer }}" - name: Display GitVersion outputs (step output without prefix) - - - run: | - echo "FullSemVer (steps.version_step.outputs.GitVersion_FullSemVer) : ${{ steps.version_step.outputs.GitVersion_FullSemVer }}" - name: Display GitVersion outputs (step output with prefix) - - - run: | - echo "FullSemVer (env.myvar_fullSemVer) : ${{ env.myvar_fullSemVer }}" - name: Display mapped local env (outputs without prefix) - env: - myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - - - run: | - echo "FullSemVer (env.myvar_GitVersion_FullSemVer) : ${{ env.myvar_GitVersion_FullSemVer }}" - name: Display mapped local env (outputs with prefix) - env: - myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} - - - run: | - echo "FullSemVer (env.myvar_fullSemVer) : $env:myvar_fullSemVer" - name: Display mapped local env (pwsh - outputs without prefix) - shell: pwsh - env: - myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - - - run: | - echo "FullSemVer (env.myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" - name: Display mapped local env (pwsh - outputs with prefix) - shell: pwsh - env: - myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} - - - run: | - echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" - name: Display mapped local env (bash - outputs without prefix) - shell: bash - env: - myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - - - run: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" - name: Display mapped local env (bash - outputs with prefix) - shell: bash - env: - myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 25c7d8fd1..9b697fd16 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -7,15 +7,9 @@ defaults: shell: pwsh jobs: - GitVersion_v6_cross_job: - name: GitVersion v6 (cross job) + GitVersion_v6_same_job: + name: GitVersion v6 (same job) runs-on: ubuntu-latest - outputs: - branchName: ${{ steps.version_step.outputs.branchName }} - fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - - GitVersion_BranchName: ${{ steps.version_step.outputs.GitVersion_BranchName }} - GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} steps: - name: Checkout uses: actions/checkout@v4 @@ -31,114 +25,58 @@ jobs: id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 - GitVersion_v6_cross_job_consumer_without_prefix: - name: GitVersion v6 (cross job consumer) - without prefix - needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest - if: contains(needs.GitVersion_v6_cross_job.outputs['branchName'], 'main') - env: - myvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} - steps: - - run: | - echo "FullSemVer (env:myvar_fullSemVer) : $env:myvar_fullSemVer" - name: Use job variables (pwsh - outputs without prefix) - shell: pwsh - - run: | - echo "FullSemVer (env:localvar_fullSemVer): $env:localvar_fullSemVer" - name: Use local env mapped from output (pwsh - outputs without prefix) - shell: pwsh - env: - localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} + echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" + name: Display GitVersion variables (without prefix) - run: | - echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" - name: Use local env mapped from job variables (pwsh - outputs without prefix) - shell: pwsh - env: - localvar_fullSemVer: ${{ env.myvar_fullSemVer }} + echo "FullSemVer (env.GitVersion_FullSemVer) : ${{ env.GitVersion_FullSemVer }}" + name: Display GitVersion variables (with prefix) - run: | - echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.fullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }}" - name: Use direct output from previous job (pwsh - outputs without prefix) - shell: pwsh + echo "FullSemVer (steps.version_step.outputs.fullSemVer) : ${{ steps.version_step.outputs.fullSemVer }}" + name: Display GitVersion outputs (step output without prefix) - run: | - echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" - name: Use job variables (bash - outputs without prefix) - shell: bash + echo "FullSemVer (steps.version_step.outputs.GitVersion_FullSemVer) : ${{ steps.version_step.outputs.GitVersion_FullSemVer }}" + name: Display GitVersion outputs (step output with prefix) - run: | - echo "FullSemVer (localvar_fullSemVer): $localvar_fullSemVer" - name: Use local env mapped from output (bash - outputs without prefix) - shell: bash + echo "FullSemVer (env.myvar_fullSemVer) : ${{ env.myvar_fullSemVer }}" + name: Display mapped local env (outputs without prefix) env: - localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} + myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - run: | - echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" - name: Use local env mapped from job variables (bash - outputs without prefix) - shell: bash + echo "FullSemVer (env.myvar_GitVersion_FullSemVer) : ${{ env.myvar_GitVersion_FullSemVer }}" + name: Display mapped local env (outputs with prefix) env: - localvar_fullSemVer: ${{ env.myvar_fullSemVer }} + myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} - run: | - echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.fullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }}" - name: Use direct output from previous job (bash - outputs without prefix) - shell: bash - - GitVersion_v6_cross_job_consumer_with_prefix: - name: GitVersion v6 (cross job consumer) - with prefix - needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest - if: contains(needs.GitVersion_v6_cross_job.outputs['GitVersion_BranchName'], 'main') - env: - myvar_GitVersion_FullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} - steps: - - run: | - echo "FullSemVer (env:myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" - name: Use job variables (pwsh - outputs without prefix) - shell: pwsh - - - run: | - echo "FullSemVer (env:localvar_fullSemVer): $env:localvar_fullSemVer" - name: Use local env mapped from output (pwsh - outputs without prefix) + echo "FullSemVer (env.myvar_fullSemVer) : $env:myvar_fullSemVer" + name: Display mapped local env (pwsh - outputs without prefix) shell: pwsh env: - localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} + myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - run: | - echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" - name: Use local env mapped from job variables (pwsh - outputs without prefix) + echo "FullSemVer (env.myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" + name: Display mapped local env (pwsh - outputs with prefix) shell: pwsh env: - localvar_fullSemVer: ${{ env.myvar_GitVersion_FullSemVer }} + myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} - run: | - echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }}" - name: Use direct output from previous job (pwsh - outputs without prefix) - shell: pwsh - - - run: | - echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" - name: Use job variables (bash - outputs without prefix) - shell: bash - - - run: | - echo "FullSemVer (localvar_fullSemVer): $localvar_fullSemVer" - name: Use local env mapped from output (bash - outputs without prefix) + echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" + name: Display mapped local env (bash - outputs without prefix) shell: bash env: - localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} + myvar_fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} - run: | - echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" - name: Use local env mapped from job variables (bash - outputs without prefix) + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" + name: Display mapped local env (bash - outputs with prefix) shell: bash env: - localvar_fullSemVer: ${{ env.myvar_GitVersion_FullSemVer }} - - - run: | - echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }}" - name: Use direct output from previous job (bash - outputs without prefix) - shell: bash + myvar_GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml new file mode 100644 index 000000000..12c3963df --- /dev/null +++ b/.github/workflows/example-9.yml @@ -0,0 +1,144 @@ +name: example-9 +on: + workflow_dispatch: + +defaults: + run: + shell: pwsh + +jobs: + GitVersion_v6_cross_job: + name: GitVersion v6 (cross job) + runs-on: ubuntu-latest + outputs: + branchName: ${{ steps.version_step.outputs.branchName }} + fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} + + GitVersion_BranchName: ${{ steps.version_step.outputs.GitVersion_BranchName }} + GitVersion_FullSemVer: ${{ steps.version_step.outputs.GitVersion_FullSemVer }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.1.11 + with: + versionSpec: '6.0.x' + + - name: Determine Version + id: version_step # step id used as reference for output values + uses: gittools/actions/gitversion/execute@v3.1.11 + + GitVersion_v6_cross_job_consumer_without_prefix: + name: GitVersion v6 (cross job consumer) - without prefix + needs: GitVersion_v6_cross_job + runs-on: ubuntu-latest + if: contains(needs.GitVersion_v6_cross_job.outputs['branchName'], 'main') + env: + myvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} + steps: + - run: | + echo "FullSemVer (env:myvar_fullSemVer) : $env:myvar_fullSemVer" + name: Use job variables (pwsh - outputs without prefix) + shell: pwsh + + - run: | + echo "FullSemVer (env:localvar_fullSemVer): $env:localvar_fullSemVer" + name: Use local env mapped from output (pwsh - outputs without prefix) + shell: pwsh + env: + localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} + + - run: | + echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" + name: Use local env mapped from job variables (pwsh - outputs without prefix) + shell: pwsh + env: + localvar_fullSemVer: ${{ env.myvar_fullSemVer }} + + - run: | + echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.fullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }}" + name: Use direct output from previous job (pwsh - outputs without prefix) + shell: pwsh + + - run: | + echo "FullSemVer (myvar_fullSemVer) : $myvar_fullSemVer" + name: Use job variables (bash - outputs without prefix) + shell: bash + + - run: | + echo "FullSemVer (localvar_fullSemVer): $localvar_fullSemVer" + name: Use local env mapped from output (bash - outputs without prefix) + shell: bash + env: + localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} + + - run: | + echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" + name: Use local env mapped from job variables (bash - outputs without prefix) + shell: bash + env: + localvar_fullSemVer: ${{ env.myvar_fullSemVer }} + + - run: | + echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.fullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }}" + name: Use direct output from previous job (bash - outputs without prefix) + shell: bash + + GitVersion_v6_cross_job_consumer_with_prefix: + name: GitVersion v6 (cross job consumer) - with prefix + needs: GitVersion_v6_cross_job + runs-on: ubuntu-latest + if: contains(needs.GitVersion_v6_cross_job.outputs['GitVersion_BranchName'], 'main') + env: + myvar_GitVersion_FullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} + steps: + - run: | + echo "FullSemVer (env:myvar_GitVersion_FullSemVer) : $env:myvar_GitVersion_FullSemVer" + name: Use job variables (pwsh - outputs without prefix) + shell: pwsh + + - run: | + echo "FullSemVer (env:localvar_fullSemVer): $env:localvar_fullSemVer" + name: Use local env mapped from output (pwsh - outputs without prefix) + shell: pwsh + env: + localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} + + - run: | + echo "FullSemVer (env:localvar_fullSemVer) : $env:localvar_fullSemVer" + name: Use local env mapped from job variables (pwsh - outputs without prefix) + shell: pwsh + env: + localvar_fullSemVer: ${{ env.myvar_GitVersion_FullSemVer }} + + - run: | + echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }}" + name: Use direct output from previous job (pwsh - outputs without prefix) + shell: pwsh + + - run: | + echo "FullSemVer (myvar_GitVersion_FullSemVer) : $myvar_GitVersion_FullSemVer" + name: Use job variables (bash - outputs without prefix) + shell: bash + + - run: | + echo "FullSemVer (localvar_fullSemVer): $localvar_fullSemVer" + name: Use local env mapped from output (bash - outputs without prefix) + shell: bash + env: + localvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} + + - run: | + echo "FullSemVer (localvar_fullSemVer) : $localvar_fullSemVer" + name: Use local env mapped from job variables (bash - outputs without prefix) + shell: bash + env: + localvar_fullSemVer: ${{ env.myvar_GitVersion_FullSemVer }} + + - run: | + echo "FullSemVer (needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer) : ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }}" + name: Use direct output from previous job (bash - outputs without prefix) + shell: bash From 1fed56246bc6d8ae4eb8eea2287b7da4d0a3c9c9 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 8 Feb 2025 08:37:30 +0000 Subject: [PATCH 027/108] dist update --- dist/tools/libs/gitversion.mjs | 10 ++++++++-- dist/tools/libs/gitversion.mjs.map | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dist/tools/libs/gitversion.mjs b/dist/tools/libs/gitversion.mjs index 223e3481d..fc98a0003 100644 --- a/dist/tools/libs/gitversion.mjs +++ b/dist/tools/libs/gitversion.mjs @@ -16,6 +16,7 @@ class GitVersionSettingsProvider extends SettingsProvider { const overrideConfig = this.buildAgent.getListInput("overrideConfig"); const updateAssemblyInfo = this.buildAgent.getBooleanInput("updateAssemblyInfo"); const updateAssemblyInfoFilename = this.buildAgent.getInput("updateAssemblyInfoFilename"); + const updateProjectFiles = this.buildAgent.getBooleanInput("updateProjectFiles"); return { targetPath, disableCache, @@ -25,7 +26,8 @@ class GitVersionSettingsProvider extends SettingsProvider { configFilePath, overrideConfig, updateAssemblyInfo, - updateAssemblyInfoFilename + updateAssemblyInfoFilename, + updateProjectFiles }; } getCommandSettings() { @@ -107,7 +109,8 @@ class GitVersionTool extends DotnetTool { configFilePath, overrideConfig, updateAssemblyInfo, - updateAssemblyInfoFilename + updateAssemblyInfoFilename, + updateProjectFiles // } = options; if (disableCache) { @@ -141,6 +144,9 @@ class GitVersionTool extends DotnetTool { } } } + if (updateProjectFiles) { + args.push("/updateprojectfiles"); + } return args; } getCommandArguments(workDir, options) { diff --git a/dist/tools/libs/gitversion.mjs.map b/dist/tools/libs/gitversion.mjs.map index f561cc929..5565856fe 100644 --- a/dist/tools/libs/gitversion.mjs.map +++ b/dist/tools/libs/gitversion.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const args = [workDir, '/output', 'json', '/l', 'console']\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename\n //\n } = options\n\n if (disableCache) {\n args.push('/nocache')\n }\n\n if (disableNormalization) {\n args.push('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n args.push('/config', configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n args.push('/overrideconfig', config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n args.push('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n args.push(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n return args\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n let args = [workDir]\n\n if (options.arguments) {\n args = args.concat(this.argStringToArray(options.arguments))\n }\n return args\n }\n\n private argStringToArray(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n append(c)\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const args = [workDir, '/output', 'json', '/l', 'console']\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n //\n } = options\n\n if (disableCache) {\n args.push('/nocache')\n }\n\n if (disableNormalization) {\n args.push('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n args.push('/config', configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n args.push('/overrideconfig', config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n args.push('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n args.push(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n if (updateProjectFiles) {\n args.push('/updateprojectfiles')\n }\n\n return args\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n let args = [workDir]\n\n if (options.arguments) {\n args = args.concat(this.argStringToArray(options.arguments))\n }\n return args\n }\n\n private argStringToArray(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n append(c)\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file From bb93959acab4d0d89a53311e83ecb3f316e17a5f Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 8 Feb 2025 10:01:40 +0100 Subject: [PATCH 028/108] explicitly set the AzDO task name and GH action id This in necessary to avoid https://github.com/GitTools/actions/issues/1400#issuecomment-2639088199 --- docs/examples/azure/gitversion/execute.md | 7 +++++++ docs/examples/github/gitversion/execute.md | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index 0d3e09745..b3325d456 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -121,6 +121,7 @@ steps: # gitversion/setup@3.1.11 task omitted for brevity. - task: gitversion/execute@3.1.11 + name: version_step # step id used as reference for output values displayName: Determine Version ``` @@ -137,6 +138,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: useConfigFile: true @@ -166,6 +168,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: useConfigFile: true configFilePath: 'VersionConfig.yml' @@ -184,6 +187,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: disableCache: true disableNormalization: true @@ -202,6 +206,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: updateAssemblyInfo: true ``` @@ -219,6 +224,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: overrideConfig: | update-build-number=false @@ -238,6 +244,7 @@ steps: - task: gitversion/execute@3.1.11 displayName: Determine Version + name: version_step # step id used as reference for output values inputs: updateProjectFiles: true ``` diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index c8b8b7f86..a26016271 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -123,6 +123,7 @@ steps: # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 ``` @@ -136,6 +137,7 @@ steps: ```yaml steps: - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true @@ -164,6 +166,7 @@ steps: # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 with: useConfigFile: true @@ -182,6 +185,7 @@ steps: # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 with: disableCache: true @@ -217,6 +221,7 @@ steps: # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 with: overrideConfig: | @@ -236,6 +241,7 @@ steps: # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. - name: Determine Version + id: version_step # step id used as reference for output values uses: gittools/actions/gitversion/execute@v3.1.11 with: updateProjectFiles: true From 82946a5f35cd4cfc11bd5965e9c164e91c311cf9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 05:52:31 +0000 Subject: [PATCH 029/108] (npm): Bump the eslint group with 4 updates Bumps the eslint group with 4 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/js` from 9.19.0 to 9.20.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.20.0/packages/js) Updates `@stylistic/eslint-plugin` from 3.0.1 to 3.1.0 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v3.1.0/packages/eslint-plugin) Updates `@vitest/eslint-plugin` from 1.1.25 to 1.1.27 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.25...v1.1.27) Updates `eslint` from 9.19.0 to 9.20.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.19.0...v9.20.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 50 ++++++++++++++++++++++++++++++----------------- package.json | 8 ++++---- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/package-lock.json b/package-lock.json index 309ba0d4a..ae9d56ae2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,14 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.19.0", - "@stylistic/eslint-plugin": "^3.0.1", + "@eslint/js": "^9.20.0", + "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.1", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.25", + "@vitest/eslint-plugin": "^1.1.27", "dotenv": "^16.4.7", - "eslint": "^9.19.0", + "eslint": "^9.20.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", @@ -580,9 +580,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", - "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", "dev": true, "license": "MIT", "engines": { @@ -1066,9 +1066,9 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.1.tgz", - "integrity": "sha512-rQ3tcT5N2cynofJfbjUsnL4seoewTaOVBLyUEwtNldo7iNMPo3h/GUQk+Cl3iHEWwRxjq2wuH6q0FufQrbVL1A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz", + "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==", "dev": true, "license": "MIT", "dependencies": { @@ -1385,10 +1385,11 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.25", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.25.tgz", - "integrity": "sha512-u8DpDnMbPcqBmJOB4PeEtn6q7vKmLVTLFMpzoxSAo0hjYdl4iYSHRleqwPQo0ywc7UV0S6RKIahYRQ3BnZdMVw==", + "version": "1.1.27", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.27.tgz", + "integrity": "sha512-aGPTmeaNiUDo2OIMPj1HKiF5q4fu2IIA9lMc0AwOk0nOvL2kLmQBY8AbFmYj895ApzamN46UtQYmxlRSjbTZqQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@typescript-eslint/utils": ">= 8.0", "eslint": ">= 8.57.0", @@ -2725,18 +2726,18 @@ } }, "node_modules/eslint": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", - "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.0.tgz", + "integrity": "sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", + "@eslint/core": "^0.11.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.19.0", + "@eslint/js": "9.20.0", "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2854,6 +2855,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/core": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", + "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", diff --git a/package.json b/package.json index e828148db..cded68fb0 100644 --- a/package.json +++ b/package.json @@ -47,14 +47,14 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.19.0", - "@stylistic/eslint-plugin": "^3.0.1", + "@eslint/js": "^9.20.0", + "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.1", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.25", + "@vitest/eslint-plugin": "^1.1.27", "dotenv": "^16.4.7", - "eslint": "^9.19.0", + "eslint": "^9.20.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", From bc9f81b1ac728974faed130b9479dad8ba1310c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 05:58:37 +0000 Subject: [PATCH 030/108] (npm): Bump prettier from 3.4.2 to 3.5.0 Bumps [prettier](https://github.com/prettier/prettier) from 3.4.2 to 3.5.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.4.2...3.5.0) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ae9d56ae2..5a3c33237 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.4.2", + "prettier": "^3.5.0", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", @@ -5950,9 +5950,9 @@ } }, "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.0.tgz", + "integrity": "sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index cded68fb0..1b2e4c6f8 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.4.2", + "prettier": "^3.5.0", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", From f8e9086d0bc7417c55e8779173af6d5367242349 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 05:58:20 +0000 Subject: [PATCH 031/108] (npm): Bump the eslint group with 2 updates Bumps the eslint group with 2 updates: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@vitest/eslint-plugin` from 1.1.27 to 1.1.28 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.27...v1.1.28) Updates `typescript-eslint` from 8.23.0 to 8.24.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.24.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 106 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5a3c33237..a0e6ecbb8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.1", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.27", + "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", "eslint": "^9.20.0", "eslint-config-prettier": "^10.0.1", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.23.0", + "typescript-eslint": "^8.24.0", "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", @@ -1192,17 +1192,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", - "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.0.tgz", + "integrity": "sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/type-utils": "8.23.0", - "@typescript-eslint/utils": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/scope-manager": "8.24.0", + "@typescript-eslint/type-utils": "8.24.0", + "@typescript-eslint/utils": "8.24.0", + "@typescript-eslint/visitor-keys": "8.24.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1222,16 +1222,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", - "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.0.tgz", + "integrity": "sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/scope-manager": "8.24.0", + "@typescript-eslint/types": "8.24.0", + "@typescript-eslint/typescript-estree": "8.24.0", + "@typescript-eslint/visitor-keys": "8.24.0", "debug": "^4.3.4" }, "engines": { @@ -1247,14 +1247,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", - "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.0.tgz", + "integrity": "sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0" + "@typescript-eslint/types": "8.24.0", + "@typescript-eslint/visitor-keys": "8.24.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1265,14 +1265,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", - "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.0.tgz", + "integrity": "sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/utils": "8.23.0", + "@typescript-eslint/typescript-estree": "8.24.0", + "@typescript-eslint/utils": "8.24.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1289,9 +1289,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", - "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.0.tgz", + "integrity": "sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==", "dev": true, "license": "MIT", "engines": { @@ -1303,14 +1303,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", - "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.0.tgz", + "integrity": "sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", + "@typescript-eslint/types": "8.24.0", + "@typescript-eslint/visitor-keys": "8.24.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1330,16 +1330,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", - "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.0.tgz", + "integrity": "sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0" + "@typescript-eslint/scope-manager": "8.24.0", + "@typescript-eslint/types": "8.24.0", + "@typescript-eslint/typescript-estree": "8.24.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1354,13 +1354,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", - "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.0.tgz", + "integrity": "sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.23.0", + "@typescript-eslint/types": "8.24.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1385,9 +1385,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.27", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.27.tgz", - "integrity": "sha512-aGPTmeaNiUDo2OIMPj1HKiF5q4fu2IIA9lMc0AwOk0nOvL2kLmQBY8AbFmYj895ApzamN46UtQYmxlRSjbTZqQ==", + "version": "1.1.28", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.28.tgz", + "integrity": "sha512-nf7oQ0Gem/SeEfNvutFZcOjPGtcj60fyODO5uH6LZtMZl9RaEvo8/BRLcGY4xYX14JkThwpvhwFdjSX0WxMjxg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -7228,15 +7228,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", - "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.0.tgz", + "integrity": "sha512-/lmv4366en/qbB32Vz5+kCNZEMf6xYHwh1z48suBwZvAtnXKbP+YhGe8OLE2BqC67LMqKkCNLtjejdwsdW6uOQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.23.0", - "@typescript-eslint/parser": "8.23.0", - "@typescript-eslint/utils": "8.23.0" + "@typescript-eslint/eslint-plugin": "8.24.0", + "@typescript-eslint/parser": "8.24.0", + "@typescript-eslint/utils": "8.24.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 1b2e4c6f8..ecd1db914 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.1", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.27", + "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", "eslint": "^9.20.0", "eslint-config-prettier": "^10.0.1", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.23.0", + "typescript-eslint": "^8.24.0", "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", From 07fc489b28eb99b4c7c1b6ed1dd9c32db25a0b07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2025 05:08:45 +0000 Subject: [PATCH 032/108] (npm): Bump eslint from 9.20.0 to 9.20.1 in the eslint group Bumps the eslint group with 1 update: [eslint](https://github.com/eslint/eslint). Updates `eslint` from 9.20.0 to 9.20.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.20.0...v9.20.1) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0e6ecbb8..b43e32cd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", - "eslint": "^9.20.0", + "eslint": "^9.20.1", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", @@ -2726,9 +2726,9 @@ } }, "node_modules/eslint": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.0.tgz", - "integrity": "sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==", + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", + "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index ecd1db914..4719a98c7 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", - "eslint": "^9.20.0", + "eslint": "^9.20.1", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", From 3a892b0af96ac05f1ecc3f5b35e65bc2271753f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 05:18:00 +0000 Subject: [PATCH 033/108] (npm): Bump @types/node from 22.13.1 to 22.13.2 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.1 to 22.13.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b43e32cd1..bb73adbe3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.20.0", "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.1", + "@types/node": "^22.13.2", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", @@ -1169,9 +1169,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", + "version": "22.13.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.2.tgz", + "integrity": "sha512-Z+r8y3XL9ZpI2EY52YYygAFmo2/oWfNSj4BCpAXE2McAexDk8VcnBMGC9Djn9gTKt4d2T/hhXqmPzo4hfIXtTg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 4719a98c7..8b3104193 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.20.0", "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.1", + "@types/node": "^22.13.2", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.28", "dotenv": "^16.4.7", From 6f0dbf505d0dc36c5b36f0778d584cdb5e8d0f93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 05:23:30 +0000 Subject: [PATCH 034/108] (npm): Bump globals from 15.14.0 to 15.15.0 Bumps [globals](https://github.com/sindresorhus/globals) from 15.14.0 to 15.15.0. - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](https://github.com/sindresorhus/globals/compare/v15.14.0...v15.15.0) --- updated-dependencies: - dependency-name: globals dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index bb73adbe3..ec4aa4675 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", - "globals": "^15.14.0", + "globals": "^15.15.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", @@ -3424,10 +3424,11 @@ } }, "node_modules/globals": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, diff --git a/package.json b/package.json index 8b3104193..e8acb1695 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", - "globals": "^15.14.0", + "globals": "^15.15.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", From c12b5a623f5361769cff3b0a850447375b82017e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 05:29:57 +0000 Subject: [PATCH 035/108] (npm): Bump @vitest/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest). Updates `@vitest/eslint-plugin` from 1.1.28 to 1.1.31 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.28...v1.1.31) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ec4aa4675..12f689840 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.2", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.28", + "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", "eslint": "^9.20.1", "eslint-config-prettier": "^10.0.1", @@ -1385,9 +1385,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.28", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.28.tgz", - "integrity": "sha512-nf7oQ0Gem/SeEfNvutFZcOjPGtcj60fyODO5uH6LZtMZl9RaEvo8/BRLcGY4xYX14JkThwpvhwFdjSX0WxMjxg==", + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.31.tgz", + "integrity": "sha512-xlsLr+e+AXZ/00eVZCtNmMeCJoJaRCoLDiAgLcxgQjSS1EertieB2MUHf8xIqPKs9lECc/UpL+y1xDcpvi02hw==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index e8acb1695..dd1e1f695 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.2", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.28", + "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", "eslint": "^9.20.1", "eslint-config-prettier": "^10.0.1", From 27533b1c537a8eac236774d0a06d78c51957d13a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Feb 2025 05:16:35 +0000 Subject: [PATCH 036/108] (npm): Bump prettier from 3.5.0 to 3.5.1 Bumps [prettier](https://github.com/prettier/prettier) from 3.5.0 to 3.5.1. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.5.0...3.5.1) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12f689840..09be05ab6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.0", + "prettier": "^3.5.1", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", @@ -5951,9 +5951,9 @@ } }, "node_modules/prettier": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.0.tgz", - "integrity": "sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.1.tgz", + "integrity": "sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index dd1e1f695..db64b0e25 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.0", + "prettier": "^3.5.1", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", From 4fa13cbfa0a536d9aaf3a53036dac51e0bf5f5e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Feb 2025 05:22:18 +0000 Subject: [PATCH 037/108] (npm): Bump @types/node from 22.13.2 to 22.13.4 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.2 to 22.13.4 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09be05ab6..70c789caa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.20.0", "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.2", + "@types/node": "^22.13.4", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", @@ -1169,9 +1169,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.2.tgz", - "integrity": "sha512-Z+r8y3XL9ZpI2EY52YYygAFmo2/oWfNSj4BCpAXE2McAexDk8VcnBMGC9Djn9gTKt4d2T/hhXqmPzo4hfIXtTg==", + "version": "22.13.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", + "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index db64b0e25..f18523b21 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.20.0", "@stylistic/eslint-plugin": "^3.1.0", "@types/eslint__js": "^8.42.3", - "@types/node": "^22.13.2", + "@types/node": "^22.13.4", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", From 4af669962e44a5317457f81766e31a503729b560 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 05:24:46 +0000 Subject: [PATCH 038/108] (npm): Bump typescript-eslint from 8.24.0 to 8.24.1 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.24.0 to 8.24.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.24.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70c789caa..fd821746f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.24.0", + "typescript-eslint": "^8.24.1", "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", @@ -1192,17 +1192,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.0.tgz", - "integrity": "sha512-aFcXEJJCI4gUdXgoo/j9udUYIHgF23MFkg09LFz2dzEmU0+1Plk4rQWv/IYKvPHAtlkkGoB3m5e6oUp+JPsNaQ==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", + "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.24.0", - "@typescript-eslint/type-utils": "8.24.0", - "@typescript-eslint/utils": "8.24.0", - "@typescript-eslint/visitor-keys": "8.24.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/type-utils": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1222,16 +1222,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.0.tgz", - "integrity": "sha512-MFDaO9CYiard9j9VepMNa9MTcqVvSny2N4hkY6roquzj8pdCBRENhErrteaQuu7Yjn1ppk0v1/ZF9CG3KIlrTA==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", + "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.24.0", - "@typescript-eslint/types": "8.24.0", - "@typescript-eslint/typescript-estree": "8.24.0", - "@typescript-eslint/visitor-keys": "8.24.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", "debug": "^4.3.4" }, "engines": { @@ -1247,14 +1247,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.0.tgz", - "integrity": "sha512-HZIX0UByphEtdVBKaQBgTDdn9z16l4aTUz8e8zPQnyxwHBtf5vtl1L+OhH+m1FGV9DrRmoDuYKqzVrvWDcDozw==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.0", - "@typescript-eslint/visitor-keys": "8.24.0" + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1265,14 +1265,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.0.tgz", - "integrity": "sha512-8fitJudrnY8aq0F1wMiPM1UUgiXQRJ5i8tFjq9kGfRajU+dbPyOuHbl0qRopLEidy0MwqgTHDt6CnSeXanNIwA==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", + "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.24.0", - "@typescript-eslint/utils": "8.24.0", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/utils": "8.24.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1289,9 +1289,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.0.tgz", - "integrity": "sha512-VacJCBTyje7HGAw7xp11q439A+zeGG0p0/p2zsZwpnMzjPB5WteaWqt4g2iysgGFafrqvyLWqq6ZPZAOCoefCw==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", "dev": true, "license": "MIT", "engines": { @@ -1303,14 +1303,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.0.tgz", - "integrity": "sha512-ITjYcP0+8kbsvT9bysygfIfb+hBj6koDsu37JZG7xrCiy3fPJyNmfVtaGsgTUSEuTzcvME5YI5uyL5LD1EV5ZQ==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.0", - "@typescript-eslint/visitor-keys": "8.24.0", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1330,16 +1330,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.0.tgz", - "integrity": "sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", + "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.24.0", - "@typescript-eslint/types": "8.24.0", - "@typescript-eslint/typescript-estree": "8.24.0" + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1354,13 +1354,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.0.tgz", - "integrity": "sha512-kArLq83QxGLbuHrTMoOEWO+l2MwsNS2TGISEdx8xgqpkbytB07XmlQyQdNDrCc1ecSqx0cnmhGvpX+VBwqqSkg==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.0", + "@typescript-eslint/types": "8.24.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7229,15 +7229,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.24.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.0.tgz", - "integrity": "sha512-/lmv4366en/qbB32Vz5+kCNZEMf6xYHwh1z48suBwZvAtnXKbP+YhGe8OLE2BqC67LMqKkCNLtjejdwsdW6uOQ==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", + "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.24.0", - "@typescript-eslint/parser": "8.24.0", - "@typescript-eslint/utils": "8.24.0" + "@typescript-eslint/eslint-plugin": "8.24.1", + "@typescript-eslint/parser": "8.24.1", + "@typescript-eslint/utils": "8.24.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index f18523b21..1d26dc328 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.24.0", + "typescript-eslint": "^8.24.1", "vite": "^6.1.0", "vite-node": "^3.0.5", "vite-tsconfig-paths": "^5.1.4", From db77196356c04a5ea9b5cc0c63f53625d408d3d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 05:22:23 +0000 Subject: [PATCH 039/108] (npm): Bump @stylistic/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin). Updates `@stylistic/eslint-plugin` from 3.1.0 to 4.0.1 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v4.0.1/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-major dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index fd821746f..b6da63ea2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@eslint/js": "^9.20.0", - "@stylistic/eslint-plugin": "^3.1.0", + "@stylistic/eslint-plugin": "^4.0.1", "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.4", "@types/semver": "^7.5.8", @@ -1066,13 +1066,13 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz", - "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.0.1.tgz", + "integrity": "sha512-RwKkRKiDrF4ptiur54ckDhOByQYKYZ1dEmI5K8BJCmuGpauFJXzVL1UQYTA2zq702CqMFdYiJcVFJWfokIgFxw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.13.0", + "@typescript-eslint/utils": "^8.23.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "estraverse": "^5.3.0", @@ -1082,7 +1082,7 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "peerDependencies": { - "eslint": ">=8.40.0" + "eslint": ">=9.0.0" } }, "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { diff --git a/package.json b/package.json index 1d26dc328..44b50bd31 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@eslint/js": "^9.20.0", - "@stylistic/eslint-plugin": "^3.1.0", + "@stylistic/eslint-plugin": "^4.0.1", "@types/eslint__js": "^8.42.3", "@types/node": "^22.13.4", "@types/semver": "^7.5.8", From 2644f90a63c93d15b86e282f35c9601295af3ac3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 05:28:20 +0000 Subject: [PATCH 040/108] (npm): Bump the vite group with 3 updates Bumps the vite group with 3 updates: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite` from 6.1.0 to 6.1.1 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@6.1.1/packages/vite) Updates `vite-node` from 3.0.5 to 3.0.6 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.6/packages/vite-node) Updates `vitest` from 3.0.5 to 3.0.6 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.6/packages/vitest) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 132 +++++++++++++++++++++++----------------------- package.json | 6 +-- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6da63ea2..b70cbb2ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,10 +32,10 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.24.1", - "vite": "^6.1.0", - "vite-node": "^3.0.5", + "vite": "^6.1.1", + "vite-node": "^3.0.6", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.5" + "vitest": "^3.0.6" }, "engines": { "node": ">=20.0.0" @@ -1406,15 +1406,15 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.5.tgz", - "integrity": "sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.6.tgz", + "integrity": "sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.5", - "@vitest/utils": "3.0.5", - "chai": "^5.1.2", + "@vitest/spy": "3.0.6", + "@vitest/utils": "3.0.6", + "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, "funding": { @@ -1422,13 +1422,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.5.tgz", - "integrity": "sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.6.tgz", + "integrity": "sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.5", + "@vitest/spy": "3.0.6", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1449,9 +1449,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", - "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", + "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", "dev": true, "license": "MIT", "dependencies": { @@ -1462,38 +1462,38 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.5.tgz", - "integrity": "sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.6.tgz", + "integrity": "sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.5", - "pathe": "^2.0.2" + "@vitest/utils": "3.0.6", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.5.tgz", - "integrity": "sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.6.tgz", + "integrity": "sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.5", + "@vitest/pretty-format": "3.0.6", "magic-string": "^0.30.17", - "pathe": "^2.0.2" + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.5.tgz", - "integrity": "sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.6.tgz", + "integrity": "sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1504,14 +1504,14 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.5.tgz", - "integrity": "sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.6.tgz", + "integrity": "sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.5", - "loupe": "^3.1.2", + "@vitest/pretty-format": "3.0.6", + "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, "funding": { @@ -2004,9 +2004,9 @@ } }, "node_modules/chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", "dev": true, "license": "MIT", "dependencies": { @@ -5856,9 +5856,9 @@ } }, "node_modules/pathe": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz", - "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, @@ -5913,9 +5913,9 @@ } }, "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -7339,14 +7339,14 @@ } }, "node_modules/vite": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz", - "integrity": "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", + "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.24.2", - "postcss": "^8.5.1", + "postcss": "^8.5.2", "rollup": "^4.30.1" }, "bin": { @@ -7411,16 +7411,16 @@ } }, "node_modules/vite-node": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.5.tgz", - "integrity": "sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.6.tgz", + "integrity": "sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", "es-module-lexer": "^1.6.0", - "pathe": "^2.0.2", + "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0" }, "bin": { @@ -7453,31 +7453,31 @@ } }, "node_modules/vitest": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.5.tgz", - "integrity": "sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.6.tgz", + "integrity": "sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.5", - "@vitest/mocker": "3.0.5", - "@vitest/pretty-format": "^3.0.5", - "@vitest/runner": "3.0.5", - "@vitest/snapshot": "3.0.5", - "@vitest/spy": "3.0.5", - "@vitest/utils": "3.0.5", - "chai": "^5.1.2", + "@vitest/expect": "3.0.6", + "@vitest/mocker": "3.0.6", + "@vitest/pretty-format": "^3.0.6", + "@vitest/runner": "3.0.6", + "@vitest/snapshot": "3.0.6", + "@vitest/spy": "3.0.6", + "@vitest/utils": "3.0.6", + "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.1.0", "magic-string": "^0.30.17", - "pathe": "^2.0.2", + "pathe": "^2.0.3", "std-env": "^3.8.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.5", + "vite-node": "3.0.6", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7493,8 +7493,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.5", - "@vitest/ui": "3.0.5", + "@vitest/browser": "3.0.6", + "@vitest/ui": "3.0.6", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 44b50bd31..6fa299235 100644 --- a/package.json +++ b/package.json @@ -68,10 +68,10 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.24.1", - "vite": "^6.1.0", - "vite-node": "^3.0.5", + "vite": "^6.1.1", + "vite-node": "^3.0.6", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.5" + "vitest": "^3.0.6" }, "dependencies": { "semver": "^7.7.1" From 637a91c3757ee078f168f6cec47ad50c1f698ba3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 05:57:08 +0000 Subject: [PATCH 041/108] (npm): Bump globals from 15.15.0 to 16.0.0 Bumps [globals](https://github.com/sindresorhus/globals) from 15.15.0 to 16.0.0. - [Release notes](https://github.com/sindresorhus/globals/releases) - [Commits](https://github.com/sindresorhus/globals/compare/v15.15.0...v16.0.0) --- updated-dependencies: - dependency-name: globals dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b70cbb2ac..056b0ede6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", - "globals": "^15.15.0", + "globals": "^16.0.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", @@ -3424,9 +3424,9 @@ } }, "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", + "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 6fa299235..0954655fe 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", - "globals": "^15.15.0", + "globals": "^16.0.0", "husky": "^9.1.7", "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", From d22db5bd8bfa64c075e46fed4dbebc3cbd6ffcf7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 05:25:50 +0000 Subject: [PATCH 042/108] (npm): Bump the eslint group with 3 updates Bumps the eslint group with 3 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [@types/eslint__js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint__js) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/js` from 9.20.0 to 9.21.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.21.0/packages/js) Updates `@types/eslint__js` from 8.42.3 to 9.14.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/eslint__js) Updates `eslint` from 9.20.1 to 9.21.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.20.1...v9.21.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@types/eslint__js" dependency-type: direct:development update-type: version-update:semver-major dependency-group: eslint - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 127 +++++++++++++++++++++++++--------------------- package.json | 6 +-- 2 files changed, 72 insertions(+), 61 deletions(-) diff --git a/package-lock.json b/package-lock.json index 056b0ede6..85406002b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,14 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.20.0", + "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.0.1", - "@types/eslint__js": "^8.42.3", + "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.4", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", - "eslint": "^9.20.1", + "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", @@ -475,12 +475,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz", - "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.4", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -493,6 +494,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -503,6 +505,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -511,10 +514,11 @@ } }, "node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, @@ -523,10 +527,11 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", + "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -550,6 +555,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -560,6 +566,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -572,6 +579,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -580,9 +588,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.20.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", - "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", + "version": "9.21.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", + "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", "dev": true, "license": "MIT", "engines": { @@ -590,21 +598,23 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.10.0", + "@eslint/core": "^0.12.0", "levn": "^0.4.1" }, "engines": { @@ -660,10 +670,11 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -1125,19 +1136,22 @@ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, "node_modules/@types/eslint__js": { - "version": "8.42.3", - "resolved": "https://registry.npmjs.org/@types/eslint__js/-/eslint__js-8.42.3.tgz", - "integrity": "sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==", + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@types/eslint__js/-/eslint__js-9.14.0.tgz", + "integrity": "sha512-s0jepCjOJWB/GKcuba4jISaVpBudw3ClXJ3fUK4tugChUMQsp6kSwuA8Dcx6wFd/JsJqcY8n4rEpa5RTHs5ypA==", + "deprecated": "This is a stub types definition. @eslint/js provides its own type definitions, so you do not need this installed.", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint": "*" + "@eslint/js": "*" } }, "node_modules/@types/estree": { @@ -1545,6 +1559,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1999,6 +2014,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2726,22 +2742,22 @@ } }, "node_modules/eslint": { - "version": "9.20.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", - "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", + "version": "9.21.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz", + "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.11.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.20.0", - "@eslint/plugin-kit": "^0.2.5", + "@eslint/config-array": "^0.19.2", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.0", + "@eslint/js": "9.21.0", + "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", @@ -2855,19 +2871,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@eslint/core": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", - "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3092,7 +3095,8 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", @@ -3135,7 +3139,8 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -3624,10 +3629,11 @@ "dev": true }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -4110,7 +4116,8 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -5779,6 +5786,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -6018,6 +6026,7 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6172,6 +6181,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -7291,6 +7301,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } diff --git a/package.json b/package.json index 0954655fe..0dd47d5cd 100644 --- a/package.json +++ b/package.json @@ -47,14 +47,14 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.20.0", + "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.0.1", - "@types/eslint__js": "^8.42.3", + "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.4", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", - "eslint": "^9.20.1", + "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", From 286d8e38d5d45c53dff2f8d25d73b8949b70ad81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 05:31:25 +0000 Subject: [PATCH 043/108] (npm): Bump @types/node from 22.13.4 to 22.13.5 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.4 to 22.13.5 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 85406002b..8ad50fa39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.0.1", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.4", + "@types/node": "^22.13.5", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", @@ -1183,9 +1183,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", - "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", + "version": "22.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", + "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0dd47d5cd..921f5f4c8 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.0.1", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.4", + "@types/node": "^22.13.5", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.31", "dotenv": "^16.4.7", From b8e477c2814c77ec769ad931e3e7bb919899d41b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 05:37:16 +0000 Subject: [PATCH 044/108] (npm): Bump prettier from 3.5.1 to 3.5.2 Bumps [prettier](https://github.com/prettier/prettier) from 3.5.1 to 3.5.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.5.1...3.5.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ad50fa39..427496da0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.1", + "prettier": "^3.5.2", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", @@ -5959,9 +5959,9 @@ } }, "node_modules/prettier": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.1.tgz", - "integrity": "sha512-hPpFQvHwL3Qv5AdRvBFMhnKo4tYxp0ReXiPn2bxkiohEX6mBeBwEpBSQTkD458RaaDKQMYSp4hX4UtfUTA5wDw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz", + "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 921f5f4c8..5fc09f724 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.1", + "prettier": "^3.5.2", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", From 3349c47d5dec43ad45b760286912f335d6127728 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 05:38:35 +0000 Subject: [PATCH 045/108] (npm): Bump the vite group with 3 updates Bumps the vite group with 3 updates: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite` from 6.1.1 to 6.2.0 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@6.2.0/packages/vite) Updates `vite-node` from 3.0.6 to 3.0.7 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.7/packages/vite-node) Updates `vitest` from 3.0.6 to 3.0.7 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.7/packages/vitest) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-minor dependency-group: vite - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 334 +++++++++++++++++++++++++--------------------- package.json | 6 +- 2 files changed, 183 insertions(+), 157 deletions(-) diff --git a/package-lock.json b/package-lock.json index 427496da0..3e578d9d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,10 +32,10 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.24.1", - "vite": "^6.1.1", - "vite-node": "^3.0.6", + "vite": "^6.2.0", + "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.6" + "vitest": "^3.0.7" }, "engines": { "node": ">=20.0.0" @@ -51,13 +51,14 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -67,13 +68,14 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -83,13 +85,14 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -99,13 +102,14 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -115,13 +119,14 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -131,13 +136,14 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -147,13 +153,14 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -163,13 +170,14 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -179,13 +187,14 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -195,13 +204,14 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -211,13 +221,14 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -227,13 +238,14 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -243,13 +255,14 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -259,13 +272,14 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -275,13 +289,14 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -291,13 +306,14 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -307,13 +323,14 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -323,13 +340,14 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -339,13 +357,14 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -355,13 +374,14 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -371,13 +391,14 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -387,13 +408,14 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -403,13 +425,14 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -419,13 +442,14 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -435,13 +459,14 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1420,14 +1445,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.6.tgz", - "integrity": "sha512-zBduHf/ja7/QRX4HdP1DSq5XrPgdN+jzLOwaTq/0qZjYfgETNFCKf9nOAp2j3hmom3oTbczuUzrzg9Hafh7hNg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.7.tgz", + "integrity": "sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", + "@vitest/spy": "3.0.7", + "@vitest/utils": "3.0.7", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -1436,13 +1461,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.6.tgz", - "integrity": "sha512-KPztr4/tn7qDGZfqlSPQoF2VgJcKxnDNhmfR3VgZ6Fy1bO8T9Fc1stUiTXtqz0yG24VpD00pZP5f8EOFknjNuQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.7.tgz", + "integrity": "sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.6", + "@vitest/spy": "3.0.7", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1463,9 +1488,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", - "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.7.tgz", + "integrity": "sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==", "dev": true, "license": "MIT", "dependencies": { @@ -1476,13 +1501,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.6.tgz", - "integrity": "sha512-JopP4m/jGoaG1+CBqubV/5VMbi7L+NQCJTu1J1Pf6YaUbk7bZtaq5CX7p+8sY64Sjn1UQ1XJparHfcvTTdu9cA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.7.tgz", + "integrity": "sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.6", + "@vitest/utils": "3.0.7", "pathe": "^2.0.3" }, "funding": { @@ -1490,13 +1515,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.6.tgz", - "integrity": "sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.7.tgz", + "integrity": "sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.6", + "@vitest/pretty-format": "3.0.7", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -1505,9 +1530,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.6.tgz", - "integrity": "sha512-HfOGx/bXtjy24fDlTOpgiAEJbRfFxoX3zIGagCqACkFKKZ/TTOE6gYMKXlqecvxEndKFuNHcHqP081ggZ2yM0Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.7.tgz", + "integrity": "sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==", "dev": true, "license": "MIT", "dependencies": { @@ -1518,13 +1543,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.6.tgz", - "integrity": "sha512-18ktZpf4GQFTbf9jK543uspU03Q2qya7ZGya5yiZ0Gx0nnnalBvd5ZBislbl2EhLjM8A8rt4OilqKG7QwcGkvQ==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.7.tgz", + "integrity": "sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.6", + "@vitest/pretty-format": "3.0.7", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -2690,11 +2715,12 @@ } }, "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2702,31 +2728,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" } }, "node_modules/escape-string-regexp": { @@ -7350,14 +7376,14 @@ } }, "node_modules/vite": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", - "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.0.tgz", + "integrity": "sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.5.2", + "esbuild": "^0.25.0", + "postcss": "^8.5.3", "rollup": "^4.30.1" }, "bin": { @@ -7422,9 +7448,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.6.tgz", - "integrity": "sha512-s51RzrTkXKJrhNbUzQRsarjmAae7VmMPAsRT7lppVpIg6mK3zGthP9Hgz0YQQKuNcF+Ii7DfYk3Fxz40jRmePw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.7.tgz", + "integrity": "sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==", "dev": true, "license": "MIT", "dependencies": { @@ -7464,19 +7490,19 @@ } }, "node_modules/vitest": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.6.tgz", - "integrity": "sha512-/iL1Sc5VeDZKPDe58oGK4HUFLhw6b5XdY1MYawjuSaDA4sEfYlY9HnS6aCEG26fX+MgUi7MwlduTBHHAI/OvMA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.7.tgz", + "integrity": "sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.6", - "@vitest/mocker": "3.0.6", - "@vitest/pretty-format": "^3.0.6", - "@vitest/runner": "3.0.6", - "@vitest/snapshot": "3.0.6", - "@vitest/spy": "3.0.6", - "@vitest/utils": "3.0.6", + "@vitest/expect": "3.0.7", + "@vitest/mocker": "3.0.7", + "@vitest/pretty-format": "^3.0.7", + "@vitest/runner": "3.0.7", + "@vitest/snapshot": "3.0.7", + "@vitest/spy": "3.0.7", + "@vitest/utils": "3.0.7", "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -7488,7 +7514,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.6", + "vite-node": "3.0.7", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7504,8 +7530,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.6", - "@vitest/ui": "3.0.6", + "@vitest/browser": "3.0.7", + "@vitest/ui": "3.0.7", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 5fc09f724..5f21e2f75 100644 --- a/package.json +++ b/package.json @@ -68,10 +68,10 @@ "tfx-cli": "^0.20.0", "typescript": "^5.7.3", "typescript-eslint": "^8.24.1", - "vite": "^6.1.1", - "vite-node": "^3.0.6", + "vite": "^6.2.0", + "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.6" + "vitest": "^3.0.7" }, "dependencies": { "semver": "^7.7.1" From 2b102741638b57e224cd22fad5c0b9bbb8a2990a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 05:44:18 +0000 Subject: [PATCH 046/108] (npm): Bump typescript-eslint from 8.24.1 to 8.25.0 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.24.1 to 8.25.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.25.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e578d9d1..7a86e1e7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.24.1", + "typescript-eslint": "^8.25.0", "vite": "^6.2.0", "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", @@ -1231,17 +1231,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", - "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.25.0.tgz", + "integrity": "sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/type-utils": "8.24.1", - "@typescript-eslint/utils": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", + "@typescript-eslint/scope-manager": "8.25.0", + "@typescript-eslint/type-utils": "8.25.0", + "@typescript-eslint/utils": "8.25.0", + "@typescript-eslint/visitor-keys": "8.25.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1261,16 +1261,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", - "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.25.0.tgz", + "integrity": "sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/typescript-estree": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", + "@typescript-eslint/scope-manager": "8.25.0", + "@typescript-eslint/types": "8.25.0", + "@typescript-eslint/typescript-estree": "8.25.0", + "@typescript-eslint/visitor-keys": "8.25.0", "debug": "^4.3.4" }, "engines": { @@ -1286,14 +1286,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", - "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.25.0.tgz", + "integrity": "sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1" + "@typescript-eslint/types": "8.25.0", + "@typescript-eslint/visitor-keys": "8.25.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1304,14 +1304,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", - "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.25.0.tgz", + "integrity": "sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.24.1", - "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/typescript-estree": "8.25.0", + "@typescript-eslint/utils": "8.25.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1328,9 +1328,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", - "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.25.0.tgz", + "integrity": "sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==", "dev": true, "license": "MIT", "engines": { @@ -1342,14 +1342,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", - "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.25.0.tgz", + "integrity": "sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/visitor-keys": "8.24.1", + "@typescript-eslint/types": "8.25.0", + "@typescript-eslint/visitor-keys": "8.25.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1369,16 +1369,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", - "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.25.0.tgz", + "integrity": "sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.24.1", - "@typescript-eslint/types": "8.24.1", - "@typescript-eslint/typescript-estree": "8.24.1" + "@typescript-eslint/scope-manager": "8.25.0", + "@typescript-eslint/types": "8.25.0", + "@typescript-eslint/typescript-estree": "8.25.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1393,13 +1393,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", - "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.25.0.tgz", + "integrity": "sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/types": "8.25.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7265,15 +7265,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.24.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", - "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.25.0.tgz", + "integrity": "sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.24.1", - "@typescript-eslint/parser": "8.24.1", - "@typescript-eslint/utils": "8.24.1" + "@typescript-eslint/eslint-plugin": "8.25.0", + "@typescript-eslint/parser": "8.25.0", + "@typescript-eslint/utils": "8.25.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 5f21e2f75..c503c437c 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.24.1", + "typescript-eslint": "^8.25.0", "vite": "^6.2.0", "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", From 984bb2ab74a79970b2caf44e71f304d43f3eb000 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Feb 2025 05:04:08 +0000 Subject: [PATCH 047/108] (npm): Bump @vitest/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest). Updates `@vitest/eslint-plugin` from 1.1.31 to 1.1.33 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.31...v1.1.33) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7a86e1e7e..c5126f210 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.31", + "@vitest/eslint-plugin": "^1.1.33", "dotenv": "^16.4.7", "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.1", @@ -1424,13 +1424,12 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.31.tgz", - "integrity": "sha512-xlsLr+e+AXZ/00eVZCtNmMeCJoJaRCoLDiAgLcxgQjSS1EertieB2MUHf8xIqPKs9lECc/UpL+y1xDcpvi02hw==", + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.33.tgz", + "integrity": "sha512-n0OfClfRceOFN1PX4FW5kpmaokApg6lPBWTAI2r8BxCJqEY6xG3VvNWnIn6sbUAGWVjIlUGMVtsF3ihga/Up2g==", "dev": true, "license": "MIT", "peerDependencies": { - "@typescript-eslint/utils": ">= 8.0", "eslint": ">= 8.57.0", "typescript": ">= 5.0.0", "vitest": "*" diff --git a/package.json b/package.json index c503c437c..1c26149b4 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.31", + "@vitest/eslint-plugin": "^1.1.33", "dotenv": "^16.4.7", "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.1", From 08511f2ce0363bb3cec95672cde3c49a62826cd4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 05:42:16 +0000 Subject: [PATCH 048/108] (npm): Bump the eslint group with 3 updates Bumps the eslint group with 3 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin), [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) and [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier). Updates `@stylistic/eslint-plugin` from 4.0.1 to 4.1.0 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v4.1.0/packages/eslint-plugin) Updates `@vitest/eslint-plugin` from 1.1.33 to 1.1.35 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.33...v1.1.35) Updates `eslint-config-prettier` from 10.0.1 to 10.0.2 - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.0.1...v10.0.2) --- updated-dependencies: - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint-config-prettier dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 26 ++++++++++++++------------ package.json | 6 +++--- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index c5126f210..2b51ed9db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,14 +12,14 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", - "@stylistic/eslint-plugin": "^4.0.1", + "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.33", + "@vitest/eslint-plugin": "^1.1.35", "dotenv": "^16.4.7", "eslint": "^9.21.0", - "eslint-config-prettier": "^10.0.1", + "eslint-config-prettier": "^10.0.2", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", "globals": "^16.0.0", @@ -1102,9 +1102,9 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.0.1.tgz", - "integrity": "sha512-RwKkRKiDrF4ptiur54ckDhOByQYKYZ1dEmI5K8BJCmuGpauFJXzVL1UQYTA2zq702CqMFdYiJcVFJWfokIgFxw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.1.0.tgz", + "integrity": "sha512-bytbL7qiici7yPyEiId0fGPK9kjQbzcPMj2aftPfzTCyJ/CRSKdtI+iVjM0LSGzGxfunflI+MDDU9vyIIeIpoQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1424,12 +1424,13 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.33.tgz", - "integrity": "sha512-n0OfClfRceOFN1PX4FW5kpmaokApg6lPBWTAI2r8BxCJqEY6xG3VvNWnIn6sbUAGWVjIlUGMVtsF3ihga/Up2g==", + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.35.tgz", + "integrity": "sha512-FnoZ0LXf/3pfK/oZqaO/hDfp1EoLgZ0t+GC3+Qrjbc/nXw3AX90Vox2FLMyN0eaiHWuDLADmIzTsYsppDDTjXA==", "dev": true, "license": "MIT", "peerDependencies": { + "@typescript-eslint/utils": "^8.24.0", "eslint": ">= 8.57.0", "typescript": ">= 5.0.0", "vitest": "*" @@ -2827,10 +2828,11 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", - "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz", + "integrity": "sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "build/bin/cli.js" }, diff --git a/package.json b/package.json index 1c26149b4..b492fcfdd 100644 --- a/package.json +++ b/package.json @@ -48,14 +48,14 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", - "@stylistic/eslint-plugin": "^4.0.1", + "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.33", + "@vitest/eslint-plugin": "^1.1.35", "dotenv": "^16.4.7", "eslint": "^9.21.0", - "eslint-config-prettier": "^10.0.1", + "eslint-config-prettier": "^10.0.2", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", "globals": "^16.0.0", From 972abf87170228db8704458c8ee21856be53153c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 28 Feb 2025 05:48:11 +0000 Subject: [PATCH 049/108] (npm): Bump @vitest/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest). Updates `@vitest/eslint-plugin` from 1.1.35 to 1.1.36 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.35...v1.1.36) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b51ed9db..316b0d422 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.35", + "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.2", @@ -1424,9 +1424,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.35", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.35.tgz", - "integrity": "sha512-FnoZ0LXf/3pfK/oZqaO/hDfp1EoLgZ0t+GC3+Qrjbc/nXw3AX90Vox2FLMyN0eaiHWuDLADmIzTsYsppDDTjXA==", + "version": "1.1.36", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.36.tgz", + "integrity": "sha512-IjBV/fcL9NJRxGw221ieaDsqKqj8qUo7rvSupDxMjTXyhsCusHC6M+jFUNqBp4PCkYFcf5bjrKxeZoCEWoPxig==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index b492fcfdd..11c1d1029 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.5", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.35", + "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", "eslint": "^9.21.0", "eslint-config-prettier": "^10.0.2", From bddfa5eaaa4100baeb2d5701b86e5c292028ba77 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Mar 2025 05:36:24 +0000 Subject: [PATCH 050/108] (npm): Bump prettier from 3.5.2 to 3.5.3 Bumps [prettier](https://github.com/prettier/prettier) from 3.5.2 to 3.5.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.5.2...3.5.3) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 316b0d422..a8cbcc565 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.2", + "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", @@ -5986,9 +5986,9 @@ } }, "node_modules/prettier": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz", - "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 11c1d1029..d62ef5bde 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "lint-staged": "^15.4.3", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", - "prettier": "^3.5.2", + "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", From d4b85b56e532518a5d8f7974e5dae1484d82304e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Mar 2025 05:42:37 +0000 Subject: [PATCH 051/108] (npm): Bump @types/node from 22.13.5 to 22.13.8 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.5 to 22.13.8 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a8cbcc565..303943652 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.5", + "@types/node": "^22.13.8", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", @@ -1208,9 +1208,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", - "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", + "version": "22.13.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.8.tgz", + "integrity": "sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d62ef5bde..a7a219ddc 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.5", + "@types/node": "^22.13.8", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", From c7fc9ec50d1c49bbd0918fc66ccb81401a690f7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 05:41:22 +0000 Subject: [PATCH 052/108] (npm): Bump @types/node from 22.13.8 to 22.13.9 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.8 to 22.13.9 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 303943652..fd562fe6d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.8", + "@types/node": "^22.13.9", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", @@ -1208,9 +1208,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.8.tgz", - "integrity": "sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==", + "version": "22.13.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz", + "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index a7a219ddc..9ebda6771 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.1.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.8", + "@types/node": "^22.13.9", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", From 89b5a619aab85bad3f210f7860febd4229d7a74f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 05:48:00 +0000 Subject: [PATCH 053/108] (npm): Bump the eslint group with 2 updates Bumps the eslint group with 2 updates: [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic/tree/HEAD/packages/eslint-plugin) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@stylistic/eslint-plugin` from 4.1.0 to 4.2.0 - [Release notes](https://github.com/eslint-stylistic/eslint-stylistic/releases) - [Changelog](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint-stylistic/eslint-stylistic/commits/v4.2.0/packages/eslint-plugin) Updates `typescript-eslint` from 8.25.0 to 8.26.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@stylistic/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 130 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/package-lock.json b/package-lock.json index fd562fe6d..a6f01e99a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", - "@stylistic/eslint-plugin": "^4.1.0", + "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.9", "@types/semver": "^7.5.8", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.25.0", + "typescript-eslint": "^8.26.0", "vite": "^6.2.0", "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", @@ -1102,9 +1102,9 @@ ] }, "node_modules/@stylistic/eslint-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.1.0.tgz", - "integrity": "sha512-bytbL7qiici7yPyEiId0fGPK9kjQbzcPMj2aftPfzTCyJ/CRSKdtI+iVjM0LSGzGxfunflI+MDDU9vyIIeIpoQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-4.2.0.tgz", + "integrity": "sha512-8hXezgz7jexGHdo5WN6JBEIPHCSFyyU4vgbxevu4YLVS5vl+sxqAAGyXSzfNDyR6xMNSH5H1x67nsXcYMOHtZA==", "dev": true, "license": "MIT", "dependencies": { @@ -1231,17 +1231,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.25.0.tgz", - "integrity": "sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", + "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.25.0", - "@typescript-eslint/type-utils": "8.25.0", - "@typescript-eslint/utils": "8.25.0", - "@typescript-eslint/visitor-keys": "8.25.0", + "@typescript-eslint/scope-manager": "8.26.0", + "@typescript-eslint/type-utils": "8.26.0", + "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1257,20 +1257,20 @@ "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.25.0.tgz", - "integrity": "sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", + "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.25.0", - "@typescript-eslint/types": "8.25.0", - "@typescript-eslint/typescript-estree": "8.25.0", - "@typescript-eslint/visitor-keys": "8.25.0", + "@typescript-eslint/scope-manager": "8.26.0", + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", "debug": "^4.3.4" }, "engines": { @@ -1282,18 +1282,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.25.0.tgz", - "integrity": "sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", + "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.25.0", - "@typescript-eslint/visitor-keys": "8.25.0" + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1304,14 +1304,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.25.0.tgz", - "integrity": "sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", + "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.25.0", - "@typescript-eslint/utils": "8.25.0", + "@typescript-eslint/typescript-estree": "8.26.0", + "@typescript-eslint/utils": "8.26.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1324,13 +1324,13 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.25.0.tgz", - "integrity": "sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", + "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", "dev": true, "license": "MIT", "engines": { @@ -1342,14 +1342,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.25.0.tgz", - "integrity": "sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", + "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.25.0", - "@typescript-eslint/visitor-keys": "8.25.0", + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/visitor-keys": "8.26.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1365,20 +1365,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.25.0.tgz", - "integrity": "sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", + "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.25.0", - "@typescript-eslint/types": "8.25.0", - "@typescript-eslint/typescript-estree": "8.25.0" + "@typescript-eslint/scope-manager": "8.26.0", + "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1389,17 +1389,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.25.0.tgz", - "integrity": "sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", + "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.25.0", + "@typescript-eslint/types": "8.26.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -3176,9 +3176,9 @@ "dev": true }, "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "license": "ISC", "dependencies": { @@ -6247,9 +6247,9 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "license": "MIT", "engines": { @@ -7266,15 +7266,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.25.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.25.0.tgz", - "integrity": "sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.0.tgz", + "integrity": "sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.25.0", - "@typescript-eslint/parser": "8.25.0", - "@typescript-eslint/utils": "8.25.0" + "@typescript-eslint/eslint-plugin": "8.26.0", + "@typescript-eslint/parser": "8.26.0", + "@typescript-eslint/utils": "8.26.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -7285,7 +7285,7 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/uc.micro": { diff --git a/package.json b/package.json index 9ebda6771..4296e2e4a 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@eslint/js": "^9.21.0", - "@stylistic/eslint-plugin": "^4.1.0", + "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.9", "@types/semver": "^7.5.8", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", "typescript": "^5.7.3", - "typescript-eslint": "^8.25.0", + "typescript-eslint": "^8.26.0", "vite": "^6.2.0", "vite-node": "^3.0.7", "vite-tsconfig-paths": "^5.1.4", From ab106f253eb18186e0e3f1abf762bed299cc704a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 05:53:01 +0000 Subject: [PATCH 054/108] (npm): Bump typescript from 5.7.3 to 5.8.2 Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.3 to 5.8.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a6f01e99a..db1ea51bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", - "typescript": "^5.7.3", + "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", "vite": "^6.2.0", "vite-node": "^3.0.7", @@ -7253,10 +7253,11 @@ } }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 4296e2e4a..ea0293f5a 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.20.0", - "typescript": "^5.7.3", + "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", "vite": "^6.2.0", "vite-node": "^3.0.7", From ea147c54fa1b7475a9b5090413bc0d20bbddc494 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Mar 2025 05:31:53 +0000 Subject: [PATCH 055/108] (npm): bump tfx-cli from 0.20.0 to 0.21.0 Bumps [tfx-cli](https://github.com/Microsoft/tfs-cli) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/Microsoft/tfs-cli/releases) - [Commits](https://github.com/Microsoft/tfs-cli/commits) --- updated-dependencies: - dependency-name: tfx-cli dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index db1ea51bd..db92ca9f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", "simple-git": "^3.27.0", - "tfx-cli": "^0.20.0", + "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", "vite": "^6.2.0", @@ -6926,9 +6926,9 @@ } }, "node_modules/tfx-cli": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.20.0.tgz", - "integrity": "sha512-iCyTvUx70PgUSzjV0jQA1cMurIuaqy9RZjHP0xOiabZpittVzBl3QebcOdjxr1NqAB9BVejZyTEqalR3UOteNQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.21.0.tgz", + "integrity": "sha512-zyrRi7lwBVAlEHPNJOzP61pE0Y2N9T/WQFYkkNY0+OEP5uTX8/bOP9Mxv/TtR99fdJmjv5L/b3lVuAXn7h8fBg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index ea0293f5a..2fa715169 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", "simple-git": "^3.27.0", - "tfx-cli": "^0.20.0", + "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", "vite": "^6.2.0", From 2265db2077313e912dddb48ff90c88bf1ceab335 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Mar 2025 05:38:06 +0000 Subject: [PATCH 056/108] (npm): bump the vite group with 3 updates Bumps the vite group with 3 updates: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite` from 6.2.0 to 6.2.1 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@6.2.1/packages/vite) Updates `vite-node` from 3.0.7 to 3.0.8 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.8/packages/vite-node) Updates `vitest` from 3.0.7 to 3.0.8 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.8/packages/vitest) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 6 +-- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index db92ca9f8..c70839a23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,10 +32,10 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", - "vite": "^6.2.0", - "vite-node": "^3.0.7", + "vite": "^6.2.1", + "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.7" + "vitest": "^3.0.8" }, "engines": { "node": ">=20.0.0" @@ -1445,14 +1445,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.7.tgz", - "integrity": "sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.8.tgz", + "integrity": "sha512-Xu6TTIavTvSSS6LZaA3EebWFr6tsoXPetOWNMOlc7LO88QVVBwq2oQWBoDiLCN6YTvNYsGSjqOO8CAdjom5DCQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.7", - "@vitest/utils": "3.0.7", + "@vitest/spy": "3.0.8", + "@vitest/utils": "3.0.8", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -1461,13 +1461,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.7.tgz", - "integrity": "sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.8.tgz", + "integrity": "sha512-n3LjS7fcW1BCoF+zWZxG7/5XvuYH+lsFg+BDwwAz0arIwHQJFUEsKBQ0BLU49fCxuM/2HSeBPHQD8WjgrxMfow==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.7", + "@vitest/spy": "3.0.8", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1488,9 +1488,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.7.tgz", - "integrity": "sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.8.tgz", + "integrity": "sha512-BNqwbEyitFhzYMYHUVbIvepOyeQOSFA/NeJMIP9enMntkkxLgOcgABH6fjyXG85ipTgvero6noreavGIqfJcIg==", "dev": true, "license": "MIT", "dependencies": { @@ -1501,13 +1501,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.7.tgz", - "integrity": "sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.8.tgz", + "integrity": "sha512-c7UUw6gEcOzI8fih+uaAXS5DwjlBaCJUo7KJ4VvJcjL95+DSR1kova2hFuRt3w41KZEFcOEiq098KkyrjXeM5w==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.7", + "@vitest/utils": "3.0.8", "pathe": "^2.0.3" }, "funding": { @@ -1515,13 +1515,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.7.tgz", - "integrity": "sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.8.tgz", + "integrity": "sha512-x8IlMGSEMugakInj44nUrLSILh/zy1f2/BgH0UeHpNyOocG18M9CWVIFBaXPt8TrqVZWmcPjwfG/ht5tnpba8A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.7", + "@vitest/pretty-format": "3.0.8", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -1530,9 +1530,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.7.tgz", - "integrity": "sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.8.tgz", + "integrity": "sha512-MR+PzJa+22vFKYb934CejhR4BeRpMSoxkvNoDit68GQxRLSf11aT6CTj3XaqUU9rxgWJFnqicN/wxw6yBRkI1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1543,13 +1543,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.7.tgz", - "integrity": "sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.8.tgz", + "integrity": "sha512-nkBC3aEhfX2PdtQI/QwAWp8qZWwzASsU4Npbcd5RdMPBSSLCpkZp52P3xku3s3uA0HIEhGvEcF8rNkBsz9dQ4Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.7", + "@vitest/pretty-format": "3.0.8", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -7378,9 +7378,9 @@ } }, "node_modules/vite": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.0.tgz", - "integrity": "sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz", + "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7450,9 +7450,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.7.tgz", - "integrity": "sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.8.tgz", + "integrity": "sha512-6PhR4H9VGlcwXZ+KWCdMqbtG649xCPZqfI9j2PsK1FcXgEzro5bGHcVKFCTqPLaNKZES8Evqv4LwvZARsq5qlg==", "dev": true, "license": "MIT", "dependencies": { @@ -7492,19 +7492,19 @@ } }, "node_modules/vitest": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.7.tgz", - "integrity": "sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.8.tgz", + "integrity": "sha512-dfqAsNqRGUc8hB9OVR2P0w8PZPEckti2+5rdZip0WIz9WW0MnImJ8XiR61QhqLa92EQzKP2uPkzenKOAHyEIbA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.7", - "@vitest/mocker": "3.0.7", - "@vitest/pretty-format": "^3.0.7", - "@vitest/runner": "3.0.7", - "@vitest/snapshot": "3.0.7", - "@vitest/spy": "3.0.7", - "@vitest/utils": "3.0.7", + "@vitest/expect": "3.0.8", + "@vitest/mocker": "3.0.8", + "@vitest/pretty-format": "^3.0.8", + "@vitest/runner": "3.0.8", + "@vitest/snapshot": "3.0.8", + "@vitest/spy": "3.0.8", + "@vitest/utils": "3.0.8", "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -7516,7 +7516,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.7", + "vite-node": "3.0.8", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7532,8 +7532,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.7", - "@vitest/ui": "3.0.7", + "@vitest/browser": "3.0.8", + "@vitest/ui": "3.0.8", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 2fa715169..daf0fc7c2 100644 --- a/package.json +++ b/package.json @@ -68,10 +68,10 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.0", - "vite": "^6.2.0", - "vite-node": "^3.0.7", + "vite": "^6.2.1", + "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.7" + "vitest": "^3.0.8" }, "dependencies": { "semver": "^7.7.1" From 6c48dc8dc577edb3b48f1eb2c9e04a16f75d75f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 05:10:50 +0000 Subject: [PATCH 057/108] (npm): bump @types/node from 22.13.9 to 22.13.10 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.9 to 22.13.10 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index c70839a23..f03f7233f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.9", + "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", @@ -1208,9 +1208,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz", - "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==", + "version": "22.13.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", + "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index daf0fc7c2..13117fd01 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.21.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.9", + "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", From e52e70277a458f120b6b1f9ab2d44abdd52bf4e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 05:16:54 +0000 Subject: [PATCH 058/108] (npm): bump the eslint group with 3 updates Bumps the eslint group with 3 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint) and [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier). Updates `@eslint/js` from 9.21.0 to 9.22.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.22.0/packages/js) Updates `eslint` from 9.21.0 to 9.22.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.21.0...v9.22.0) Updates `eslint-config-prettier` from 10.0.2 to 10.1.1 - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.0.2...v10.1.1) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint-config-prettier dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 49 ++++++++++++++++++++++++++++++----------------- package.json | 6 +++--- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index f03f7233f..e6890d9ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,15 +11,15 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.21.0", + "@eslint/js": "^9.22.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", - "eslint": "^9.21.0", - "eslint-config-prettier": "^10.0.2", + "eslint": "^9.22.0", + "eslint-config-prettier": "^10.1.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", "globals": "^16.0.0", @@ -538,6 +538,16 @@ "node": "*" } }, + "node_modules/@eslint/config-helpers": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", + "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/core": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", @@ -613,9 +623,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz", - "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", + "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", "dev": true, "license": "MIT", "engines": { @@ -2768,18 +2778,19 @@ } }, "node_modules/eslint": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz", - "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==", + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", + "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.1.0", "@eslint/core": "^0.12.0", "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "9.21.0", + "@eslint/js": "9.22.0", "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2791,7 +2802,7 @@ "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", + "eslint-scope": "^8.3.0", "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0", "esquery": "^1.5.0", @@ -2828,13 +2839,13 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz", - "integrity": "sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", + "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", "dev": true, "license": "MIT", "bin": { - "eslint-config-prettier": "build/bin/cli.js" + "eslint-config-prettier": "bin/cli.js" }, "peerDependencies": { "eslint": ">=7.0.0" @@ -2871,10 +2882,11 @@ } }, "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2980,6 +2992,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, diff --git a/package.json b/package.json index 13117fd01..038f04d82 100644 --- a/package.json +++ b/package.json @@ -47,15 +47,15 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.21.0", + "@eslint/js": "^9.22.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.36", "dotenv": "^16.4.7", - "eslint": "^9.21.0", - "eslint-config-prettier": "^10.0.2", + "eslint": "^9.22.0", + "eslint-config-prettier": "^10.1.1", "eslint-plugin-prettier": "^5.2.3", "glob": "^11.0.1", "globals": "^16.0.0", From 849cd3372788d8b4ff00693e837c81d3741acf85 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 05:54:51 +0000 Subject: [PATCH 059/108] (npm): bump the eslint group with 2 updates Bumps the eslint group with 2 updates: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@vitest/eslint-plugin` from 1.1.36 to 1.1.37 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.36...v1.1.37) Updates `typescript-eslint` from 8.26.0 to 8.26.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 106 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6890d9ed..a4ce3d0fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.36", + "@vitest/eslint-plugin": "^1.1.37", "dotenv": "^16.4.7", "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.26.0", + "typescript-eslint": "^8.26.1", "vite": "^6.2.1", "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", @@ -1241,17 +1241,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.0.tgz", - "integrity": "sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", + "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/type-utils": "8.26.0", - "@typescript-eslint/utils": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/type-utils": "8.26.1", + "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1271,16 +1271,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.0.tgz", - "integrity": "sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", + "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4" }, "engines": { @@ -1296,14 +1296,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.0.tgz", - "integrity": "sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", + "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0" + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1314,14 +1314,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.0.tgz", - "integrity": "sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", + "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.0", - "@typescript-eslint/utils": "8.26.0", + "@typescript-eslint/typescript-estree": "8.26.1", + "@typescript-eslint/utils": "8.26.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1338,9 +1338,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.0.tgz", - "integrity": "sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", + "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", "dev": true, "license": "MIT", "engines": { @@ -1352,14 +1352,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.0.tgz", - "integrity": "sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", + "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/visitor-keys": "8.26.0", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/visitor-keys": "8.26.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1379,16 +1379,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz", - "integrity": "sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", + "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.0", - "@typescript-eslint/types": "8.26.0", - "@typescript-eslint/typescript-estree": "8.26.0" + "@typescript-eslint/scope-manager": "8.26.1", + "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/typescript-estree": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1403,13 +1403,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.0.tgz", - "integrity": "sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", + "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.0", + "@typescript-eslint/types": "8.26.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1434,9 +1434,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.36", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.36.tgz", - "integrity": "sha512-IjBV/fcL9NJRxGw221ieaDsqKqj8qUo7rvSupDxMjTXyhsCusHC6M+jFUNqBp4PCkYFcf5bjrKxeZoCEWoPxig==", + "version": "1.1.37", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.37.tgz", + "integrity": "sha512-cnlBV8zr0oaBu1Vk6ruqWzpPzFCtwY0yuwUQpNIeFOUl3UhXVwNUoOYfWkZzeToGuNBaXvIsr6/RgHrXiHXqXA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -7280,15 +7280,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.26.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.0.tgz", - "integrity": "sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==", + "version": "8.26.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz", + "integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.26.0", - "@typescript-eslint/parser": "8.26.0", - "@typescript-eslint/utils": "8.26.0" + "@typescript-eslint/eslint-plugin": "8.26.1", + "@typescript-eslint/parser": "8.26.1", + "@typescript-eslint/utils": "8.26.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 038f04d82..009d00ac9 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.36", + "@vitest/eslint-plugin": "^1.1.37", "dotenv": "^16.4.7", "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.26.0", + "typescript-eslint": "^8.26.1", "vite": "^6.2.1", "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", From cf7234111cef3a64801dbfa2fc336f12464c4f0e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 05:42:56 +0000 Subject: [PATCH 060/108] (npm): bump lint-staged from 15.4.3 to 15.5.0 Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.4.3 to 15.5.0. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.4.3...v15.5.0) --- updated-dependencies: - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a4ce3d0fc..051250968 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", - "lint-staged": "^15.4.3", + "lint-staged": "^15.5.0", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", @@ -4287,9 +4287,9 @@ } }, "node_modules/lint-staged": { - "version": "15.4.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.3.tgz", - "integrity": "sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==", + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.0.tgz", + "integrity": "sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 009d00ac9..c36201ea0 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", - "lint-staged": "^15.4.3", + "lint-staged": "^15.5.0", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", From 2fac7543f11bc7f7e5d7763ad2e7bfe56c845e5e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 05:47:27 +0000 Subject: [PATCH 061/108] (npm): bump vite from 6.2.1 to 6.2.2 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.2.1 to 6.2.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 051250968..73f028937 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.1", - "vite": "^6.2.1", + "vite": "^6.2.2", "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.8" @@ -7391,9 +7391,9 @@ } }, "node_modules/vite": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz", - "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz", + "integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index c36201ea0..c55e2eb92 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.26.1", - "vite": "^6.2.1", + "vite": "^6.2.2", "vite-node": "^3.0.8", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.8" From b6f60119a965cf96ee69fda245aa52f2563a8b65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 05:03:14 +0000 Subject: [PATCH 062/108] (npm): bump @vitest/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest). Updates `@vitest/eslint-plugin` from 1.1.37 to 1.1.38 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.37...v1.1.38) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73f028937..c23acecdb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.37", + "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", @@ -1434,9 +1434,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.37", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.37.tgz", - "integrity": "sha512-cnlBV8zr0oaBu1Vk6ruqWzpPzFCtwY0yuwUQpNIeFOUl3UhXVwNUoOYfWkZzeToGuNBaXvIsr6/RgHrXiHXqXA==", + "version": "1.1.38", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.38.tgz", + "integrity": "sha512-KcOTZyVz8RiM5HyriiDVrP1CyBGuhRxle+lBsmSs6NTJEO/8dKVAq+f5vQzHj1/Kc7bYXSDO6yBe62Zx0t5iaw==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index c55e2eb92..787915fa2 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", - "@vitest/eslint-plugin": "^1.1.37", + "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", "eslint": "^9.22.0", "eslint-config-prettier": "^10.1.1", From 98e8bd8247522487b37cf5ada11fe8433fed00b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Mar 2025 05:10:24 +0000 Subject: [PATCH 063/108] (npm): bump the vite group with 2 updates Bumps the vite group with 2 updates: [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite-node` from 3.0.8 to 3.0.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.9/packages/vite-node) Updates `vitest` from 3.0.8 to 3.0.9 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.0.9/packages/vitest) --- updated-dependencies: - dependency-name: vite-node dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 90 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/package-lock.json b/package-lock.json index c23acecdb..c0ebf2933 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "typescript": "^5.8.2", "typescript-eslint": "^8.26.1", "vite": "^6.2.2", - "vite-node": "^3.0.8", + "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.8" + "vitest": "^3.0.9" }, "engines": { "node": ">=20.0.0" @@ -1455,14 +1455,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.8.tgz", - "integrity": "sha512-Xu6TTIavTvSSS6LZaA3EebWFr6tsoXPetOWNMOlc7LO88QVVBwq2oQWBoDiLCN6YTvNYsGSjqOO8CAdjom5DCQ==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.9.tgz", + "integrity": "sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.8", - "@vitest/utils": "3.0.8", + "@vitest/spy": "3.0.9", + "@vitest/utils": "3.0.9", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -1471,13 +1471,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.8.tgz", - "integrity": "sha512-n3LjS7fcW1BCoF+zWZxG7/5XvuYH+lsFg+BDwwAz0arIwHQJFUEsKBQ0BLU49fCxuM/2HSeBPHQD8WjgrxMfow==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.9.tgz", + "integrity": "sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.8", + "@vitest/spy": "3.0.9", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1498,9 +1498,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.8.tgz", - "integrity": "sha512-BNqwbEyitFhzYMYHUVbIvepOyeQOSFA/NeJMIP9enMntkkxLgOcgABH6fjyXG85ipTgvero6noreavGIqfJcIg==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz", + "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==", "dev": true, "license": "MIT", "dependencies": { @@ -1511,13 +1511,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.8.tgz", - "integrity": "sha512-c7UUw6gEcOzI8fih+uaAXS5DwjlBaCJUo7KJ4VvJcjL95+DSR1kova2hFuRt3w41KZEFcOEiq098KkyrjXeM5w==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.9.tgz", + "integrity": "sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.8", + "@vitest/utils": "3.0.9", "pathe": "^2.0.3" }, "funding": { @@ -1525,13 +1525,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.8.tgz", - "integrity": "sha512-x8IlMGSEMugakInj44nUrLSILh/zy1f2/BgH0UeHpNyOocG18M9CWVIFBaXPt8TrqVZWmcPjwfG/ht5tnpba8A==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.9.tgz", + "integrity": "sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.8", + "@vitest/pretty-format": "3.0.9", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -1540,9 +1540,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.8.tgz", - "integrity": "sha512-MR+PzJa+22vFKYb934CejhR4BeRpMSoxkvNoDit68GQxRLSf11aT6CTj3XaqUU9rxgWJFnqicN/wxw6yBRkI1Q==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz", + "integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1553,13 +1553,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.8.tgz", - "integrity": "sha512-nkBC3aEhfX2PdtQI/QwAWp8qZWwzASsU4Npbcd5RdMPBSSLCpkZp52P3xku3s3uA0HIEhGvEcF8rNkBsz9dQ4Q==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz", + "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.8", + "@vitest/pretty-format": "3.0.9", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -7463,9 +7463,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.8.tgz", - "integrity": "sha512-6PhR4H9VGlcwXZ+KWCdMqbtG649xCPZqfI9j2PsK1FcXgEzro5bGHcVKFCTqPLaNKZES8Evqv4LwvZARsq5qlg==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.9.tgz", + "integrity": "sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==", "dev": true, "license": "MIT", "dependencies": { @@ -7505,19 +7505,19 @@ } }, "node_modules/vitest": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.8.tgz", - "integrity": "sha512-dfqAsNqRGUc8hB9OVR2P0w8PZPEckti2+5rdZip0WIz9WW0MnImJ8XiR61QhqLa92EQzKP2uPkzenKOAHyEIbA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz", + "integrity": "sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.8", - "@vitest/mocker": "3.0.8", - "@vitest/pretty-format": "^3.0.8", - "@vitest/runner": "3.0.8", - "@vitest/snapshot": "3.0.8", - "@vitest/spy": "3.0.8", - "@vitest/utils": "3.0.8", + "@vitest/expect": "3.0.9", + "@vitest/mocker": "3.0.9", + "@vitest/pretty-format": "^3.0.9", + "@vitest/runner": "3.0.9", + "@vitest/snapshot": "3.0.9", + "@vitest/spy": "3.0.9", + "@vitest/utils": "3.0.9", "chai": "^5.2.0", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -7529,7 +7529,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.8", + "vite-node": "3.0.9", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7545,8 +7545,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.8", - "@vitest/ui": "3.0.8", + "@vitest/browser": "3.0.9", + "@vitest/ui": "3.0.9", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 787915fa2..dc696a50b 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "typescript": "^5.8.2", "typescript-eslint": "^8.26.1", "vite": "^6.2.2", - "vite-node": "^3.0.8", + "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.8" + "vitest": "^3.0.9" }, "dependencies": { "semver": "^7.7.1" From fbcf57a3674b841013d46dcc5723c3f45454604f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 05:21:39 +0000 Subject: [PATCH 064/108] (npm): bump the eslint group across 1 directory with 4 updates Bumps the eslint group with 4 updates in the / directory: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint), [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@eslint/js` from 9.22.0 to 9.23.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.23.0/packages/js) Updates `eslint` from 9.22.0 to 9.23.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.22.0...v9.23.0) Updates `eslint-plugin-prettier` from 5.2.3 to 5.2.4 - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.3...v5.2.4) Updates `typescript-eslint` from 8.26.1 to 8.27.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.27.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint-plugin-prettier dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 165 +++++++++++++++++++++++----------------------- package.json | 8 +-- 2 files changed, 87 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0ebf2933..0ac1f9edc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,16 +11,16 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.22.0", + "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", - "eslint": "^9.22.0", + "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-prettier": "^5.2.4", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1", + "typescript-eslint": "^8.27.0", "vite": "^6.2.2", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", @@ -539,9 +539,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz", - "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", + "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -562,9 +562,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz", - "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -623,9 +623,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz", - "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", + "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", "dev": true, "license": "MIT", "engines": { @@ -833,9 +833,9 @@ } }, "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz", + "integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==", "dev": true, "license": "MIT", "engines": { @@ -1241,17 +1241,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", - "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz", + "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/type-utils": "8.26.1", - "@typescript-eslint/utils": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/type-utils": "8.27.0", + "@typescript-eslint/utils": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1271,16 +1271,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.26.1.tgz", - "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.27.0.tgz", + "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/typescript-estree": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "debug": "^4.3.4" }, "engines": { @@ -1296,14 +1296,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", - "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz", + "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1" + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1314,14 +1314,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", - "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz", + "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/typescript-estree": "8.27.0", + "@typescript-eslint/utils": "8.27.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1338,9 +1338,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.26.1.tgz", - "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz", + "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==", "dev": true, "license": "MIT", "engines": { @@ -1352,14 +1352,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", - "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz", + "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1379,16 +1379,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.1.tgz", - "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz", + "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1" + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/typescript-estree": "8.27.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1403,13 +1403,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", - "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz", + "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/types": "8.27.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2778,19 +2778,19 @@ } }, "node_modules/eslint": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz", - "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", + "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.1.0", + "@eslint/config-helpers": "^0.2.0", "@eslint/core": "^0.12.0", - "@eslint/eslintrc": "^3.3.0", - "@eslint/js": "9.22.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.23.0", "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2852,13 +2852,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", - "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.4.tgz", + "integrity": "sha512-SFtuYmnhwYCtuCDTKPoK+CEzCnEgKTU2qTLwoCxvrC0MFBTIXo1i6hDYOI4cwHaE5GZtlWmTN3YfucYi7KJwPw==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" + "synckit": "^0.10.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -6904,14 +6905,14 @@ } }, "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.2.tgz", + "integrity": "sha512-cSGiaCPhFzeFIQY8KKEacv46LclENY4d60jgkwCrKomvRkIjtMyss1dPkHLp/62c1leuOjEedB1+lWcwqTJSvA==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@pkgr/core": "^0.2.0", + "tslib": "^2.8.1" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -7154,9 +7155,9 @@ } }, "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, "license": "0BSD" }, @@ -7280,15 +7281,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.26.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.26.1.tgz", - "integrity": "sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==", + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.27.0.tgz", + "integrity": "sha512-ZZ/8+Y0rRUMuW1gJaPtLWe4ryHbsPLzzibk5Sq+IFa2aOH1Vo0gPr1fbA6pOnzBke7zC2Da4w8AyCgxKXo3lqA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.26.1", - "@typescript-eslint/parser": "8.26.1", - "@typescript-eslint/utils": "8.26.1" + "@typescript-eslint/eslint-plugin": "8.27.0", + "@typescript-eslint/parser": "8.27.0", + "@typescript-eslint/utils": "8.27.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index dc696a50b..8a2f19225 100644 --- a/package.json +++ b/package.json @@ -47,16 +47,16 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.22.0", + "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.13.10", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", - "eslint": "^9.22.0", + "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-prettier": "^5.2.4", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1", + "typescript-eslint": "^8.27.0", "vite": "^6.2.2", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", From 6073abda50458ba161d7e346c5a06537fa1d9816 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 05:27:10 +0000 Subject: [PATCH 065/108] (npm): bump @types/node from 22.13.10 to 22.13.11 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.10 to 22.13.11 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0ac1f9edc..8439b9645 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.10", + "@types/node": "^22.13.11", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", @@ -1218,9 +1218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", - "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", + "version": "22.13.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz", + "integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 8a2f19225..36b4d7dff 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.10", + "@types/node": "^22.13.11", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", From 1c64c37ac44f84ceea4316e1b404fbe6b52bbc97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 05:58:04 +0000 Subject: [PATCH 066/108] (npm): bump vite from 6.2.2 to 6.2.3 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.2.2 to 6.2.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.3/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8439b9645..37ad29642 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.27.0", - "vite": "^6.2.2", + "vite": "^6.2.3", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9" @@ -7392,9 +7392,9 @@ } }, "node_modules/vite": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz", - "integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", + "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 36b4d7dff..b094493f2 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.27.0", - "vite": "^6.2.2", + "vite": "^6.2.3", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9" From eea38883c2df20a1f1439317a79770df99fcf561 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 06:04:31 +0000 Subject: [PATCH 067/108] (npm): bump typescript-eslint from 8.27.0 to 8.28.0 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.27.0 to 8.28.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.28.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37ad29642..84f7de36b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.27.0", + "typescript-eslint": "^8.28.0", "vite": "^6.2.3", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", @@ -1241,17 +1241,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz", - "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz", + "integrity": "sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.27.0", - "@typescript-eslint/type-utils": "8.27.0", - "@typescript-eslint/utils": "8.27.0", - "@typescript-eslint/visitor-keys": "8.27.0", + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/type-utils": "8.28.0", + "@typescript-eslint/utils": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1271,16 +1271,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.27.0.tgz", - "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.28.0.tgz", + "integrity": "sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.27.0", - "@typescript-eslint/types": "8.27.0", - "@typescript-eslint/typescript-estree": "8.27.0", - "@typescript-eslint/visitor-keys": "8.27.0", + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/typescript-estree": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "debug": "^4.3.4" }, "engines": { @@ -1296,14 +1296,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz", - "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz", + "integrity": "sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.27.0", - "@typescript-eslint/visitor-keys": "8.27.0" + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1314,14 +1314,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz", - "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz", + "integrity": "sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.27.0", - "@typescript-eslint/utils": "8.27.0", + "@typescript-eslint/typescript-estree": "8.28.0", + "@typescript-eslint/utils": "8.28.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1338,9 +1338,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz", - "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.28.0.tgz", + "integrity": "sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==", "dev": true, "license": "MIT", "engines": { @@ -1352,14 +1352,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz", - "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz", + "integrity": "sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.27.0", - "@typescript-eslint/visitor-keys": "8.27.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1379,16 +1379,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz", - "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.28.0.tgz", + "integrity": "sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.27.0", - "@typescript-eslint/types": "8.27.0", - "@typescript-eslint/typescript-estree": "8.27.0" + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/typescript-estree": "8.28.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1403,13 +1403,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz", - "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz", + "integrity": "sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/types": "8.28.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7281,15 +7281,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.27.0.tgz", - "integrity": "sha512-ZZ/8+Y0rRUMuW1gJaPtLWe4ryHbsPLzzibk5Sq+IFa2aOH1Vo0gPr1fbA6pOnzBke7zC2Da4w8AyCgxKXo3lqA==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.28.0.tgz", + "integrity": "sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.27.0", - "@typescript-eslint/parser": "8.27.0", - "@typescript-eslint/utils": "8.27.0" + "@typescript-eslint/eslint-plugin": "8.28.0", + "@typescript-eslint/parser": "8.28.0", + "@typescript-eslint/utils": "8.28.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index b094493f2..262284c82 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.27.0", + "typescript-eslint": "^8.28.0", "vite": "^6.2.3", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", From 8fe2b304a9c94d82149c540cf06b11c14d2cebfc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 06:10:19 +0000 Subject: [PATCH 068/108] (npm): bump @types/node from 22.13.11 to 22.13.13 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.11 to 22.13.13 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 84f7de36b..2e3a3d9b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.11", + "@types/node": "^22.13.13", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", @@ -1218,9 +1218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz", - "integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==", + "version": "22.13.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz", + "integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 262284c82..fd1cea18e 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.11", + "@types/node": "^22.13.13", "@types/semver": "^7.5.8", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", From 4b050f28f20942fb4c04df572b606dec9c6b0961 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Mar 2025 05:45:21 +0000 Subject: [PATCH 069/108] (npm): bump eslint-plugin-prettier in the eslint group Bumps the eslint group with 1 update: [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier). Updates `eslint-plugin-prettier` from 5.2.4 to 5.2.5 - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.4...v5.2.5) --- updated-dependencies: - dependency-name: eslint-plugin-prettier dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e3a3d9b5..1760ef9e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "dotenv": "^16.4.7", "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.4", + "eslint-plugin-prettier": "^5.2.5", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", @@ -2852,9 +2852,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.4.tgz", - "integrity": "sha512-SFtuYmnhwYCtuCDTKPoK+CEzCnEgKTU2qTLwoCxvrC0MFBTIXo1i6hDYOI4cwHaE5GZtlWmTN3YfucYi7KJwPw==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz", + "integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==", "dev": true, "license": "MIT", "dependencies": { @@ -2870,7 +2870,7 @@ "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", - "eslint-config-prettier": "*", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { diff --git a/package.json b/package.json index fd1cea18e..75bd7353a 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "dotenv": "^16.4.7", "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.4", + "eslint-plugin-prettier": "^5.2.5", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", From 2f4c8962f1ca4307eaaa80302e363156c6930fcc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Mar 2025 05:13:32 +0000 Subject: [PATCH 070/108] (npm): bump the types group with 2 updates Bumps the types group with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). Updates `@types/node` from 22.13.13 to 22.13.14 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/semver` from 7.5.8 to 7.7.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types - dependency-name: "@types/semver" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 19 ++++++++++--------- package.json | 4 ++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1760ef9e8..83680d788 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,8 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.13", - "@types/semver": "^7.5.8", + "@types/node": "^22.13.14", + "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", "eslint": "^9.23.0", @@ -1218,9 +1218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz", - "integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==", + "version": "22.13.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz", + "integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==", "dev": true, "license": "MIT", "dependencies": { @@ -1228,10 +1228,11 @@ } }, "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/unist": { "version": "2.0.11", diff --git a/package.json b/package.json index 75bd7353a..b898db373 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,8 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.13", - "@types/semver": "^7.5.8", + "@types/node": "^22.13.14", + "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", "eslint": "^9.23.0", From f6d662dd36287bfb7cf7f4fd09e62311d2ffe754 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 29 Mar 2025 08:18:29 +0100 Subject: [PATCH 071/108] #1497 - add ArgumentsBuilder --- dist/tools/libs/gitreleasemanager.mjs | 64 ++--- dist/tools/libs/gitreleasemanager.mjs.map | 2 +- dist/tools/libs/gitversion.mjs | 75 +----- dist/tools/libs/gitversion.mjs.map | 2 +- dist/tools/libs/tools.mjs | 167 +++++++++++- dist/tools/libs/tools.mjs.map | 2 +- dist/tools/local/agent.mjs | 9 +- dist/tools/local/agent.mjs.map | 2 +- .../agents/local/build-agent.spec.ts | 9 +- .../tools/common/arguments-builder.spec.ts | 247 ++++++++++++++++++ src/agents/local/build-agent.ts | 9 +- src/tools/common/arguments-builder.ts | 189 ++++++++++++++ src/tools/common/dotnet-tool.ts | 13 +- src/tools/common/index.ts | 1 + src/tools/gitreleasemanager/tool.ts | 65 ++--- src/tools/gitversion/tool.ts | 87 +----- 16 files changed, 720 insertions(+), 223 deletions(-) create mode 100644 src/__tests__/tools/common/arguments-builder.spec.ts create mode 100644 src/tools/common/arguments-builder.ts diff --git a/dist/tools/libs/gitreleasemanager.mjs b/dist/tools/libs/gitreleasemanager.mjs index 21847950a..9ad302d4d 100644 --- a/dist/tools/libs/gitreleasemanager.mjs +++ b/dist/tools/libs/gitreleasemanager.mjs @@ -1,5 +1,5 @@ import * as path from 'path'; -import { S as SettingsProvider, D as DotnetTool, R as RunnerBase } from './tools.mjs'; +import { S as SettingsProvider, D as DotnetTool, A as ArgumentsBuilder, R as RunnerBase } from './tools.mjs'; import 'node:crypto'; import 'node:fs/promises'; import 'node:os'; @@ -120,86 +120,86 @@ class GitReleaseManagerTool extends DotnetTool { return await this.executeTool(args); } async getCommonArguments(settings) { - const args = []; - args.push("--owner", settings.owner); - args.push("--repository", settings.repository); - args.push("--token", settings.token); + const builder = new ArgumentsBuilder(); + builder.addKeyValue("owner", settings.owner); + builder.addKeyValue("repository", settings.repository); + builder.addKeyValue("token", settings.token); settings.targetDirectory = await this.getRepoDir(settings); - args.push("--targetDirectory", settings.targetDirectory); + builder.addKeyValue("targetDirectory", settings.targetDirectory); if (settings.logFilePath) { - args.push("--logFilePath", settings.logFilePath); + builder.addKeyValue("logFilePath", settings.logFilePath); } - return args; + return builder.build(); } async getCreateArguments(settings) { - const args = ["create", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("create").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--milestone", settings.milestone); + builder.addKeyValue("milestone", settings.milestone); } if (settings.name) { - args.push("--name", settings.name); + builder.addKeyValue("name", settings.name); } if (settings.targetcommitish) { - args.push("--targetcommitish", settings.targetcommitish); + builder.addKeyValue("targetcommitish", settings.targetcommitish); } if (settings.inputFilePath) { if (await this.buildAgent.fileExists(settings.inputFilePath)) { - args.push("--inputFilePath", settings.inputFilePath); + builder.addKeyValue("inputFilePath", settings.inputFilePath); } else { throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`); } } if (settings.isPreRelease) { - args.push("--pre"); + builder.addFlag("pre"); } if (settings.assets && settings.assets.length > 0) { settings.assets = settings.assets.map((asset) => { return path.join(settings.targetDirectory, asset); }); - args.push("--assets", settings.assets.join(",")); + builder.addKeyValue("assets", settings.assets.join(",")); } - return args; + return builder.build(); } async getDiscardArguments(settings) { - const args = ["discard", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("discard").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--milestone", settings.milestone); + builder.addKeyValue("milestone", settings.milestone); } - return args; + return builder.build(); } async getCloseArguments(settings) { - const args = ["close", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("close").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--milestone", settings.milestone); + builder.addKeyValue("milestone", settings.milestone); } - return args; + return builder.build(); } async getOpenArguments(settings) { - const args = ["open", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("open").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--milestone", settings.milestone); + builder.addKeyValue("milestone", settings.milestone); } - return args; + return builder.build(); } async getPublishArguments(settings) { - const args = ["publish", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("publish").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--tagName", settings.milestone); + builder.addKeyValue("tagName", settings.milestone); } - return args; + return builder.build(); } async getAddAssetArguments(settings) { - const args = ["addasset", ...await this.getCommonArguments(settings)]; + const builder = new ArgumentsBuilder().addArgument("addasset").addArguments(await this.getCommonArguments(settings)); if (settings.milestone) { - args.push("--tagName", settings.milestone); + builder.addKeyValue("tagName", settings.milestone); } if (settings.assets && settings.assets.length > 0) { settings.assets = settings.assets.map((asset) => { return path.join(settings.targetDirectory, asset); }); - args.push("--assets", settings.assets.join(",")); + builder.addKeyValue("assets", settings.assets.join(",")); } - return args; + return builder.build(); } async getRepoDir(settings) { return await this.getRepoPath(settings.targetDirectory); diff --git a/dist/tools/libs/gitreleasemanager.mjs.map b/dist/tools/libs/gitreleasemanager.mjs.map index 3b9bd208c..5b397a42e 100644 --- a/dist/tools/libs/gitreleasemanager.mjs.map +++ b/dist/tools/libs/gitreleasemanager.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitreleasemanager.mjs","sources":["../../../src/tools/gitreleasemanager/settings.ts","../../../src/tools/gitreleasemanager/tool.ts","../../../src/tools/gitreleasemanager/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nexport interface IGitReleaseManagerSettingsProvider extends ISettingsProvider {\n getCreateSettings(): CreateSettings\n\n getDiscardSettings(): DiscardSettings\n\n getCloseSettings(): CloseSettings\n\n getOpenSettings(): OpenSettings\n\n getPublishSettings(): PublishSettings\n\n getAddAssetSettings(): AddAssetSettings\n\n getCommonSettings(): CommonSettings\n}\n\nexport class GitReleaseManagerSettingsProvider extends SettingsProvider implements IGitReleaseManagerSettingsProvider {\n getCreateSettings(): CreateSettings {\n const name = this.buildAgent.getInput('name')\n const inputFilePath = this.buildAgent.getInput('inputFilePath')\n const isPreRelease = this.buildAgent.getBooleanInput('isPreRelease')\n const targetcommitish = this.buildAgent.getInput('targetcommitish')\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n name,\n inputFilePath,\n isPreRelease,\n targetcommitish,\n assets\n }\n }\n\n getDiscardSettings(): DiscardSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getCloseSettings(): CloseSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getOpenSettings(): OpenSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getPublishSettings(): PublishSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getAddAssetSettings(): AddAssetSettings {\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n assets\n }\n }\n\n getCommonSettings(): CommonSettings {\n const milestone = this.buildAgent.getInput('milestone')\n const owner = this.buildAgent.getInput('owner')\n const repository = this.buildAgent.getInput('repository')\n const token = this.buildAgent.getInput('token')\n const targetDirectory = this.buildAgent.getInput('targetDirectory')\n const logFilePath = this.buildAgent.getInput('logFilePath')\n\n return {\n owner,\n repository,\n token,\n targetDirectory,\n milestone,\n logFilePath\n }\n }\n}\n","import * as path from 'path'\n\nimport { DotnetTool } from '@tools/common'\nimport { type ExecResult } from '@agents/common'\n\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nimport { GitReleaseManagerSettingsProvider, IGitReleaseManagerSettingsProvider } from './settings'\n\nexport class GitReleaseManagerTool extends DotnetTool {\n get packageName(): string {\n return 'GitReleaseManager.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitreleasemanager'\n }\n\n get toolPathVariable(): string {\n return 'GITRELEASEMANAGER_PATH'\n }\n\n get versionRange(): string | null {\n return '>=0.10.0 <0.20.0'\n }\n\n get settingsProvider(): IGitReleaseManagerSettingsProvider {\n return new GitReleaseManagerSettingsProvider(this.buildAgent)\n }\n\n async create(): Promise {\n const settings = this.settingsProvider.getCreateSettings()\n const args = await this.getCreateArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async discard(): Promise {\n const settings = this.settingsProvider.getDiscardSettings()\n const args = await this.getDiscardArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async close(): Promise {\n const settings = this.settingsProvider.getCloseSettings()\n const args = await this.getCloseArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async open(): Promise {\n const settings = this.settingsProvider.getOpenSettings()\n const args = await this.getOpenArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async publish(): Promise {\n const settings = this.settingsProvider.getPublishSettings()\n const args = await this.getPublishArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async addAsset(): Promise {\n const settings = this.settingsProvider.getAddAssetSettings()\n const args = await this.getAddAssetArguments(settings)\n\n return await this.executeTool(args)\n }\n\n protected async getCommonArguments(settings: CommonSettings): Promise {\n const args: string[] = []\n\n args.push('--owner', settings.owner)\n args.push('--repository', settings.repository)\n args.push('--token', settings.token)\n\n settings.targetDirectory = await this.getRepoDir(settings)\n\n args.push('--targetDirectory', settings.targetDirectory)\n\n if (settings.logFilePath) {\n args.push('--logFilePath', settings.logFilePath)\n }\n return args\n }\n\n protected async getCreateArguments(settings: CreateSettings): Promise {\n const args: string[] = ['create', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--milestone', settings.milestone)\n }\n if (settings.name) {\n args.push('--name', settings.name)\n }\n if (settings.targetcommitish) {\n args.push('--targetcommitish', settings.targetcommitish)\n }\n\n if (settings.inputFilePath) {\n if (await this.buildAgent.fileExists(settings.inputFilePath)) {\n args.push('--inputFilePath', settings.inputFilePath)\n } else {\n throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`)\n }\n }\n if (settings.isPreRelease) {\n args.push('--pre')\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n args.push('--assets', settings.assets.join(','))\n }\n\n return args\n }\n\n protected async getDiscardArguments(settings: DiscardSettings): Promise {\n const args: string[] = ['discard', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--milestone', settings.milestone)\n }\n\n return args\n }\n\n protected async getCloseArguments(settings: CloseSettings): Promise {\n const args: string[] = ['close', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--milestone', settings.milestone)\n }\n\n return args\n }\n\n protected async getOpenArguments(settings: OpenSettings): Promise {\n const args: string[] = ['open', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--milestone', settings.milestone)\n }\n\n return args\n }\n\n protected async getPublishArguments(settings: PublishSettings): Promise {\n const args: string[] = ['publish', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--tagName', settings.milestone)\n }\n\n return args\n }\n\n protected async getAddAssetArguments(settings: AddAssetSettings): Promise {\n const args: string[] = ['addasset', ...(await this.getCommonArguments(settings))]\n\n if (settings.milestone) {\n args.push('--tagName', settings.milestone)\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n args.push('--assets', settings.assets.join(','))\n }\n\n return args\n }\n\n protected async getRepoDir(settings: CommonSettings): Promise {\n return await this.getRepoPath(settings.targetDirectory)\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands } from './models'\nimport { GitReleaseManagerTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitReleaseManagerTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitReleaseManagerTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'addasset':\n return await this.addAsset()\n case 'open':\n return await this.open()\n case 'close':\n return await this.close()\n case 'create':\n return await this.create()\n case 'discard':\n return await this.discard()\n case 'publish':\n return await this.publish()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitReleaseManager setup successfully')\n }\n\n private async create(): Promise {\n return this.safeExecute(async () => await this.tool.create(), 'GitReleaseManager created release successfully')\n }\n\n private async discard(): Promise {\n return this.safeExecute(async () => await this.tool.discard(), 'GitReleaseManager discarded release successfully')\n }\n\n private async close(): Promise {\n return this.safeExecute(async () => await this.tool.close(), 'GitReleaseManager closed release successfully')\n }\n\n private async open(): Promise {\n return this.safeExecute(async () => await this.tool.open(), 'GitReleaseManager opened release successfully')\n }\n\n private async publish(): Promise {\n return this.safeExecute(async () => await this.tool.publish(), 'GitReleaseManager published release successfully')\n }\n\n private async addAsset(): Promise {\n return this.safeExecute(async () => await this.tool.addAsset(), 'GitReleaseManager added assets to release successfully')\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitreleasemanager.mjs","sources":["../../../src/tools/gitreleasemanager/settings.ts","../../../src/tools/gitreleasemanager/tool.ts","../../../src/tools/gitreleasemanager/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nexport interface IGitReleaseManagerSettingsProvider extends ISettingsProvider {\n getCreateSettings(): CreateSettings\n\n getDiscardSettings(): DiscardSettings\n\n getCloseSettings(): CloseSettings\n\n getOpenSettings(): OpenSettings\n\n getPublishSettings(): PublishSettings\n\n getAddAssetSettings(): AddAssetSettings\n\n getCommonSettings(): CommonSettings\n}\n\nexport class GitReleaseManagerSettingsProvider extends SettingsProvider implements IGitReleaseManagerSettingsProvider {\n getCreateSettings(): CreateSettings {\n const name = this.buildAgent.getInput('name')\n const inputFilePath = this.buildAgent.getInput('inputFilePath')\n const isPreRelease = this.buildAgent.getBooleanInput('isPreRelease')\n const targetcommitish = this.buildAgent.getInput('targetcommitish')\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n name,\n inputFilePath,\n isPreRelease,\n targetcommitish,\n assets\n }\n }\n\n getDiscardSettings(): DiscardSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getCloseSettings(): CloseSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getOpenSettings(): OpenSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getPublishSettings(): PublishSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getAddAssetSettings(): AddAssetSettings {\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n assets\n }\n }\n\n getCommonSettings(): CommonSettings {\n const milestone = this.buildAgent.getInput('milestone')\n const owner = this.buildAgent.getInput('owner')\n const repository = this.buildAgent.getInput('repository')\n const token = this.buildAgent.getInput('token')\n const targetDirectory = this.buildAgent.getInput('targetDirectory')\n const logFilePath = this.buildAgent.getInput('logFilePath')\n\n return {\n owner,\n repository,\n token,\n targetDirectory,\n milestone,\n logFilePath\n }\n }\n}\n","import * as path from 'path'\n\nimport { ArgumentsBuilder, DotnetTool } from '@tools/common'\nimport { type ExecResult } from '@agents/common'\n\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nimport { GitReleaseManagerSettingsProvider, IGitReleaseManagerSettingsProvider } from './settings'\n\nexport class GitReleaseManagerTool extends DotnetTool {\n get packageName(): string {\n return 'GitReleaseManager.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitreleasemanager'\n }\n\n get toolPathVariable(): string {\n return 'GITRELEASEMANAGER_PATH'\n }\n\n get versionRange(): string | null {\n return '>=0.10.0 <0.20.0'\n }\n\n get settingsProvider(): IGitReleaseManagerSettingsProvider {\n return new GitReleaseManagerSettingsProvider(this.buildAgent)\n }\n\n async create(): Promise {\n const settings = this.settingsProvider.getCreateSettings()\n const args = await this.getCreateArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async discard(): Promise {\n const settings = this.settingsProvider.getDiscardSettings()\n const args = await this.getDiscardArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async close(): Promise {\n const settings = this.settingsProvider.getCloseSettings()\n const args = await this.getCloseArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async open(): Promise {\n const settings = this.settingsProvider.getOpenSettings()\n const args = await this.getOpenArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async publish(): Promise {\n const settings = this.settingsProvider.getPublishSettings()\n const args = await this.getPublishArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async addAsset(): Promise {\n const settings = this.settingsProvider.getAddAssetSettings()\n const args = await this.getAddAssetArguments(settings)\n\n return await this.executeTool(args)\n }\n\n protected async getCommonArguments(settings: CommonSettings): Promise {\n const builder = new ArgumentsBuilder()\n\n builder.addKeyValue('owner', settings.owner)\n builder.addKeyValue('repository', settings.repository)\n builder.addKeyValue('token', settings.token)\n\n settings.targetDirectory = await this.getRepoDir(settings)\n\n builder.addKeyValue('targetDirectory', settings.targetDirectory)\n\n if (settings.logFilePath) {\n builder.addKeyValue('logFilePath', settings.logFilePath)\n }\n\n return builder.build()\n }\n\n protected async getCreateArguments(settings: CreateSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('create').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n if (settings.name) {\n builder.addKeyValue('name', settings.name)\n }\n if (settings.targetcommitish) {\n builder.addKeyValue('targetcommitish', settings.targetcommitish)\n }\n\n if (settings.inputFilePath) {\n if (await this.buildAgent.fileExists(settings.inputFilePath)) {\n builder.addKeyValue('inputFilePath', settings.inputFilePath)\n } else {\n throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`)\n }\n }\n if (settings.isPreRelease) {\n builder.addFlag('pre')\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getDiscardArguments(settings: DiscardSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('discard').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getCloseArguments(settings: CloseSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('close').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getOpenArguments(settings: OpenSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('open').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getPublishArguments(settings: PublishSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('publish').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getAddAssetArguments(settings: AddAssetSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('addasset').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getRepoDir(settings: CommonSettings): Promise {\n return await this.getRepoPath(settings.targetDirectory)\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands } from './models'\nimport { GitReleaseManagerTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitReleaseManagerTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitReleaseManagerTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'addasset':\n return await this.addAsset()\n case 'open':\n return await this.open()\n case 'close':\n return await this.close()\n case 'create':\n return await this.create()\n case 'discard':\n return await this.discard()\n case 'publish':\n return await this.publish()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitReleaseManager setup successfully')\n }\n\n private async create(): Promise {\n return this.safeExecute(async () => await this.tool.create(), 'GitReleaseManager created release successfully')\n }\n\n private async discard(): Promise {\n return this.safeExecute(async () => await this.tool.discard(), 'GitReleaseManager discarded release successfully')\n }\n\n private async close(): Promise {\n return this.safeExecute(async () => await this.tool.close(), 'GitReleaseManager closed release successfully')\n }\n\n private async open(): Promise {\n return this.safeExecute(async () => await this.tool.open(), 'GitReleaseManager opened release successfully')\n }\n\n private async publish(): Promise {\n return this.safeExecute(async () => await this.tool.publish(), 'GitReleaseManager published release successfully')\n }\n\n private async addAsset(): Promise {\n return this.safeExecute(async () => await this.tool.addAsset(), 'GitReleaseManager added assets to release successfully')\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/gitversion.mjs b/dist/tools/libs/gitversion.mjs index fc98a0003..ef6d7bca4 100644 --- a/dist/tools/libs/gitversion.mjs +++ b/dist/tools/libs/gitversion.mjs @@ -1,4 +1,4 @@ -import { S as SettingsProvider, D as DotnetTool, k as keysOf, R as RunnerBase } from './tools.mjs'; +import { S as SettingsProvider, D as DotnetTool, k as keysOf, A as ArgumentsBuilder, R as RunnerBase } from './tools.mjs'; import 'node:crypto'; import 'node:fs/promises'; import 'node:os'; @@ -101,7 +101,7 @@ class GitVersionTool extends DotnetTool { return await super.getRepoPath(settings.targetPath); } async getExecuteArguments(workDir, options) { - const args = [workDir, "/output", "json", "/l", "console"]; + const builder = new ArgumentsBuilder().addArgument(workDir).addArgument("/output").addArgument("json").addArgument("/l").addArgument("console"); const { useConfigFile, disableCache, @@ -114,14 +114,14 @@ class GitVersionTool extends DotnetTool { // } = options; if (disableCache) { - args.push("/nocache"); + builder.addArgument("/nocache"); } if (disableNormalization) { - args.push("/nonormalize"); + builder.addArgument("/nonormalize"); } if (useConfigFile) { if (await this.isValidInputFile("configFilePath", configFilePath)) { - args.push("/config", configFilePath); + builder.addArgument("/config").addArgument(configFilePath); } else { throw new Error(`GitVersion configuration file not found at ${configFilePath}`); } @@ -130,80 +130,31 @@ class GitVersionTool extends DotnetTool { for (let config of overrideConfig) { config = config.trim(); if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\- :.']*)/)) { - args.push("/overrideconfig", config); + builder.addArgument("/overrideconfig").addArgument(config); } } } if (updateAssemblyInfo) { - args.push("/updateassemblyinfo"); + builder.addArgument("/updateassemblyinfo"); if (updateAssemblyInfoFilename?.length > 0) { if (await this.isValidInputFile("updateAssemblyInfoFilename", updateAssemblyInfoFilename)) { - args.push(updateAssemblyInfoFilename); + builder.addArgument(updateAssemblyInfoFilename); } else { throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`); } } } if (updateProjectFiles) { - args.push("/updateprojectfiles"); + builder.addArgument("/updateprojectfiles"); } - return args; + return builder.build(); } getCommandArguments(workDir, options) { - let args = [workDir]; + const builder = new ArgumentsBuilder().addArgument(workDir); if (options.arguments) { - args = args.concat(this.argStringToArray(options.arguments)); + builder.addArguments(ArgumentsBuilder.parseArgumentString(options.arguments)); } - return args; - } - argStringToArray(argString) { - const args = []; - let inQuotes = false; - let escaped = false; - let lastCharWasSpace = true; - let arg = ""; - const append = (c) => { - if (escaped && c !== '"') { - arg += "\\"; - } - arg += c; - escaped = false; - }; - for (let i = 0; i < argString.length; i++) { - const c = argString.charAt(i); - if (c === " " && !inQuotes) { - if (!lastCharWasSpace) { - args.push(arg); - arg = ""; - } - lastCharWasSpace = true; - continue; - } else { - lastCharWasSpace = false; - } - if (c === '"') { - if (!escaped) { - inQuotes = !inQuotes; - } else { - append(c); - } - continue; - } - if (c === "\\" && escaped) { - append(c); - continue; - } - if (c === "\\" && inQuotes) { - escaped = true; - continue; - } - append(c); - lastCharWasSpace = false; - } - if (!lastCharWasSpace) { - args.push(arg.trim()); - } - return args; + return builder.build(); } async checkShallowClone(settings, workDir) { if (!settings.disableShallowCloneCheck) { diff --git a/dist/tools/libs/gitversion.mjs.map b/dist/tools/libs/gitversion.mjs.map index 5565856fe..73f46704e 100644 --- a/dist/tools/libs/gitversion.mjs.map +++ b/dist/tools/libs/gitversion.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const args = [workDir, '/output', 'json', '/l', 'console']\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n //\n } = options\n\n if (disableCache) {\n args.push('/nocache')\n }\n\n if (disableNormalization) {\n args.push('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n args.push('/config', configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n args.push('/overrideconfig', config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n args.push('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n args.push(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n if (updateProjectFiles) {\n args.push('/updateprojectfiles')\n }\n\n return args\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n let args = [workDir]\n\n if (options.arguments) {\n args = args.concat(this.argStringToArray(options.arguments))\n }\n return args\n }\n\n private argStringToArray(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // we only escape double quotes.\n if (escaped && c !== '\"') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n append(c)\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { ArgumentsBuilder, DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument(workDir).addArgument('/output').addArgument('json').addArgument('/l').addArgument('console')\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n //\n } = options\n\n if (disableCache) {\n builder.addArgument('/nocache')\n }\n\n if (disableNormalization) {\n builder.addArgument('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n builder.addArgument('/config').addArgument(configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n builder.addArgument('/overrideconfig').addArgument(config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n builder.addArgument('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n builder.addArgument(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n if (updateProjectFiles) {\n builder.addArgument('/updateprojectfiles')\n }\n\n return builder.build()\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n const builder = new ArgumentsBuilder().addArgument(workDir)\n\n if (options.arguments) {\n builder.addArguments(ArgumentsBuilder.parseArgumentString(options.arguments))\n }\n\n return builder.build()\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/tools.mjs b/dist/tools/libs/tools.mjs index da74b3128..1a66ae10b 100644 --- a/dist/tools/libs/tools.mjs +++ b/dist/tools/libs/tools.mjs @@ -4,6 +4,165 @@ import * as os from 'node:os'; import * as path from 'node:path'; import { s as semverExports } from './semver.mjs'; +class ArgumentsBuilder { + args = []; + isWindows = os.platform() === "win32"; + /** + * Adds a simple argument without a key + * @param value The argument value + */ + addArgument(value) { + if (value) { + this.args.push(this.escapeArgument(value)); + } + return this; + } + /** + * Adds multiple arguments + * @param values The argument values + */ + addArguments(values) { + for (const value of values) { + this.addArgument(value); + } + return this; + } + /** + * Adds a flag argument (--flag) + * @param key The flag name + */ + addFlag(key) { + if (key) { + this.args.push(`--${key}`); + } + return this; + } + /** + * Adds a key-value argument (--key value) + * @param key The argument key + * @param value The argument value + */ + addKeyValue(key, value) { + if (key && value !== undefined && value !== null) { + this.args.push(`--${key}`); + this.args.push(this.escapeArgument(value)); + } + return this; + } + /** + * Adds an equals-style argument (--key=value) + * @param key The argument key + * @param value The argument value + */ + addKeyValueEquals(key, value) { + if (key && value !== undefined && value !== null) { + this.args.push(`--${key}=${this.escapeArgument(value)}`); + } + return this; + } + /** + * Adds a comma-separated list (--key value1,value2,value3) + * @param key The argument key + * @param values The list of values + */ + addCommaList(key, values) { + if (key && values && values.length > 0) { + const escapedValues = values.map((v) => this.escapeArgument(v)); + this.args.push(`--${key}`); + this.args.push(escapedValues.join(",")); + } + return this; + } + /** + * Escapes an argument value based on the current OS + * @param value The argument value to escape + * @returns The escaped argument value + */ + escapeArgument(value) { + if (!value) return value; + if (!this.needsEscaping(value)) return value; + if (this.isWindows) { + return `"${value.replace(/"/g, '\\"')}"`; + } else { + return `'${value.replace(/'/g, "'\\''")}'`; + } + } + /** + * Determines if a value needs to be escaped + * @param value The value to check + * @returns True if the value needs escaping + */ + needsEscaping(value) { + const windowsNeedsEscaping = /[\s&|<>^(){}[\]"']/; + const unixNeedsEscaping = /[\s$\\`&|<>(){}[\]"']/; + if (this.isWindows) { + return windowsNeedsEscaping.test(value); + } + return unixNeedsEscaping.test(value); + } + /** + * Returns the built argument array + */ + build() { + return [...this.args]; + } + /** + * Parses an argument string into an array + * @param argString The argument string to parse + * @returns Array of parsed arguments + */ + static parseArgumentString(argString) { + const args = []; + let inQuotes = false; + let escaped = false; + let lastCharWasSpace = true; + let arg = ""; + const append = (c) => { + if (escaped && c !== '"' && c !== "\\") { + arg += "\\"; + } + arg += c; + escaped = false; + }; + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i); + if (c === " " && !inQuotes) { + if (!lastCharWasSpace) { + args.push(arg); + arg = ""; + } + lastCharWasSpace = true; + continue; + } else { + lastCharWasSpace = false; + } + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } else { + append(c); + } + continue; + } + if (c === "\\" && escaped) { + arg += "\\"; + escaped = false; + continue; + } + if (c === "\\" && inQuotes) { + escaped = true; + continue; + } + append(c); + lastCharWasSpace = false; + } + if (!lastCharWasSpace) { + args.push(arg.trim()); + } + return args; + } +} + class DotnetTool { constructor(buildAgent) { this.buildAgent = buildAgent; @@ -141,11 +300,11 @@ class DotnetTool { if (!tempDirectory) { throw new Error("Unable to create temp directory"); } - const args = ["tool", "install", toolName, "--tool-path", tempDirectory, "--version", semverVersion]; + const builder = new ArgumentsBuilder().addArgument("tool").addArgument("install").addArgument(toolName).addKeyValue("tool-path", tempDirectory).addKeyValue("version", semverVersion); if (ignoreFailedSources) { - args.push("--ignore-failed-sources"); + builder.addFlag("ignore-failed-sources"); } - const result = await this.execute("dotnet", args); + const result = await this.execute("dotnet", builder.build()); const status = result.code === 0 ? "success" : "failure"; const message = result.code === 0 ? result.stdout : result.stderr; this.buildAgent.debug(`Tool install result: ${status} ${message}`); @@ -238,5 +397,5 @@ class RunnerBase { } } -export { DotnetTool as D, RunnerBase as R, SettingsProvider as S, keysOf as k }; +export { ArgumentsBuilder as A, DotnetTool as D, RunnerBase as R, SettingsProvider as S, keysOf as k }; //# sourceMappingURL=tools.mjs.map diff --git a/dist/tools/libs/tools.mjs.map b/dist/tools/libs/tools.mjs.map index 5e80e3af6..b3fbf2636 100644 --- a/dist/tools/libs/tools.mjs.map +++ b/dist/tools/libs/tools.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n let toolPath: string | undefined\n const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n if (variableAsPath) {\n toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n }\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const args = ['tool', 'install', toolName, '--tool-path', tempDirectory, '--version', semverVersion]\n if (ignoreFailedSources) {\n args.push('--ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', args)\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n let toolPath: string | undefined\n const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n if (variableAsPath) {\n toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n }\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/local/agent.mjs b/dist/tools/local/agent.mjs index 4dab82500..00964aef2 100644 --- a/dist/tools/local/agent.mjs +++ b/dist/tools/local/agent.mjs @@ -1,4 +1,5 @@ import * as process from 'node:process'; +import os from 'node:os'; import { B as BuildAgentBase } from '../libs/agents.mjs'; class BuildAgent extends BuildAgentBase { @@ -7,16 +8,16 @@ class BuildAgent extends BuildAgentBase { tempDirVariable = "AGENT_TEMP_DIR"; cacheDirVariable = "AGENT_TOOLS_DIR"; debug = (message) => { - process.stdout.write(`[debug] ${message}`); + process.stdout.write(`[debug] ${message}` + os.EOL); }; info = (message) => { - process.stdout.write(`[info] - ${message}`); + process.stdout.write(`[info] - ${message}` + os.EOL); }; warn = (message) => { - process.stderr.write(`[warn] - ${message}`); + process.stderr.write(`[warn] - ${message}` + os.EOL); }; error = (message) => { - process.stderr.write(`[error] - ${message}`); + process.stderr.write(`[error] - ${message}` + os.EOL); }; setSucceeded = (message, done) => this.info(`setSucceeded - ${message} - ${done}`); setFailed = (message, done) => this.error(`setFailed - ${message} - ${done}`); diff --git a/dist/tools/local/agent.mjs.map b/dist/tools/local/agent.mjs.map index 540dc042c..4117bd345 100644 --- a/dist/tools/local/agent.mjs.map +++ b/dist/tools/local/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/local/build-agent.ts"],"sourcesContent":["import * as process from 'node:process'\n\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Local'\n\n sourceDirVariable = 'AGENT_SOURCE_DIR'\n tempDirVariable = 'AGENT_TEMP_DIR'\n cacheDirVariable = 'AGENT_TOOLS_DIR'\n\n debug = (message: string): void => {\n process.stdout.write(`[debug] ${message}`)\n }\n\n info = (message: string): void => {\n process.stdout.write(`[info] - ${message}`)\n }\n\n warn = (message: string): void => {\n process.stderr.write(`[warn] - ${message}`)\n }\n\n error = (message: string): void => {\n process.stderr.write(`[error] - ${message}`)\n }\n\n setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`)\n\n setFailed = (message: string, done?: boolean): void => this.error(`setFailed - ${message} - ${done}`)\n\n setOutput = (name: string, value: string): void => this.debug(`setOutput - ${name} - ${value}`)\n\n setVariable(name: string, value: string): void {\n this.debug(`setVariable - ${name} - ${value}`)\n process.env[name] = value\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,mBAAmB,cAAsC,CAAA;AAAA,EAClE,SAAY,GAAA,OAAA;AAAA,EAEZ,iBAAoB,GAAA,kBAAA;AAAA,EACpB,eAAkB,GAAA,gBAAA;AAAA,EAClB,gBAAmB,GAAA,iBAAA;AAAA,EAEnB,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA,CAAM,CAAW,QAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA,GAC7C;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA,CAAM,CAAY,SAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA,GAC9C;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA,CAAM,CAAY,SAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA,GAC9C;AAAA,EAEA,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA,CAAM,CAAa,UAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA,GAC/C;AAAA,EAEA,YAAA,GAAe,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,KAAK,CAAkB,eAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEzG,SAAA,GAAY,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEpG,SAAA,GAAY,CAAC,IAAA,EAAc,KAAwB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,IAAI,CAAM,GAAA,EAAA,KAAK,CAAE,CAAA,CAAA;AAAA,EAE9F,WAAA,CAAY,MAAc,KAAqB,EAAA;AAC3C,IAAA,IAAA,CAAK,KAAM,CAAA,CAAA,cAAA,EAAiB,IAAI,CAAA,GAAA,EAAM,KAAK,CAAE,CAAA,CAAA;AAC7C,IAAQ,OAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,KAAA;AAAA;AACxB,EAEA,oBAAoB,CAAC,OAAA,KAA0B,KAAK,KAAM,CAAA,CAAA,oBAAA,EAAuB,OAAO,CAAE,CAAA,CAAA;AAC9F;;;;"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/local/build-agent.ts"],"sourcesContent":["import * as process from 'node:process'\nimport os from 'node:os'\n\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Local'\n\n sourceDirVariable = 'AGENT_SOURCE_DIR'\n tempDirVariable = 'AGENT_TEMP_DIR'\n cacheDirVariable = 'AGENT_TOOLS_DIR'\n\n debug = (message: string): void => {\n process.stdout.write(`[debug] ${message}` + os.EOL)\n }\n\n info = (message: string): void => {\n process.stdout.write(`[info] - ${message}` + os.EOL)\n }\n\n warn = (message: string): void => {\n process.stderr.write(`[warn] - ${message}` + os.EOL)\n }\n\n error = (message: string): void => {\n process.stderr.write(`[error] - ${message}` + os.EOL)\n }\n\n setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`)\n\n setFailed = (message: string, done?: boolean): void => this.error(`setFailed - ${message} - ${done}`)\n\n setOutput = (name: string, value: string): void => this.debug(`setOutput - ${name} - ${value}`)\n\n setVariable(name: string, value: string): void {\n this.debug(`setVariable - ${name} - ${value}`)\n process.env[name] = value\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,mBAAmB,cAAsC,CAAA;AAAA,EAClE,SAAY,GAAA,OAAA;AAAA,EAEZ,iBAAoB,GAAA,kBAAA;AAAA,EACpB,eAAkB,GAAA,gBAAA;AAAA,EAClB,gBAAmB,GAAA,iBAAA;AAAA,EAEnB,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACtD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACvD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACvD;AAAA,EAEA,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,UAAA,EAAa,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACxD;AAAA,EAEA,YAAA,GAAe,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,KAAK,CAAkB,eAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEzG,SAAA,GAAY,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEpG,SAAA,GAAY,CAAC,IAAA,EAAc,KAAwB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,IAAI,CAAM,GAAA,EAAA,KAAK,CAAE,CAAA,CAAA;AAAA,EAE9F,WAAA,CAAY,MAAc,KAAqB,EAAA;AAC3C,IAAA,IAAA,CAAK,KAAM,CAAA,CAAA,cAAA,EAAiB,IAAI,CAAA,GAAA,EAAM,KAAK,CAAE,CAAA,CAAA;AAC7C,IAAQ,OAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,KAAA;AAAA;AACxB,EAEA,oBAAoB,CAAC,OAAA,KAA0B,KAAK,KAAM,CAAA,CAAA,oBAAA,EAAuB,OAAO,CAAE,CAAA,CAAA;AAC9F;;;;"} \ No newline at end of file diff --git a/src/__tests__/agents/local/build-agent.spec.ts b/src/__tests__/agents/local/build-agent.spec.ts index 41cf8c77c..32443bdfa 100644 --- a/src/__tests__/agents/local/build-agent.spec.ts +++ b/src/__tests__/agents/local/build-agent.spec.ts @@ -2,6 +2,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { BuildAgent } from '@agents/local' import process from 'node:process' +import os from 'node:os' describe('build-agent/local', () => { let agent: BuildAgent @@ -35,7 +36,7 @@ describe('build-agent/local', () => { agent.debug('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[debug] test') + expect(spy).toHaveBeenCalledWith('[debug] test' + os.EOL) }) it('should log info', () => { @@ -43,7 +44,7 @@ describe('build-agent/local', () => { agent.info('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[info] - test') + expect(spy).toHaveBeenCalledWith('[info] - test' + os.EOL) }) it('should log warn', () => { @@ -51,7 +52,7 @@ describe('build-agent/local', () => { agent.warn('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[warn] - test') + expect(spy).toHaveBeenCalledWith('[warn] - test' + os.EOL) }) it('should log error', () => { @@ -59,7 +60,7 @@ describe('build-agent/local', () => { agent.error('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[error] - test') + expect(spy).toHaveBeenCalledWith('[error] - test' + os.EOL) }) it('should set succeeded', () => { diff --git a/src/__tests__/tools/common/arguments-builder.spec.ts b/src/__tests__/tools/common/arguments-builder.spec.ts new file mode 100644 index 000000000..272c76dd2 --- /dev/null +++ b/src/__tests__/tools/common/arguments-builder.spec.ts @@ -0,0 +1,247 @@ +import { beforeEach, describe, expect, test, vi } from 'vitest' +import { ArgumentsBuilder } from '@tools/common' + +// Use vi.hoisted to declare the mock before the vi.mock call is hoisted +const mockPlatform = vi.hoisted(() => vi.fn()) + +// Mock node:os module +vi.mock('node:os', () => ({ + platform: mockPlatform +})) + +describe('ArgumentsBuilder', () => { + beforeEach(() => { + vi.resetAllMocks() + }) + + describe('Windows environment', () => { + beforeEach(() => { + mockPlatform.mockReturnValue('win32') + }) + + test('basic argument without spaces', () => { + const args = new ArgumentsBuilder().addArgument('simple').build() + + expect(args).toEqual(['simple']) + }) + + test('argument with spaces', () => { + const args = new ArgumentsBuilder().addArgument('argument with spaces').build() + + expect(args).toEqual(['"argument with spaces"']) + }) + + test('argument with double quotes', () => { + const args = new ArgumentsBuilder().addArgument('argument "with" quotes').build() + + expect(args).toEqual(['"argument \\"with\\" quotes"']) + }) + + test('argument with special characters', () => { + const args = new ArgumentsBuilder().addArgument('argument&with|special').build() + + expect(args).toEqual(['"argument&with|special"']) + }) + + test('multiple arguments', () => { + const args = new ArgumentsBuilder().addArgument('first').addArgument('second with space').addFlag('flag').addKeyValue('key', 'value').build() + + expect(args).toEqual(['first', '"second with space"', '--flag', '--key', 'value']) + }) + + test('addArguments method', () => { + const args = new ArgumentsBuilder().addArguments(['arg1', 'arg2 with space', 'arg3']).build() + + expect(args).toEqual(['arg1', '"arg2 with space"', 'arg3']) + }) + + test('addFlag method', () => { + const args = new ArgumentsBuilder().addFlag('flag').addFlag('another-flag').build() + + expect(args).toEqual(['--flag', '--another-flag']) + }) + + test('addKeyValue method', () => { + const args = new ArgumentsBuilder().addKeyValue('key', 'value').addKeyValue('key2', 'value with spaces').build() + + expect(args).toEqual(['--key', 'value', '--key2', '"value with spaces"']) + }) + + test('addKeyValueEquals method', () => { + const args = new ArgumentsBuilder().addKeyValueEquals('key', 'value').addKeyValueEquals('key2', 'value with spaces').build() + + expect(args).toEqual(['--key=value', '--key2="value with spaces"']) + }) + + test('addCommaList method', () => { + const args = new ArgumentsBuilder().addCommaList('list', ['value1', 'value2', 'value with space']).build() + + expect(args).toEqual(['--list', 'value1,value2,"value with space"']) + }) + + test('null or undefined arguments are ignored', () => { + const args = new ArgumentsBuilder().addKeyValue('key', null).addKeyValue('another', undefined).addCommaList('list', []).build() + + expect(args).toEqual([]) + }) + + test('empty string arguments are ignored', () => { + const args = new ArgumentsBuilder().addArgument('').addFlag('').build() + + expect(args).toEqual([]) + }) + }) + + describe('Unix environment', () => { + beforeEach(() => { + mockPlatform.mockReturnValue('linux') + }) + + test('basic argument without spaces', () => { + const args = new ArgumentsBuilder().addArgument('simple').build() + + expect(args).toEqual(['simple']) + }) + + test('argument with spaces', () => { + const args = new ArgumentsBuilder().addArgument('argument with spaces').build() + + expect(args).toEqual(["'argument with spaces'"]) + }) + + test('argument with single quotes', () => { + const args = new ArgumentsBuilder().addArgument("argument 'with' quotes").build() + + expect(args).toEqual(["'argument '\\''with'\\'' quotes'"]) + }) + + test('argument with special characters', () => { + const args = new ArgumentsBuilder().addArgument('argument&with|special').build() + + expect(args).toEqual(["'argument&with|special'"]) + }) + + test('addKeyValue with special characters', () => { + const args = new ArgumentsBuilder().addKeyValue('key', "value with 'quotes'").build() + + expect(args).toEqual(['--key', "'value with '\\''quotes'\\'''"]) + }) + + test('addKeyValueEquals with special characters', () => { + const args = new ArgumentsBuilder().addKeyValueEquals('key', "value with 'quotes'").build() + + expect(args).toEqual(["--key='value with '\\''quotes'\\'''"]) + }) + }) + + describe('parseArgumentString', () => { + test('parses simple arguments', () => { + const result = ArgumentsBuilder.parseArgumentString('arg1 arg2 arg3') + expect(result).toEqual(['arg1', 'arg2', 'arg3']) + }) + + test('parses quoted arguments', () => { + const result = ArgumentsBuilder.parseArgumentString('arg1 "arg with space" arg3') + expect(result).toEqual(['arg1', 'arg with space', 'arg3']) + }) + + test('handles escaped quotes', () => { + const result = ArgumentsBuilder.parseArgumentString('arg1 "arg \\"with\\" quotes" arg3') + expect(result).toEqual(['arg1', 'arg "with" quotes', 'arg3']) + }) + + test('handles escaped backslashes', () => { + // In JS, '\\\\' represents two backslashes in a string + // So the input is effectively: arg1 "arg \\ with backslash" arg3 + const result = ArgumentsBuilder.parseArgumentString('arg1 "arg \\\\ with backslash" arg3') + + // Log for debugging + console.log('Expected:', ['arg1', 'arg \\ with backslash', 'arg3']) + console.log('Actual:', result) + + expect(result).toEqual(['arg1', 'arg \\ with backslash', 'arg3']) + }) + + // Add more explicit test to verify backslash handling + test('handles multiple escaped backslashes', () => { + // This represents: arg1 "arg \\\\ with multiple backslashes" arg3 + const result = ArgumentsBuilder.parseArgumentString('arg1 "arg \\\\\\\\ with multiple backslashes" arg3') + expect(result).toEqual(['arg1', 'arg \\\\ with multiple backslashes', 'arg3']) + }) + + test('ignores multiple spaces outside quotes', () => { + const result = ArgumentsBuilder.parseArgumentString('arg1 arg2 arg3') + expect(result).toEqual(['arg1', 'arg2', 'arg3']) + }) + + test('preserves spaces inside quotes', () => { + const result = ArgumentsBuilder.parseArgumentString('arg1 " spaced out " arg3') + expect(result).toEqual(['arg1', ' spaced out ', 'arg3']) + }) + + test('handles empty string', () => { + const result = ArgumentsBuilder.parseArgumentString('') + expect(result).toEqual([]) + }) + + test('handles string with only spaces', () => { + const result = ArgumentsBuilder.parseArgumentString(' ') + expect(result).toEqual([]) + }) + }) + + describe('complex scenarios', () => { + beforeEach(() => { + mockPlatform.mockReturnValue('win32') + }) + + test('complex command with multiple types of arguments', () => { + const args = new ArgumentsBuilder() + .addArgument('command') + .addFlag('verbose') + .addKeyValue('input', 'file with spaces.txt') + .addKeyValueEquals('format', 'json') + .addCommaList('tags', ['tag1', 'tag with space', 'tag with "quotes"']) + .build() + + expect(args).toEqual([ + 'command', + '--verbose', + '--input', + '"file with spaces.txt"', + '--format=json', + '--tags', + 'tag1,"tag with space","tag with \\"quotes\\""' + ]) + }) + + test('command with path characters', () => { + // Test Windows paths + const args = new ArgumentsBuilder().addArgument('C:\\Program Files\\App\\tool.exe').addKeyValue('output', 'D:\\My Documents\\output.txt').build() + + expect(args).toEqual(['"C:\\Program Files\\App\\tool.exe"', '--output', '"D:\\My Documents\\output.txt"']) + }) + }) + + describe('Unix paths and commands', () => { + beforeEach(() => { + mockPlatform.mockReturnValue('linux') + }) + + test('command with Unix paths', () => { + const args = new ArgumentsBuilder() + .addArgument('/usr/local/bin/tool') + .addKeyValue('config', '/etc/app/config.json') + .addKeyValue('output', '/home/user/Documents/output file.txt') + .build() + + expect(args).toEqual(['/usr/local/bin/tool', '--config', '/etc/app/config.json', '--output', "'/home/user/Documents/output file.txt'"]) + }) + + test('command with environmental variables', () => { + const args = new ArgumentsBuilder().addArgument('tool').addKeyValue('home', '$HOME/files').addKeyValue('user', '$(whoami)').build() + + expect(args).toEqual(['tool', '--home', "'$HOME/files'", '--user', "'$(whoami)'"]) + }) + }) +}) diff --git a/src/agents/local/build-agent.ts b/src/agents/local/build-agent.ts index 1a516770a..dfb151150 100644 --- a/src/agents/local/build-agent.ts +++ b/src/agents/local/build-agent.ts @@ -1,4 +1,5 @@ import * as process from 'node:process' +import os from 'node:os' import { BuildAgentBase, type IBuildAgent } from '@agents/common' @@ -10,19 +11,19 @@ export class BuildAgent extends BuildAgentBase implements IBuildAgent { cacheDirVariable = 'AGENT_TOOLS_DIR' debug = (message: string): void => { - process.stdout.write(`[debug] ${message}`) + process.stdout.write(`[debug] ${message}` + os.EOL) } info = (message: string): void => { - process.stdout.write(`[info] - ${message}`) + process.stdout.write(`[info] - ${message}` + os.EOL) } warn = (message: string): void => { - process.stderr.write(`[warn] - ${message}`) + process.stderr.write(`[warn] - ${message}` + os.EOL) } error = (message: string): void => { - process.stderr.write(`[error] - ${message}`) + process.stderr.write(`[error] - ${message}` + os.EOL) } setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`) diff --git a/src/tools/common/arguments-builder.ts b/src/tools/common/arguments-builder.ts new file mode 100644 index 000000000..4a78bebda --- /dev/null +++ b/src/tools/common/arguments-builder.ts @@ -0,0 +1,189 @@ +import * as os from 'node:os' + +export class ArgumentsBuilder { + private readonly args: string[] = [] + private readonly isWindows: boolean = os.platform() === 'win32' + + /** + * Adds a simple argument without a key + * @param value The argument value + */ + addArgument(value: string): this { + if (value) { + this.args.push(this.escapeArgument(value)) + } + return this + } + + /** + * Adds multiple arguments + * @param values The argument values + */ + addArguments(values: string[]): this { + for (const value of values) { + this.addArgument(value) + } + return this + } + + /** + * Adds a flag argument (--flag) + * @param key The flag name + */ + addFlag(key: string): this { + if (key) { + this.args.push(`--${key}`) + } + return this + } + + /** + * Adds a key-value argument (--key value) + * @param key The argument key + * @param value The argument value + */ + addKeyValue(key: string, value?: string | null): this { + if (key && value !== undefined && value !== null) { + this.args.push(`--${key}`) + this.args.push(this.escapeArgument(value)) + } + return this + } + + /** + * Adds an equals-style argument (--key=value) + * @param key The argument key + * @param value The argument value + */ + addKeyValueEquals(key: string, value?: string | null): this { + if (key && value !== undefined && value !== null) { + this.args.push(`--${key}=${this.escapeArgument(value)}`) + } + return this + } + + /** + * Adds a comma-separated list (--key value1,value2,value3) + * @param key The argument key + * @param values The list of values + */ + addCommaList(key: string, values?: string[]): this { + if (key && values && values.length > 0) { + const escapedValues = values.map(v => this.escapeArgument(v)) + this.args.push(`--${key}`) + this.args.push(escapedValues.join(',')) + } + return this + } + + /** + * Escapes an argument value based on the current OS + * @param value The argument value to escape + * @returns The escaped argument value + */ + private escapeArgument(value: string): string { + if (!value) return value + + // No need to escape if it doesn't contain spaces or special chars + if (!this.needsEscaping(value)) return value + + if (this.isWindows) { + // On Windows, wrap in double quotes and escape inner double quotes with backslash + return `"${value.replace(/"/g, '\\"')}"` + } else { + // On Unix, wrap in single quotes and escape inner single quotes + // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening + return `'${value.replace(/'/g, "'\\''")}'` + } + } + + /** + * Determines if a value needs to be escaped + * @param value The value to check + * @returns True if the value needs escaping + */ + private needsEscaping(value: string): boolean { + const windowsNeedsEscaping = /[\s&|<>^(){}[\]"']/ + const unixNeedsEscaping = /[\s$\\`&|<>(){}[\]"']/ + if (this.isWindows) { + return windowsNeedsEscaping.test(value) + } + return unixNeedsEscaping.test(value) + } + + /** + * Returns the built argument array + */ + build(): string[] { + return [...this.args] + } + + /** + * Parses an argument string into an array + * @param argString The argument string to parse + * @returns Array of parsed arguments + */ + static parseArgumentString(argString: string): string[] { + const args: string[] = [] + + let inQuotes = false + let escaped = false + let lastCharWasSpace = true + let arg = '' + + const append = (c: string): void => { + // Only add a backslash for escaped characters other than quotes or backslashes + if (escaped && c !== '"' && c !== '\\') { + arg += '\\' + } + + arg += c + escaped = false + } + + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i) + + if (c === ' ' && !inQuotes) { + if (!lastCharWasSpace) { + args.push(arg) + arg = '' + } + lastCharWasSpace = true + continue + } else { + lastCharWasSpace = false + } + + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes + } else { + append(c) + } + continue + } + + if (c === '\\' && escaped) { + // Double backslash becomes a single backslash + arg += '\\' + escaped = false + continue + } + + if (c === '\\' && inQuotes) { + escaped = true + continue + } + + append(c) + lastCharWasSpace = false + } + + if (!lastCharWasSpace) { + args.push(arg.trim()) + } + + return args + } +} diff --git a/src/tools/common/dotnet-tool.ts b/src/tools/common/dotnet-tool.ts index 702f73429..cdb15da25 100644 --- a/src/tools/common/dotnet-tool.ts +++ b/src/tools/common/dotnet-tool.ts @@ -7,6 +7,7 @@ import * as semver from 'semver' import { type IBuildAgent, type ExecResult } from '@agents/common' import { ISettingsProvider } from './settings' import { NugetVersions } from './models' +import { ArgumentsBuilder } from './arguments-builder' export interface IDotnetTool { toolName: string @@ -199,12 +200,18 @@ export abstract class DotnetTool implements IDotnetTool { throw new Error('Unable to create temp directory') } - const args = ['tool', 'install', toolName, '--tool-path', tempDirectory, '--version', semverVersion] + const builder = new ArgumentsBuilder() + .addArgument('tool') + .addArgument('install') + .addArgument(toolName) + .addKeyValue('tool-path', tempDirectory) + .addKeyValue('version', semverVersion) + if (ignoreFailedSources) { - args.push('--ignore-failed-sources') + builder.addFlag('ignore-failed-sources') } - const result = await this.execute('dotnet', args) + const result = await this.execute('dotnet', builder.build()) const status = result.code === 0 ? 'success' : 'failure' const message = result.code === 0 ? result.stdout : result.stderr diff --git a/src/tools/common/index.ts b/src/tools/common/index.ts index 26c10a8ce..a9073f47c 100644 --- a/src/tools/common/index.ts +++ b/src/tools/common/index.ts @@ -1,5 +1,6 @@ export * from './models' export * from './dotnet-tool' export * from './settings' +export * from './arguments-builder' export const keysOf = Object.keys as (obj: T) => (keyof T)[] diff --git a/src/tools/gitreleasemanager/tool.ts b/src/tools/gitreleasemanager/tool.ts index c8eb1f497..a22be560c 100644 --- a/src/tools/gitreleasemanager/tool.ts +++ b/src/tools/gitreleasemanager/tool.ts @@ -1,6 +1,6 @@ import * as path from 'path' -import { DotnetTool } from '@tools/common' +import { ArgumentsBuilder, DotnetTool } from '@tools/common' import { type ExecResult } from '@agents/common' import { @@ -78,111 +78,112 @@ export class GitReleaseManagerTool extends DotnetTool { } protected async getCommonArguments(settings: CommonSettings): Promise { - const args: string[] = [] + const builder = new ArgumentsBuilder() - args.push('--owner', settings.owner) - args.push('--repository', settings.repository) - args.push('--token', settings.token) + builder.addKeyValue('owner', settings.owner) + builder.addKeyValue('repository', settings.repository) + builder.addKeyValue('token', settings.token) settings.targetDirectory = await this.getRepoDir(settings) - args.push('--targetDirectory', settings.targetDirectory) + builder.addKeyValue('targetDirectory', settings.targetDirectory) if (settings.logFilePath) { - args.push('--logFilePath', settings.logFilePath) + builder.addKeyValue('logFilePath', settings.logFilePath) } - return args + + return builder.build() } protected async getCreateArguments(settings: CreateSettings): Promise { - const args: string[] = ['create', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('create').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--milestone', settings.milestone) + builder.addKeyValue('milestone', settings.milestone) } if (settings.name) { - args.push('--name', settings.name) + builder.addKeyValue('name', settings.name) } if (settings.targetcommitish) { - args.push('--targetcommitish', settings.targetcommitish) + builder.addKeyValue('targetcommitish', settings.targetcommitish) } if (settings.inputFilePath) { if (await this.buildAgent.fileExists(settings.inputFilePath)) { - args.push('--inputFilePath', settings.inputFilePath) + builder.addKeyValue('inputFilePath', settings.inputFilePath) } else { throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`) } } if (settings.isPreRelease) { - args.push('--pre') + builder.addFlag('pre') } if (settings.assets && settings.assets.length > 0) { settings.assets = settings.assets.map(asset => { return path.join(settings.targetDirectory, asset) }) - args.push('--assets', settings.assets.join(',')) + builder.addKeyValue('assets', settings.assets.join(',')) } - return args + return builder.build() } protected async getDiscardArguments(settings: DiscardSettings): Promise { - const args: string[] = ['discard', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('discard').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--milestone', settings.milestone) + builder.addKeyValue('milestone', settings.milestone) } - return args + return builder.build() } protected async getCloseArguments(settings: CloseSettings): Promise { - const args: string[] = ['close', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('close').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--milestone', settings.milestone) + builder.addKeyValue('milestone', settings.milestone) } - return args + return builder.build() } protected async getOpenArguments(settings: OpenSettings): Promise { - const args: string[] = ['open', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('open').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--milestone', settings.milestone) + builder.addKeyValue('milestone', settings.milestone) } - return args + return builder.build() } protected async getPublishArguments(settings: PublishSettings): Promise { - const args: string[] = ['publish', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('publish').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--tagName', settings.milestone) + builder.addKeyValue('tagName', settings.milestone) } - return args + return builder.build() } protected async getAddAssetArguments(settings: AddAssetSettings): Promise { - const args: string[] = ['addasset', ...(await this.getCommonArguments(settings))] + const builder = new ArgumentsBuilder().addArgument('addasset').addArguments(await this.getCommonArguments(settings)) if (settings.milestone) { - args.push('--tagName', settings.milestone) + builder.addKeyValue('tagName', settings.milestone) } if (settings.assets && settings.assets.length > 0) { settings.assets = settings.assets.map(asset => { return path.join(settings.targetDirectory, asset) }) - args.push('--assets', settings.assets.join(',')) + builder.addKeyValue('assets', settings.assets.join(',')) } - return args + return builder.build() } protected async getRepoDir(settings: CommonSettings): Promise { diff --git a/src/tools/gitversion/tool.ts b/src/tools/gitversion/tool.ts index a6d0c9968..198e960d8 100644 --- a/src/tools/gitversion/tool.ts +++ b/src/tools/gitversion/tool.ts @@ -1,5 +1,5 @@ import { type ExecResult } from '@agents/common' -import { DotnetTool, keysOf } from '@tools/common' +import { ArgumentsBuilder, DotnetTool, keysOf } from '@tools/common' import { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models' import { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings' @@ -78,7 +78,7 @@ export class GitVersionTool extends DotnetTool { } protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise { - const args = [workDir, '/output', 'json', '/l', 'console'] + const builder = new ArgumentsBuilder().addArgument(workDir).addArgument('/output').addArgument('json').addArgument('/l').addArgument('console') const { useConfigFile, @@ -93,16 +93,16 @@ export class GitVersionTool extends DotnetTool { } = options if (disableCache) { - args.push('/nocache') + builder.addArgument('/nocache') } if (disableNormalization) { - args.push('/nonormalize') + builder.addArgument('/nonormalize') } if (useConfigFile) { if (await this.isValidInputFile('configFilePath', configFilePath)) { - args.push('/config', configFilePath) + builder.addArgument('/config').addArgument(configFilePath) } else { throw new Error(`GitVersion configuration file not found at ${configFilePath}`) } @@ -112,18 +112,18 @@ export class GitVersionTool extends DotnetTool { for (let config of overrideConfig) { config = config.trim() if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\- :.']*)/)) { - args.push('/overrideconfig', config) + builder.addArgument('/overrideconfig').addArgument(config) } } } if (updateAssemblyInfo) { - args.push('/updateassemblyinfo') + builder.addArgument('/updateassemblyinfo') // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'. if (updateAssemblyInfoFilename?.length > 0) { if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) { - args.push(updateAssemblyInfoFilename) + builder.addArgument(updateAssemblyInfoFilename) } else { throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`) } @@ -131,81 +131,20 @@ export class GitVersionTool extends DotnetTool { } if (updateProjectFiles) { - args.push('/updateprojectfiles') + builder.addArgument('/updateprojectfiles') } - return args + return builder.build() } protected getCommandArguments(workDir: string, options: CommandSettings): string[] { - let args = [workDir] + const builder = new ArgumentsBuilder().addArgument(workDir) if (options.arguments) { - args = args.concat(this.argStringToArray(options.arguments)) - } - return args - } - - private argStringToArray(argString: string): string[] { - const args: string[] = [] - - let inQuotes = false - let escaped = false - let lastCharWasSpace = true - let arg = '' - - const append = (c: string): void => { - // we only escape double quotes. - if (escaped && c !== '"') { - arg += '\\' - } - - arg += c - escaped = false - } - - for (let i = 0; i < argString.length; i++) { - const c = argString.charAt(i) - - if (c === ' ' && !inQuotes) { - if (!lastCharWasSpace) { - args.push(arg) - arg = '' - } - lastCharWasSpace = true - continue - } else { - lastCharWasSpace = false - } - - if (c === '"') { - if (!escaped) { - inQuotes = !inQuotes - } else { - append(c) - } - continue - } - - if (c === '\\' && escaped) { - append(c) - continue - } - - if (c === '\\' && inQuotes) { - escaped = true - continue - } - - append(c) - lastCharWasSpace = false - } - - if (!lastCharWasSpace) { - args.push(arg.trim()) + builder.addArguments(ArgumentsBuilder.parseArgumentString(options.arguments)) } - return args + return builder.build() } private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise { From 211a379d570c11635f7221876c74c82243caa350 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Sat, 29 Mar 2025 19:13:47 +0100 Subject: [PATCH 072/108] #1515 - improve logic for findToolExecutable --- dist/tools/libs/tools.mjs | 56 +++- dist/tools/libs/tools.mjs.map | 2 +- .../tools/common/dotnet-tool.spec.ts | 245 ++++++++++++++++++ src/tools/common/dotnet-tool.ts | 78 +++++- 4 files changed, 374 insertions(+), 7 deletions(-) create mode 100644 src/__tests__/tools/common/dotnet-tool.spec.ts diff --git a/dist/tools/libs/tools.mjs b/dist/tools/libs/tools.mjs index 1a66ae10b..e2c151de4 100644 --- a/dist/tools/libs/tools.mjs +++ b/dist/tools/libs/tools.mjs @@ -220,6 +220,49 @@ class DotnetTool { this.buildAgent.info(`Command: ${cmd} ${args.join(" ")}`); return await this.buildAgent.exec(cmd, args); } + async findToolExecutable(toolBasePath) { + const toolName = os.platform() === "win32" ? `${this.toolName}.exe` : this.toolName; + const toolPath = path.join(toolBasePath, toolName); + if (await this.buildAgent.fileExists(toolPath)) { + return toolPath; + } + const arch = os.arch(); + this.buildAgent.debug(`Current system architecture: ${arch}`); + const archPaths = []; + if (arch === "x64") { + archPaths.push(path.join(toolBasePath, "x64", toolName)); + } else if (arch === "arm64") { + archPaths.push(path.join(toolBasePath, "arm64", toolName)); + } + if (os.platform() === "darwin" && arch === "arm64") { + archPaths.push(path.join(toolBasePath, "osx-arm64", toolName)); + } else if (os.platform() === "darwin" && arch === "x64") { + archPaths.push(path.join(toolBasePath, "osx-x64", toolName)); + } + for (const archPath of archPaths) { + if (await this.buildAgent.fileExists(archPath)) { + this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`); + return archPath; + } + } + try { + const entries = await fs.readdir(toolBasePath, { withFileTypes: true }); + for (const entry of entries) { + if (entry.isDirectory()) { + const nestedPath = path.join(toolBasePath, entry.name, toolName); + if (await this.buildAgent.fileExists(nestedPath)) { + this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`); + return nestedPath; + } + } + } + } catch (error) { + if (error instanceof Error) { + this.buildAgent.debug(`Error reading subdirectories: ${error.message}`); + } + } + return null; + } async setDotnetRoot() { if (os.platform() !== "win32" && !this.buildAgent.getVariable("DOTNET_ROOT")) { let dotnetPath = await this.buildAgent.which("dotnet", true); @@ -232,10 +275,17 @@ class DotnetTool { } } async executeTool(args) { + const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable); let toolPath; - const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable); - if (variableAsPath) { - toolPath = path.join(variableAsPath, os.platform() === "win32" ? `${this.toolName}.exe` : this.toolName); + if (variablePath) { + const foundExecutable = await this.findToolExecutable(variablePath); + if (foundExecutable) { + toolPath = foundExecutable; + this.buildAgent.debug(`Found tool executable at: ${toolPath}`); + } else { + toolPath = path.join(variablePath, os.platform() === "win32" ? `${this.toolName}.exe` : this.toolName); + this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`); + } } if (!toolPath) { toolPath = await this.buildAgent.which(this.toolName, true); diff --git a/dist/tools/libs/tools.mjs.map b/dist/tools/libs/tools.mjs.map index b3fbf2636..c80dd7e9d 100644 --- a/dist/tools/libs/tools.mjs.map +++ b/dist/tools/libs/tools.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n let toolPath: string | undefined\n const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n if (variableAsPath) {\n toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n }\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async findToolExecutable(toolBasePath: string): Promise {\n const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName\n\n // Check in the base path first\n const toolPath = path.join(toolBasePath, toolName)\n if (await this.buildAgent.fileExists(toolPath)) {\n return toolPath\n }\n\n // Get current system architecture\n const arch = os.arch()\n this.buildAgent.debug(`Current system architecture: ${arch}`)\n\n // Map node's architecture names to .NET's architecture folders\n const archPaths = []\n\n // Add primary architecture path based on current architecture\n if (arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'x64', toolName))\n } else if (arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'arm64', toolName))\n }\n\n // Add platform-specific architecture paths\n if (os.platform() === 'darwin' && arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName))\n } else if (os.platform() === 'darwin' && arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'osx-x64', toolName))\n }\n\n // Try each architecture-specific path\n for (const archPath of archPaths) {\n if (await this.buildAgent.fileExists(archPath)) {\n this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`)\n return archPath\n }\n }\n\n // Check in any other subdirectory as a fallback\n try {\n const entries = await fs.readdir(toolBasePath, { withFileTypes: true })\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const nestedPath = path.join(toolBasePath, entry.name, toolName)\n if (await this.buildAgent.fileExists(nestedPath)) {\n this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`)\n return nestedPath\n }\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`Error reading subdirectories: ${error.message}`)\n }\n }\n\n return null\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n // First, check if we have a path variable set\n const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n let toolPath: string | undefined\n\n if (variablePath) {\n // Try to find the executable in the path or its subdirectories\n const foundExecutable = await this.findToolExecutable(variablePath)\n if (foundExecutable) {\n toolPath = foundExecutable\n this.buildAgent.debug(`Found tool executable at: ${toolPath}`)\n } else {\n // Fallback to old behavior if executable not found\n toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`)\n }\n }\n\n // If we still don't have a path, try to find it in PATH\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file diff --git a/src/__tests__/tools/common/dotnet-tool.spec.ts b/src/__tests__/tools/common/dotnet-tool.spec.ts new file mode 100644 index 000000000..aa6e8b0ee --- /dev/null +++ b/src/__tests__/tools/common/dotnet-tool.spec.ts @@ -0,0 +1,245 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest' +import * as os from 'node:os' +import * as path from 'node:path' +import * as fs from 'node:fs/promises' +import { DotnetTool, ISettingsProvider } from '@tools/common' +import { IBuildAgent } from '@agents/common' +import { Dirent } from 'node:fs' + +// Mock modules +vi.mock('node:os') +vi.mock('node:fs/promises') + +// Create a test implementation of the abstract class +class TestDotnetTool extends DotnetTool { + get packageName(): string { + return 'test-package' + } + + get toolName(): string { + return 'test-tool' + } + + get toolPathVariable(): string { + return 'TEST_TOOL_PATH' + } + + get versionRange(): string | null { + return null + } + + get settingsProvider(): ISettingsProvider { + return { + getSetupSettings: () => ({ + versionSpec: '1.0.0', + includePrerelease: false, + preferLatestVersion: false, + ignoreFailedSources: false + }) + } + } + + // Expose protected methods for testing + async testFindToolExecutable(toolBasePath: string): Promise { + return this.findToolExecutable(toolBasePath) + } +} + +// Helper function to mock build agent +function createMockBuildAgent(): IBuildAgent { + const mockFileExists = vi.fn().mockResolvedValue(false) + return { + info: vi.fn(), + debug: vi.fn(), + warning: vi.fn(), + error: vi.fn(), + setSucceeded: vi.fn(), + setFailed: vi.fn(), + getInput: vi.fn(), + getBooleanInput: vi.fn(), + setOutput: vi.fn(), + setVariable: vi.fn(), + getVariable: vi.fn().mockReturnValue(undefined), + getVariableAsPath: vi.fn(), + addPath: vi.fn(), + which: vi.fn(), + exec: vi.fn().mockResolvedValue({ code: 0, stdout: '', stderr: '' }), + getExecOutput: vi.fn(), + fileExists: mockFileExists, + directoryExists: vi.fn(), + findLocalTool: vi.fn(), + cacheToolDirectory: vi.fn(), + removeDirectory: vi.fn(), + sourceDir: '/source', + tempDir: '/temp', + workDir: '/work', + runnerDir: '/runner' + } as unknown as IBuildAgent +} + +describe('DotnetTool', () => { + let buildAgent: IBuildAgent + let tool: TestDotnetTool + + beforeEach(() => { + vi.resetAllMocks() + buildAgent = createMockBuildAgent() + tool = new TestDotnetTool(buildAgent) + }) + + describe('findToolExecutable', () => { + function setupMockFileExists(mockFileExists: ReturnType, filePath: string): void { + mockFileExists.mockImplementation(async (path: string) => { + return Promise.resolve(path === filePath) + }) + buildAgent.fileExists = mockFileExists as unknown as typeof buildAgent.fileExists + } + + it('should return tool path when executable exists in base path', async () => { + const basePath = '/tools/test-tool' + const toolPath = path.join(basePath, 'test-tool') + setupMockFileExists(vi.fn(), toolPath) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(toolPath) + }) + + it('should return windows executable path when on windows', async () => { + vi.mocked(os.platform).mockReturnValue('win32') + const basePath = '/tools/test-tool' + const toolPath = path.join(basePath, 'test-tool.exe') + setupMockFileExists(vi.fn(), toolPath) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(toolPath) + }) + + it('should check architecture-specific paths for x64', async () => { + vi.mocked(os.arch).mockReturnValue('x64') + vi.mocked(os.platform).mockReturnValue('linux') + + const basePath = '/tools/test-tool' + const x64Path = path.join(basePath, 'x64', 'test-tool') + setupMockFileExists(vi.fn(), x64Path) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(x64Path) + }) + + it('should check architecture-specific paths for arm64', async () => { + vi.mocked(os.arch).mockReturnValue('arm64') + vi.mocked(os.platform).mockReturnValue('linux') + + const basePath = '/tools/test-tool' + const arm64Path = path.join(basePath, 'arm64', 'test-tool') + setupMockFileExists(vi.fn(), arm64Path) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(arm64Path) + }) + + it('should check macOS-specific paths for x64', async () => { + vi.mocked(os.arch).mockReturnValue('x64') + vi.mocked(os.platform).mockReturnValue('darwin') + + const basePath = '/tools/test-tool' + const osxX64Path = path.join(basePath, 'osx-x64', 'test-tool') + setupMockFileExists(vi.fn(), osxX64Path) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(osxX64Path) + }) + + it('should check macOS-specific paths for arm64', async () => { + vi.mocked(os.arch).mockReturnValue('arm64') + vi.mocked(os.platform).mockReturnValue('darwin') + + const basePath = '/tools/test-tool' + const osxArm64Path = path.join(basePath, 'osx-arm64', 'test-tool') + setupMockFileExists(vi.fn(), osxArm64Path) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(osxArm64Path) + }) + + it('should search subdirectories as fallback', async () => { + vi.mocked(os.arch).mockReturnValue('x64') + vi.mocked(os.platform).mockReturnValue('linux') + + const basePath = '/tools/test-tool' + const customDirPath = path.join(basePath, 'custom-dir', 'test-tool') + + const mockFileExists = vi.fn().mockImplementation(async (filePath: string) => { + return Promise.resolve(filePath === customDirPath) + }) + + buildAgent.fileExists = mockFileExists as unknown as typeof buildAgent.fileExists + + vi.mocked(fs.readdir).mockResolvedValue([ + { name: 'custom-dir', isDirectory: () => true } as unknown as Dirent, + { name: 'not-a-dir', isDirectory: () => false } as unknown as Dirent + ]) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBe(customDirPath) + }) + + it('should handle errors when reading subdirectories', async () => { + vi.mocked(os.arch).mockReturnValue('x64') + vi.mocked(os.platform).mockReturnValue('linux') + + const basePath = '/tools/test-tool' + + const mockFileExists = vi.fn().mockResolvedValue(false) + const mockDebug = vi.fn() + + buildAgent.fileExists = mockFileExists as unknown as typeof buildAgent.fileExists + buildAgent.debug = mockDebug + + vi.mocked(fs.readdir).mockRejectedValue(new Error('Permission denied')) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBeNull() + }) + + it('should return null when executable not found anywhere', async () => { + vi.mocked(os.arch).mockReturnValue('x64') + vi.mocked(os.platform).mockReturnValue('linux') + + const basePath = '/tools/test-tool' + + const mockFileExists = vi.fn().mockResolvedValue(false) + buildAgent.fileExists = mockFileExists as unknown as typeof buildAgent.fileExists + + vi.mocked(fs.readdir).mockResolvedValue([]) + + const result = await tool.testFindToolExecutable(basePath) + + expect(result).toBeNull() + }) + }) + + describe('disableTelemetry', () => { + it('should set telemetry environment variables', () => { + const mockInfo = vi.fn() + const mockSetVariable = vi.fn() + + buildAgent.info = mockInfo + buildAgent.setVariable = mockSetVariable + + tool.disableTelemetry() + + expect(mockInfo).toHaveBeenCalledWith('Disable Telemetry') + expect(mockSetVariable).toHaveBeenCalledWith('DOTNET_CLI_TELEMETRY_OPTOUT', 'true') + expect(mockSetVariable).toHaveBeenCalledWith('DOTNET_NOLOGO', 'true') + }) + }) +}) diff --git a/src/tools/common/dotnet-tool.ts b/src/tools/common/dotnet-tool.ts index cdb15da25..7697e9f17 100644 --- a/src/tools/common/dotnet-tool.ts +++ b/src/tools/common/dotnet-tool.ts @@ -101,6 +101,65 @@ export abstract class DotnetTool implements IDotnetTool { return await this.buildAgent.exec(cmd, args) } + protected async findToolExecutable(toolBasePath: string): Promise { + const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName + + // Check in the base path first + const toolPath = path.join(toolBasePath, toolName) + if (await this.buildAgent.fileExists(toolPath)) { + return toolPath + } + + // Get current system architecture + const arch = os.arch() + this.buildAgent.debug(`Current system architecture: ${arch}`) + + // Map node's architecture names to .NET's architecture folders + const archPaths = [] + + // Add primary architecture path based on current architecture + if (arch === 'x64') { + archPaths.push(path.join(toolBasePath, 'x64', toolName)) + } else if (arch === 'arm64') { + archPaths.push(path.join(toolBasePath, 'arm64', toolName)) + } + + // Add platform-specific architecture paths + if (os.platform() === 'darwin' && arch === 'arm64') { + archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName)) + } else if (os.platform() === 'darwin' && arch === 'x64') { + archPaths.push(path.join(toolBasePath, 'osx-x64', toolName)) + } + + // Try each architecture-specific path + for (const archPath of archPaths) { + if (await this.buildAgent.fileExists(archPath)) { + this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`) + return archPath + } + } + + // Check in any other subdirectory as a fallback + try { + const entries = await fs.readdir(toolBasePath, { withFileTypes: true }) + for (const entry of entries) { + if (entry.isDirectory()) { + const nestedPath = path.join(toolBasePath, entry.name, toolName) + if (await this.buildAgent.fileExists(nestedPath)) { + this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`) + return nestedPath + } + } + } + } catch (error) { + if (error instanceof Error) { + this.buildAgent.debug(`Error reading subdirectories: ${error.message}`) + } + } + + return null + } + protected async setDotnetRoot(): Promise { if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) { let dotnetPath = await this.buildAgent.which('dotnet', true) @@ -115,11 +174,24 @@ export abstract class DotnetTool implements IDotnetTool { } protected async executeTool(args: string[]): Promise { + // First, check if we have a path variable set + const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable) let toolPath: string | undefined - const variableAsPath = this.buildAgent.getVariableAsPath(this.toolPathVariable) - if (variableAsPath) { - toolPath = path.join(variableAsPath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName) + + if (variablePath) { + // Try to find the executable in the path or its subdirectories + const foundExecutable = await this.findToolExecutable(variablePath) + if (foundExecutable) { + toolPath = foundExecutable + this.buildAgent.debug(`Found tool executable at: ${toolPath}`) + } else { + // Fallback to old behavior if executable not found + toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName) + this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`) + } } + + // If we still don't have a path, try to find it in PATH if (!toolPath) { toolPath = await this.buildAgent.which(this.toolName, true) } From d63b74ec607ddadd33890bfd9ca507c2538633c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 18:45:24 +0000 Subject: [PATCH 073/108] (npm): bump vite from 6.2.3 to 6.2.4 in the npm_and_yarn group Bumps the npm_and_yarn group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.2.3 to 6.2.4 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83680d788..a804e2013 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", - "vite": "^6.2.3", + "vite": "^6.2.4", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9" @@ -7393,9 +7393,9 @@ } }, "node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", + "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index b898db373..b6e33d51e 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.0", "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", - "vite": "^6.2.3", + "vite": "^6.2.4", "vite-node": "^3.0.9", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.9" From f3b86699e0624459fd0f66fcde2ea8722c947daf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 05:01:34 +0000 Subject: [PATCH 074/108] (npm): bump the vite group with 2 updates Bumps the vite group with 2 updates: [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite-node` from 3.0.9 to 3.1.1 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.1/packages/vite-node) Updates `vitest` from 3.0.9 to 3.1.1 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.1/packages/vitest) --- updated-dependencies: - dependency-name: vite-node dependency-version: 3.1.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: vite - dependency-name: vitest dependency-version: 3.1.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 110 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 58 insertions(+), 56 deletions(-) diff --git a/package-lock.json b/package-lock.json index a804e2013..86ee18cc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", "vite": "^6.2.4", - "vite-node": "^3.0.9", + "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.9" + "vitest": "^3.1.1" }, "engines": { "node": ">=20.0.0" @@ -1456,14 +1456,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.9.tgz", - "integrity": "sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", + "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.9", - "@vitest/utils": "3.0.9", + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -1472,13 +1472,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.9.tgz", - "integrity": "sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", + "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.9", + "@vitest/spy": "3.1.1", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1499,9 +1499,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.9.tgz", - "integrity": "sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", + "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", "dev": true, "license": "MIT", "dependencies": { @@ -1512,13 +1512,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.9.tgz", - "integrity": "sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", + "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.9", + "@vitest/utils": "3.1.1", "pathe": "^2.0.3" }, "funding": { @@ -1526,13 +1526,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.9.tgz", - "integrity": "sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", + "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.9", + "@vitest/pretty-format": "3.1.1", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -1541,9 +1541,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.9.tgz", - "integrity": "sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", + "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1554,13 +1554,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.9.tgz", - "integrity": "sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", + "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.9", + "@vitest/pretty-format": "3.1.1", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -3116,10 +3116,11 @@ } }, "node_modules/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", + "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } @@ -6685,10 +6686,11 @@ "dev": true }, "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "dev": true + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "dev": true, + "license": "MIT" }, "node_modules/string_decoder": { "version": "1.1.1", @@ -7465,9 +7467,9 @@ } }, "node_modules/vite-node": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.9.tgz", - "integrity": "sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", + "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", "dev": true, "license": "MIT", "dependencies": { @@ -7507,31 +7509,31 @@ } }, "node_modules/vitest": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz", - "integrity": "sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", + "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.9", - "@vitest/mocker": "3.0.9", - "@vitest/pretty-format": "^3.0.9", - "@vitest/runner": "3.0.9", - "@vitest/snapshot": "3.0.9", - "@vitest/spy": "3.0.9", - "@vitest/utils": "3.0.9", + "@vitest/expect": "3.1.1", + "@vitest/mocker": "3.1.1", + "@vitest/pretty-format": "^3.1.1", + "@vitest/runner": "3.1.1", + "@vitest/snapshot": "3.1.1", + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", "chai": "^5.2.0", "debug": "^4.4.0", - "expect-type": "^1.1.0", + "expect-type": "^1.2.0", "magic-string": "^0.30.17", "pathe": "^2.0.3", - "std-env": "^3.8.0", + "std-env": "^3.8.1", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.9", + "vite-node": "3.1.1", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7547,8 +7549,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.9", - "@vitest/ui": "3.0.9", + "@vitest/browser": "3.1.1", + "@vitest/ui": "3.1.1", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index b6e33d51e..6f3eaedc3 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "typescript": "^5.8.2", "typescript-eslint": "^8.28.0", "vite": "^6.2.4", - "vite-node": "^3.0.9", + "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.0.9" + "vitest": "^3.1.1" }, "dependencies": { "semver": "^7.7.1" From 6d56c2159aea75ccb6bac816e38aab708795c8f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 05:07:10 +0000 Subject: [PATCH 075/108] (npm): bump typescript-eslint from 8.28.0 to 8.29.0 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.28.0 to 8.29.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.29.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-version: 8.29.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index 86ee18cc4..5589cfbab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.28.0", + "typescript-eslint": "^8.29.0", "vite": "^6.2.4", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", @@ -1242,17 +1242,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz", - "integrity": "sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", + "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.28.0", - "@typescript-eslint/type-utils": "8.28.0", - "@typescript-eslint/utils": "8.28.0", - "@typescript-eslint/visitor-keys": "8.28.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/type-utils": "8.29.0", + "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1272,16 +1272,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.28.0.tgz", - "integrity": "sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", + "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.28.0", - "@typescript-eslint/types": "8.28.0", - "@typescript-eslint/typescript-estree": "8.28.0", - "@typescript-eslint/visitor-keys": "8.28.0", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4" }, "engines": { @@ -1297,14 +1297,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz", - "integrity": "sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", + "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.28.0", - "@typescript-eslint/visitor-keys": "8.28.0" + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1315,14 +1315,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz", - "integrity": "sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", + "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.28.0", - "@typescript-eslint/utils": "8.28.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/utils": "8.29.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1339,9 +1339,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.28.0.tgz", - "integrity": "sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", + "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", "dev": true, "license": "MIT", "engines": { @@ -1353,14 +1353,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz", - "integrity": "sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", + "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.28.0", - "@typescript-eslint/visitor-keys": "8.28.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1380,16 +1380,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.28.0.tgz", - "integrity": "sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.28.0", - "@typescript-eslint/types": "8.28.0", - "@typescript-eslint/typescript-estree": "8.28.0" + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1404,13 +1404,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz", - "integrity": "sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", + "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/types": "8.29.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7284,15 +7284,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.28.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.28.0.tgz", - "integrity": "sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.0.tgz", + "integrity": "sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.28.0", - "@typescript-eslint/parser": "8.28.0", - "@typescript-eslint/utils": "8.28.0" + "@typescript-eslint/eslint-plugin": "8.29.0", + "@typescript-eslint/parser": "8.29.0", + "@typescript-eslint/utils": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 6f3eaedc3..649b0187b 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.0", "typescript": "^5.8.2", - "typescript-eslint": "^8.28.0", + "typescript-eslint": "^8.29.0", "vite": "^6.2.4", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", From 525e7e6214984949b5d5f506e79490e190ee88c2 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 02:25:54 +0200 Subject: [PATCH 076/108] use specific runner versions --- .azure/ci.yml | 10 +++++----- .azure/example-10.yml | 6 +++--- .azure/example-8.yml | 2 +- .azure/example-9.yml | 6 +++--- .github/workflows/checkout-path.yml | 2 +- .github/workflows/ci.yml | 4 ++-- .github/workflows/example-8.yml | 2 +- .github/workflows/example-9.yml | 6 +++--- .github/workflows/examples-version.yml | 2 +- .github/workflows/prerelease.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/stale.yml | 2 +- docs/examples/azure/gitversion/execute.md | 14 +++++++------- docs/examples/github/gitversion/execute.md | 8 ++++---- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.azure/ci.yml b/.azure/ci.yml index a7873d0a6..22769d452 100644 --- a/.azure/ci.yml +++ b/.azure/ci.yml @@ -26,12 +26,12 @@ jobs: displayName: '' strategy: matrix: - 'ubuntu-latest': - imageName: 'ubuntu-latest' - 'macos-latest': + 'ubuntu-24.04': + imageName: 'ubuntu-24.04' + 'macos-15': imageName: 'macos-15' - 'windows-latest': - imageName: 'windows-latest' + 'windows-2025': + imageName: 'windows-2025' pool: vmImage: $(imageName) diff --git a/.azure/example-10.yml b/.azure/example-10.yml index 18b43c809..275ef648a 100644 --- a/.azure/example-10.yml +++ b/.azure/example-10.yml @@ -14,7 +14,7 @@ stages: - job: GitVersion_v6_cross_stage_producer displayName: GitVersion v6 (cross stage producer) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 @@ -40,7 +40,7 @@ stages: variables: myvar_fullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.fullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" @@ -71,7 +71,7 @@ stages: variables: myvar_GitVersion_FullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.GitVersion_FullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 0b36e5c5f..27250c245 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -11,7 +11,7 @@ jobs: - job: GitVersion_v6_same_job displayName: GitVersion v6 (same job) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 55f740b38..3cd448298 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -11,7 +11,7 @@ jobs: - job: GitVersion_v6_cross_job displayName: GitVersion v6 (cross job) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 @@ -35,7 +35,7 @@ jobs: variables: myvar_fullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.fullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" @@ -64,7 +64,7 @@ jobs: variables: myvar_GitVersion_FullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_FullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" diff --git a/.github/workflows/checkout-path.yml b/.github/workflows/checkout-path.yml index 145580169..9b281c2da 100644 --- a/.github/workflows/checkout-path.yml +++ b/.github/workflows/checkout-path.yml @@ -17,7 +17,7 @@ defaults: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36c9b188e..fa68006a6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ windows-latest, ubuntu-latest, macos-15 ] + os: [ windows-2025, ubuntu-24.04, macos-15 ] fail-fast: false steps: - uses: actions/checkout@v4 @@ -95,7 +95,7 @@ jobs: echo "FullSemVer (steps.gitversion.outputs.GitVersion_FullSemVer) : ${{ steps.gitversion.outputs.GitVersion_FullSemVer }}" name: Use variables and output - name: Check for changes - if: matrix.os == 'ubuntu-latest' && github.event_name == 'push' + if: matrix.os == 'ubuntu-24.04' && github.event_name == 'push' id: status run: | if ($null -ne (git status --porcelain)) { echo "has_changes=1"; echo "has_changes=1" >> $env:GITHUB_OUTPUT } diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 9b697fd16..797f3ed41 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -9,7 +9,7 @@ defaults: jobs: GitVersion_v6_same_job: name: GitVersion v6 (same job) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@v4 diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml index 12c3963df..351e4738e 100644 --- a/.github/workflows/example-9.yml +++ b/.github/workflows/example-9.yml @@ -9,7 +9,7 @@ defaults: jobs: GitVersion_v6_cross_job: name: GitVersion v6 (cross job) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 outputs: branchName: ${{ steps.version_step.outputs.branchName }} fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} @@ -34,7 +34,7 @@ jobs: GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: contains(needs.GitVersion_v6_cross_job.outputs['branchName'], 'main') env: myvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} @@ -90,7 +90,7 @@ jobs: GitVersion_v6_cross_job_consumer_with_prefix: name: GitVersion v6 (cross job consumer) - with prefix needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: contains(needs.GitVersion_v6_cross_job.outputs['GitVersion_BranchName'], 'main') env: myvar_GitVersion_FullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} diff --git a/.github/workflows/examples-version.yml b/.github/workflows/examples-version.yml index b20528a32..c1e108058 100644 --- a/.github/workflows/examples-version.yml +++ b/.github/workflows/examples-version.yml @@ -11,7 +11,7 @@ defaults: jobs: update-examples-version: if: ${{ github.event_name == 'repository_dispatch' }} - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 71475b6dd..2c87199aa 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -12,7 +12,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-latest ] + os: [ ubuntu-24.04 ] steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dbd7bd9ec..a7baca414 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,7 +13,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-latest ] + os: [ ubuntu-24.04 ] steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index b6b44be7c..4db093052 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -11,7 +11,7 @@ permissions: jobs: stale: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/stale@v9 with: diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index b3325d456..c58f12561 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -273,7 +273,7 @@ jobs: - job: GitVersion_v6_same_job displayName: GitVersion v6 (same job) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 @@ -343,7 +343,7 @@ jobs: - job: GitVersion_v6_cross_job displayName: GitVersion v6 (cross job) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 @@ -367,7 +367,7 @@ jobs: variables: myvar_fullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.fullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" @@ -396,7 +396,7 @@ jobs: variables: myvar_GitVersion_FullSemVer: $[ dependencies.GitVersion_v6_cross_job.outputs['version_step.GitVersion_FullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" @@ -434,7 +434,7 @@ stages: - job: GitVersion_v6_cross_stage_producer displayName: GitVersion v6 (cross stage producer) pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - checkout: self fetchDepth: 0 @@ -460,7 +460,7 @@ stages: variables: myvar_fullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.fullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_fullSemVer) : $(myvar_fullSemVer)" @@ -491,7 +491,7 @@ stages: variables: myvar_GitVersion_FullSemVer: $[ stageDependencies.GitVersion_v6_cross_stage.GitVersion_v6_cross_stage_producer.outputs['version_step.GitVersion_FullSemVer'] ] pool: - vmImage: ubuntu-latest + vmImage: ubuntu-24.04 steps: - pwsh: | echo "FullSemVer (myvar_GitVersion_FullSemVer) : $(myvar_GitVersion_FullSemVer)" diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index a26016271..94f8d23a5 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -265,7 +265,7 @@ The action also creates environment variables of the form `${{ env. jobs: GitVersion_v6_same_job: name: GitVersion v6 (same job) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@v4 @@ -349,7 +349,7 @@ jobs: jobs: GitVersion_v6_cross_job: name: GitVersion v6 (cross job) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 outputs: branchName: ${{ steps.version_step.outputs.branchName }} fullSemVer: ${{ steps.version_step.outputs.fullSemVer }} @@ -374,7 +374,7 @@ jobs: GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: contains(needs.GitVersion_v6_cross_job.outputs['branchName'], 'main') env: myvar_fullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.fullSemVer }} @@ -430,7 +430,7 @@ jobs: GitVersion_v6_cross_job_consumer_with_prefix: name: GitVersion v6 (cross job consumer) - with prefix needs: GitVersion_v6_cross_job - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 if: contains(needs.GitVersion_v6_cross_job.outputs['GitVersion_BranchName'], 'main') env: myvar_GitVersion_FullSemVer: ${{ needs.GitVersion_v6_cross_job.outputs.GitVersion_FullSemVer }} From 3daa9cef640a0264b7561aaefce87eb2b76fdb00 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 02:26:42 +0200 Subject: [PATCH 077/108] Ensures test results are always published Configures test result publishing to always execute, even if tests fail. This ensures that test results are available for analysis regardless of the test outcome. --- .azure/ci.yml | 2 ++ .github/workflows/ci.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/.azure/ci.yml b/.azure/ci.yml index 22769d452..b3f11b176 100644 --- a/.azure/ci.yml +++ b/.azure/ci.yml @@ -58,9 +58,11 @@ jobs: npm run test:ci displayName: 'Run tests' - task: PublishTestResults@2 + condition: always() inputs: testResultsFormat: 'JUnit' testResultsFiles: 'junit-report.xml' + searchFolder: '$(System.DefaultWorkingDirectory)' displayName: 'Test Summary' - pwsh: | # set the inputs for the 'gitversion/setup' action diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fa68006a6..e8fdba670 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,6 +50,7 @@ jobs: name: Run tests - name: Test Summary uses: test-summary/action@v2.4 + if: always() with: paths: junit-report.xml - name: gitversion/setup From 2ba6229a7a7d00c2c243441216cb1e1759185ba3 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 02:27:27 +0200 Subject: [PATCH 078/108] Normalizes target path in dotnet tool Ensures the target path for dotnet tools is properly normalized. - Adds `targetPath` to GitVersion command tasks in CI workflow - Resolves relative paths to absolute paths - Normalizes the directory separator for consistency. This prevents issues caused by inconsistent path formats, especially on different operating systems. --- .github/workflows/ci.yml | 2 + dist/tools/libs/tools.mjs | 5 +- dist/tools/libs/tools.mjs.map | 2 +- .../tools/common/dotnet-tool.spec.ts | 62 +++++++++++++ .../tools/gitreleasemanager/tool.spec.ts | 89 +++---------------- src/__tests__/tools/gitversion/runner.spec.ts | 2 +- src/__tests__/tools/gitversion/tool.spec.ts | 52 ----------- src/tools/common/dotnet-tool.ts | 5 +- 8 files changed, 84 insertions(+), 135 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8fdba670..9a940cce8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,10 +60,12 @@ jobs: - name: gitversion/command (showvariable) uses: ./gitversion/command with: + targetPath: './' arguments: '/showvariable FullSemVer' - name: gitversion/command (format) uses: ./gitversion/command with: + targetPath: './' arguments: '/format {Major}.{Minor}' - name: gitversion/execute id: gitversion # step id used as reference for output values diff --git a/dist/tools/libs/tools.mjs b/dist/tools/libs/tools.mjs index e2c151de4..5a41e2151 100644 --- a/dist/tools/libs/tools.mjs +++ b/dist/tools/libs/tools.mjs @@ -307,13 +307,16 @@ class DotnetTool { if (!targetPath) { workDir = srcDir; } else { + if (!path.isAbsolute(targetPath)) { + targetPath = path.resolve(targetPath); + } if (await this.buildAgent.directoryExists(targetPath)) { workDir = targetPath; } else { throw new Error(`Directory not found at ${targetPath}`); } } - return workDir.replace(/\\/g, "/"); + return path.normalize(workDir); } async queryLatestMatch(toolName, versionSpec, includePrerelease) { this.buildAgent.info( diff --git a/dist/tools/libs/tools.mjs.map b/dist/tools/libs/tools.mjs.map index c80dd7e9d..aee416c1e 100644 --- a/dist/tools/libs/tools.mjs.map +++ b/dist/tools/libs/tools.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async findToolExecutable(toolBasePath: string): Promise {\n const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName\n\n // Check in the base path first\n const toolPath = path.join(toolBasePath, toolName)\n if (await this.buildAgent.fileExists(toolPath)) {\n return toolPath\n }\n\n // Get current system architecture\n const arch = os.arch()\n this.buildAgent.debug(`Current system architecture: ${arch}`)\n\n // Map node's architecture names to .NET's architecture folders\n const archPaths = []\n\n // Add primary architecture path based on current architecture\n if (arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'x64', toolName))\n } else if (arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'arm64', toolName))\n }\n\n // Add platform-specific architecture paths\n if (os.platform() === 'darwin' && arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName))\n } else if (os.platform() === 'darwin' && arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'osx-x64', toolName))\n }\n\n // Try each architecture-specific path\n for (const archPath of archPaths) {\n if (await this.buildAgent.fileExists(archPath)) {\n this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`)\n return archPath\n }\n }\n\n // Check in any other subdirectory as a fallback\n try {\n const entries = await fs.readdir(toolBasePath, { withFileTypes: true })\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const nestedPath = path.join(toolBasePath, entry.name, toolName)\n if (await this.buildAgent.fileExists(nestedPath)) {\n this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`)\n return nestedPath\n }\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`Error reading subdirectories: ${error.message}`)\n }\n }\n\n return null\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n // First, check if we have a path variable set\n const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n let toolPath: string | undefined\n\n if (variablePath) {\n // Try to find the executable in the path or its subdirectories\n const foundExecutable = await this.findToolExecutable(variablePath)\n if (foundExecutable) {\n toolPath = foundExecutable\n this.buildAgent.debug(`Found tool executable at: ${toolPath}`)\n } else {\n // Fallback to old behavior if executable not found\n toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`)\n }\n }\n\n // If we still don't have a path, try to find it in PATH\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return workDir.replace(/\\\\/g, '/')\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async findToolExecutable(toolBasePath: string): Promise {\n const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName\n\n // Check in the base path first\n const toolPath = path.join(toolBasePath, toolName)\n if (await this.buildAgent.fileExists(toolPath)) {\n return toolPath\n }\n\n // Get current system architecture\n const arch = os.arch()\n this.buildAgent.debug(`Current system architecture: ${arch}`)\n\n // Map node's architecture names to .NET's architecture folders\n const archPaths = []\n\n // Add primary architecture path based on current architecture\n if (arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'x64', toolName))\n } else if (arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'arm64', toolName))\n }\n\n // Add platform-specific architecture paths\n if (os.platform() === 'darwin' && arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName))\n } else if (os.platform() === 'darwin' && arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'osx-x64', toolName))\n }\n\n // Try each architecture-specific path\n for (const archPath of archPaths) {\n if (await this.buildAgent.fileExists(archPath)) {\n this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`)\n return archPath\n }\n }\n\n // Check in any other subdirectory as a fallback\n try {\n const entries = await fs.readdir(toolBasePath, { withFileTypes: true })\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const nestedPath = path.join(toolBasePath, entry.name, toolName)\n if (await this.buildAgent.fileExists(nestedPath)) {\n this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`)\n return nestedPath\n }\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`Error reading subdirectories: ${error.message}`)\n }\n }\n\n return null\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n // First, check if we have a path variable set\n const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n let toolPath: string | undefined\n\n if (variablePath) {\n // Try to find the executable in the path or its subdirectories\n const foundExecutable = await this.findToolExecutable(variablePath)\n if (foundExecutable) {\n toolPath = foundExecutable\n this.buildAgent.debug(`Found tool executable at: ${toolPath}`)\n } else {\n // Fallback to old behavior if executable not found\n toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`)\n }\n }\n\n // If we still don't have a path, try to find it in PATH\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (!path.isAbsolute(targetPath)) {\n targetPath = path.resolve(targetPath)\n }\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return path.normalize(workDir)\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":";;;;;;AAEO,MAAM,gBAAiB,CAAA;AAAA,EACT,OAAiB,EAAC;AAAA,EAClB,SAAA,GAAqB,EAAG,CAAA,QAAA,EAAe,KAAA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMxD,YAAY,KAAqB,EAAA;AAC7B,IAAA,IAAI,KAAO,EAAA;AACP,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,IAAK,CAAA,cAAA,CAAe,KAAK,CAAC,CAAA;AAAA;AAE7C,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,MAAwB,EAAA;AACjC,IAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AACxB,MAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA;AAE1B,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,GAAmB,EAAA;AACvB,IAAA,IAAI,GAAK,EAAA;AACL,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,CAAK,EAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AAE7B,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAA,CAAY,KAAa,KAA6B,EAAA;AAClD,IAAA,IAAI,GAAO,IAAA,KAAA,KAAU,SAAa,IAAA,KAAA,KAAU,IAAM,EAAA;AAC9C,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,CAAK,EAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AACzB,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,IAAK,CAAA,cAAA,CAAe,KAAK,CAAC,CAAA;AAAA;AAE7C,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAA,CAAkB,KAAa,KAA6B,EAAA;AACxD,IAAA,IAAI,GAAO,IAAA,KAAA,KAAU,SAAa,IAAA,KAAA,KAAU,IAAM,EAAA;AAC9C,MAAK,IAAA,CAAA,IAAA,CAAK,KAAK,CAAK,EAAA,EAAA,GAAG,IAAI,IAAK,CAAA,cAAA,CAAe,KAAK,CAAC,CAAE,CAAA,CAAA;AAAA;AAE3D,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAA,CAAa,KAAa,MAAyB,EAAA;AAC/C,IAAA,IAAI,GAAO,IAAA,MAAA,IAAU,MAAO,CAAA,MAAA,GAAS,CAAG,EAAA;AACpC,MAAA,MAAM,gBAAgB,MAAO,CAAA,GAAA,CAAI,OAAK,IAAK,CAAA,cAAA,CAAe,CAAC,CAAC,CAAA;AAC5D,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,CAAK,EAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AACzB,MAAA,IAAA,CAAK,IAAK,CAAA,IAAA,CAAK,aAAc,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA;AAAA;AAE1C,IAAO,OAAA,IAAA;AAAA;AACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,eAAe,KAAuB,EAAA;AAC1C,IAAI,IAAA,CAAC,OAAc,OAAA,KAAA;AAGnB,IAAA,IAAI,CAAC,IAAA,CAAK,aAAc,CAAA,KAAK,GAAU,OAAA,KAAA;AAEvC,IAAA,IAAI,KAAK,SAAW,EAAA;AAEhB,MAAA,OAAO,CAAI,CAAA,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,EAAM,KAAK,CAAC,CAAA,CAAA,CAAA;AAAA,KAClC,MAAA;AAGH,MAAA,OAAO,CAAI,CAAA,EAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,EAAM,OAAO,CAAC,CAAA,CAAA,CAAA;AAAA;AAC3C;AACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,cAAc,KAAwB,EAAA;AAC1C,IAAA,MAAM,oBAAuB,GAAA,oBAAA;AAC7B,IAAA,MAAM,iBAAoB,GAAA,uBAAA;AAC1B,IAAA,IAAI,KAAK,SAAW,EAAA;AAChB,MAAO,OAAA,oBAAA,CAAqB,KAAK,KAAK,CAAA;AAAA;AAE1C,IAAO,OAAA,iBAAA,CAAkB,KAAK,KAAK,CAAA;AAAA;AACvC;AAAA;AAAA;AAAA,EAKA,KAAkB,GAAA;AACd,IAAO,OAAA,CAAC,GAAG,IAAA,CAAK,IAAI,CAAA;AAAA;AACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,oBAAoB,SAA6B,EAAA;AACpD,IAAA,MAAM,OAAiB,EAAC;AAExB,IAAA,IAAI,QAAW,GAAA,KAAA;AACf,IAAA,IAAI,OAAU,GAAA,KAAA;AACd,IAAA,IAAI,gBAAmB,GAAA,IAAA;AACvB,IAAA,IAAI,GAAM,GAAA,EAAA;AAEV,IAAM,MAAA,MAAA,GAAS,CAAC,CAAoB,KAAA;AAEhC,MAAA,IAAI,OAAW,IAAA,CAAA,KAAM,GAAO,IAAA,CAAA,KAAM,IAAM,EAAA;AACpC,QAAO,GAAA,IAAA,IAAA;AAAA;AAGX,MAAO,GAAA,IAAA,CAAA;AACP,MAAU,OAAA,GAAA,KAAA;AAAA,KACd;AAEA,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,SAAA,CAAU,QAAQ,CAAK,EAAA,EAAA;AACvC,MAAM,MAAA,CAAA,GAAI,SAAU,CAAA,MAAA,CAAO,CAAC,CAAA;AAE5B,MAAI,IAAA,CAAA,KAAM,GAAO,IAAA,CAAC,QAAU,EAAA;AACxB,QAAA,IAAI,CAAC,gBAAkB,EAAA;AACnB,UAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AACb,UAAM,GAAA,GAAA,EAAA;AAAA;AAEV,QAAmB,gBAAA,GAAA,IAAA;AACnB,QAAA;AAAA,OACG,MAAA;AACH,QAAmB,gBAAA,GAAA,KAAA;AAAA;AAGvB,MAAA,IAAI,MAAM,GAAK,EAAA;AACX,QAAA,IAAI,CAAC,OAAS,EAAA;AACV,UAAA,QAAA,GAAW,CAAC,QAAA;AAAA,SACT,MAAA;AACH,UAAA,MAAA,CAAO,CAAC,CAAA;AAAA;AAEZ,QAAA;AAAA;AAGJ,MAAI,IAAA,CAAA,KAAM,QAAQ,OAAS,EAAA;AAEvB,QAAO,GAAA,IAAA,IAAA;AACP,QAAU,OAAA,GAAA,KAAA;AACV,QAAA;AAAA;AAGJ,MAAI,IAAA,CAAA,KAAM,QAAQ,QAAU,EAAA;AACxB,QAAU,OAAA,GAAA,IAAA;AACV,QAAA;AAAA;AAGJ,MAAA,MAAA,CAAO,CAAC,CAAA;AACR,MAAmB,gBAAA,GAAA,KAAA;AAAA;AAGvB,IAAA,IAAI,CAAC,gBAAkB,EAAA;AACnB,MAAK,IAAA,CAAA,IAAA,CAAK,GAAI,CAAA,IAAA,EAAM,CAAA;AAAA;AAGxB,IAAO,OAAA,IAAA;AAAA;AAEf;;ACzKO,MAAe,UAAkC,CAAA;AAAA,EAGpD,YAAsB,UAAyB,EAAA;AAAzB,IAAA,IAAA,CAAA,UAAA,GAAA,UAAA;AAAA;AAA0B,EAFhD,OAAwB,SAAoB,GAAA,0CAAA;AAAA,EAc5C,gBAAyB,GAAA;AACrB,IAAK,IAAA,CAAA,UAAA,CAAW,KAAK,mBAAmB,CAAA;AACxC,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,6BAAA,EAA+B,MAAM,CAAA;AACjE,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,eAAA,EAAiB,MAAM,CAAA;AAAA;AACvD,EAEA,MAAM,OAA2B,GAAA;AAC7B,IAAA,MAAM,gBAAgB,MAAM,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,UAAU,IAAI,CAAA;AAChE,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAc,WAAA,EAAA,aAAa,CAAE,CAAA,CAAA;AACnD,IAAA,MAAM,KAAK,aAAc,EAAA;AAEzB,IAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,gBAAA,CAAiB,gBAAiB,EAAA;AAE7D,IAAA,IAAI,UAAyBA,mBAAO,CAAM,aAAc,CAAA,WAAW,KAAK,aAAc,CAAA,WAAA;AACtF,IAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AACjD,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,CAAA,UAAA,EAAa,KAAK,WAAW,CAAA,mBAAA,EAAsB,OAAO,CAAE,CAAA,CAAA;AACjF,IAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AAEjD,IAAA,IAAI,CAAC,IAAA,CAAK,iBAAkB,CAAA,OAAO,CAAG,EAAA;AAClC,MAAA,OAAA,GAAU,MAAM,IAAK,CAAA,gBAAA,CAAiB,KAAK,WAAa,EAAA,OAAA,EAAS,cAAc,iBAAiB,CAAA;AAChG,MAAA,IAAI,CAAC,OAAS,EAAA;AACV,QAAA,MAAM,IAAI,KAAM,CAAA,CAAA,eAAA,EAAkB,KAAK,WAAW,CAAA,UAAA,EAAa,OAAO,CAAI,EAAA,CAAA,CAAA;AAAA;AAC9E;AAGJ,IAAA,IAAI,IAAK,CAAA,YAAA,IAAgB,CAACC,uBAAiB,CAAA,OAAA,EAAS,IAAK,CAAA,YAAA,EAAc,EAAE,iBAAA,EAAmB,aAAc,CAAA,iBAAA,EAAmB,CAAG,EAAA;AAC5H,MAAA,MAAM,IAAI,KAAA;AAAA,QACN,iBAAiB,aAAc,CAAA,WAAW,kBAAkB,OAAO,CAAA,8BAAA,EAAiC,KAAK,YAAY,CAAA,0FAAA;AAAA,OAEzH;AAAA;AAGJ,IAAA,IAAI,QAA0B,GAAA,IAAA;AAC9B,IAAI,IAAA,CAAC,cAAc,mBAAqB,EAAA;AAEpC,MAAA,QAAA,GAAW,MAAM,IAAK,CAAA,UAAA,CAAW,aAAc,CAAA,IAAA,CAAK,aAAa,OAAO,CAAA;AACxE,MAAA,IAAI,QAAU,EAAA;AACV,QAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AACjD,QAAK,IAAA,CAAA,UAAA,CAAW,KAAK,CAAG,EAAA,IAAA,CAAK,WAAW,CAAa,UAAA,EAAA,OAAO,CAA4B,yBAAA,EAAA,QAAQ,CAAG,CAAA,CAAA,CAAA;AACnG,QAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AAAA;AACrD;AAGJ,IAAA,IAAI,CAAC,QAAU,EAAA;AAEX,MAAA,QAAA,GAAW,MAAM,IAAK,CAAA,WAAA,CAAY,KAAK,WAAa,EAAA,OAAA,EAAS,cAAc,mBAAmB,CAAA;AAC9F,MAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AACjD,MAAA,IAAA,CAAK,WAAW,IAAK,CAAA,CAAA,EAAG,KAAK,WAAW,CAAA,UAAA,EAAa,OAAO,CAAa,WAAA,CAAA,CAAA;AACzE,MAAK,IAAA,CAAA,UAAA,CAAW,KAAK,4BAA4B,CAAA;AAAA;AAKrD,IAAA,IAAA,CAAK,UAAW,CAAA,IAAA,CAAK,CAAc,WAAA,EAAA,QAAQ,CAAU,QAAA,CAAA,CAAA;AACrD,IAAK,IAAA,CAAA,UAAA,CAAW,QAAQ,QAAQ,CAAA;AAEhC,IAAA,MAAM,eAAe,IAAK,CAAA,gBAAA;AAC1B,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,CAAA,IAAA,EAAO,YAAY,CAAA,IAAA,EAAO,QAAQ,CAAE,CAAA,CAAA;AACzD,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,YAAA,EAAc,QAAQ,CAAA;AAClD,IAAA,IAAA,CAAK,WAAW,YAAa,CAAA,CAAA,EAAG,IAAK,CAAA,QAAQ,2BAA2B,IAAI,CAAA;AAE5E,IAAO,OAAA,QAAA;AAAA;AACX,EAEA,MAAgB,OAAQ,CAAA,GAAA,EAAa,IAAqC,EAAA;AACtE,IAAK,IAAA,CAAA,UAAA,CAAW,KAAK,CAAY,SAAA,EAAA,GAAG,IAAI,IAAK,CAAA,IAAA,CAAK,GAAG,CAAC,CAAE,CAAA,CAAA;AACxD,IAAA,OAAO,MAAM,IAAA,CAAK,UAAW,CAAA,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA;AAC/C,EAEA,MAAgB,mBAAmB,YAA8C,EAAA;AAC7E,IAAM,MAAA,QAAA,GAAW,GAAG,QAAS,EAAA,KAAM,UAAU,CAAG,EAAA,IAAA,CAAK,QAAQ,CAAA,IAAA,CAAA,GAAS,IAAK,CAAA,QAAA;AAG3E,IAAA,MAAM,QAAW,GAAA,IAAA,CAAK,IAAK,CAAA,YAAA,EAAc,QAAQ,CAAA;AACjD,IAAA,IAAI,MAAM,IAAA,CAAK,UAAW,CAAA,UAAA,CAAW,QAAQ,CAAG,EAAA;AAC5C,MAAO,OAAA,QAAA;AAAA;AAIX,IAAM,MAAA,IAAA,GAAO,GAAG,IAAK,EAAA;AACrB,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAgC,6BAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAG5D,IAAA,MAAM,YAAY,EAAC;AAGnB,IAAA,IAAI,SAAS,KAAO,EAAA;AAChB,MAAA,SAAA,CAAU,KAAK,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,KAAA,EAAO,QAAQ,CAAC,CAAA;AAAA,KAC3D,MAAA,IAAW,SAAS,OAAS,EAAA;AACzB,MAAA,SAAA,CAAU,KAAK,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA;AAI7D,IAAA,IAAI,EAAG,CAAA,QAAA,EAAe,KAAA,QAAA,IAAY,SAAS,OAAS,EAAA;AAChD,MAAA,SAAA,CAAU,KAAK,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,WAAA,EAAa,QAAQ,CAAC,CAAA;AAAA,eACtD,EAAG,CAAA,QAAA,EAAe,KAAA,QAAA,IAAY,SAAS,KAAO,EAAA;AACrD,MAAA,SAAA,CAAU,KAAK,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,SAAA,EAAW,QAAQ,CAAC,CAAA;AAAA;AAI/D,IAAA,KAAA,MAAW,YAAY,SAAW,EAAA;AAC9B,MAAA,IAAI,MAAM,IAAA,CAAK,UAAW,CAAA,UAAA,CAAW,QAAQ,CAAG,EAAA;AAC5C,QAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAkD,+CAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAClF,QAAO,OAAA,QAAA;AAAA;AACX;AAIJ,IAAI,IAAA;AACA,MAAM,MAAA,OAAA,GAAU,MAAM,EAAG,CAAA,OAAA,CAAQ,cAAc,EAAE,aAAA,EAAe,MAAM,CAAA;AACtE,MAAA,KAAA,MAAW,SAAS,OAAS,EAAA;AACzB,QAAI,IAAA,KAAA,CAAM,aAAe,EAAA;AACrB,UAAA,MAAM,aAAa,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,KAAA,CAAM,MAAM,QAAQ,CAAA;AAC/D,UAAA,IAAI,MAAM,IAAA,CAAK,UAAW,CAAA,UAAA,CAAW,UAAU,CAAG,EAAA;AAC9C,YAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAA+B,4BAAA,EAAA,KAAA,CAAM,IAAI,CAAE,CAAA,CAAA;AACjE,YAAO,OAAA,UAAA;AAAA;AACX;AACJ;AACJ,aACK,KAAO,EAAA;AACZ,MAAA,IAAI,iBAAiB,KAAO,EAAA;AACxB,QAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAiC,8BAAA,EAAA,KAAA,CAAM,OAAO,CAAE,CAAA,CAAA;AAAA;AAC1E;AAGJ,IAAO,OAAA,IAAA;AAAA;AACX,EAEA,MAAgB,aAA+B,GAAA;AAC3C,IAAI,IAAA,EAAA,CAAG,UAAe,KAAA,OAAA,IAAW,CAAC,IAAK,CAAA,UAAA,CAAW,WAAY,CAAA,aAAa,CAAG,EAAA;AAC1E,MAAA,IAAI,aAAa,MAAM,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,UAAU,IAAI,CAAA;AAE3D,MAAA,MAAM,KAAQ,GAAA,MAAM,EAAG,CAAA,KAAA,CAAM,UAAU,CAAA;AACvC,MAAI,IAAA,KAAA,CAAM,gBAAkB,EAAA;AACxB,QAAA,UAAA,GAAc,MAAM,EAAA,CAAG,QAAS,CAAA,UAAU,CAAM,IAAA,UAAA;AAAA;AAEpD,MAAM,MAAA,UAAA,GAAa,IAAK,CAAA,OAAA,CAAQ,UAAU,CAAA;AAC1C,MAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,aAAA,EAAe,UAAU,CAAA;AAAA;AACzD;AACJ,EAEA,MAAgB,YAAY,IAAqC,EAAA;AAE7D,IAAA,MAAM,YAAe,GAAA,IAAA,CAAK,UAAW,CAAA,iBAAA,CAAkB,KAAK,gBAAgB,CAAA;AAC5E,IAAI,IAAA,QAAA;AAEJ,IAAA,IAAI,YAAc,EAAA;AAEd,MAAA,MAAM,eAAkB,GAAA,MAAM,IAAK,CAAA,kBAAA,CAAmB,YAAY,CAAA;AAClE,MAAA,IAAI,eAAiB,EAAA;AACjB,QAAW,QAAA,GAAA,eAAA;AACX,QAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAA6B,0BAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA,OAC1D,MAAA;AAEH,QAAA,QAAA,GAAW,IAAK,CAAA,IAAA,CAAK,YAAc,EAAA,EAAA,CAAG,QAAS,EAAA,KAAM,OAAU,GAAA,CAAA,EAAG,IAAK,CAAA,QAAQ,CAAS,IAAA,CAAA,GAAA,IAAA,CAAK,QAAQ,CAAA;AACrG,QAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAqC,kCAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA;AACzE;AAIJ,IAAA,IAAI,CAAC,QAAU,EAAA;AACX,MAAA,QAAA,GAAW,MAAM,IAAK,CAAA,UAAA,CAAW,KAAM,CAAA,IAAA,CAAK,UAAU,IAAI,CAAA;AAAA;AAG9D,IAAO,IAAA,GAAA,CAAC,sBAAwB,EAAA,GAAG,IAAI,CAAA;AACvC,IAAA,OAAO,MAAM,IAAA,CAAK,OAAQ,CAAA,QAAA,EAAU,IAAI,CAAA;AAAA;AAC5C,EAEA,MAAgB,gBAAiB,CAAA,KAAA,EAAe,IAAgC,EAAA;AAC5E,IAAO,OAAA,IAAA,CAAK,iBAAiB,KAAK,CAAA,IAAM,MAAM,IAAK,CAAA,UAAA,CAAW,WAAW,IAAI,CAAA;AAAA;AACjF,EAEU,iBAAiB,IAAuB,EAAA;AAC9C,IAAM,MAAA,SAAA,GAAY,KAAK,OAAQ,CAAA,IAAA,CAAK,WAAW,QAAS,CAAA,IAAI,KAAK,EAAE,CAAA;AACnE,IAAM,MAAA,QAAA,GAAW,KAAK,UAAW,CAAA,SAAA;AACjC,IAAA,OAAO,SAAc,KAAA,QAAA;AAAA;AACzB,EAEA,MAAgB,YAAY,UAAqC,EAAA;AAC7D,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,UAAA,CAAW,SAAa,IAAA,GAAA;AAC5C,IAAI,IAAA,OAAA;AACJ,IAAA,IAAI,CAAC,UAAY,EAAA;AACb,MAAU,OAAA,GAAA,MAAA;AAAA,KACP,MAAA;AACH,MAAA,IAAI,CAAC,IAAA,CAAK,UAAW,CAAA,UAAU,CAAG,EAAA;AAC9B,QAAa,UAAA,GAAA,IAAA,CAAK,QAAQ,UAAU,CAAA;AAAA;AAExC,MAAA,IAAI,MAAM,IAAA,CAAK,UAAW,CAAA,eAAA,CAAgB,UAAU,CAAG,EAAA;AACnD,QAAU,OAAA,GAAA,UAAA;AAAA,OACP,MAAA;AACH,QAAA,MAAM,IAAI,KAAA,CAAM,CAA0B,uBAAA,EAAA,UAAU,CAAE,CAAA,CAAA;AAAA;AAC1D;AAEJ,IAAO,OAAA,IAAA,CAAK,UAAU,OAAO,CAAA;AAAA;AACjC,EAEA,MAAc,gBAAA,CAAiB,QAAkB,EAAA,WAAA,EAAqB,iBAAoD,EAAA;AACtH,IAAA,IAAA,CAAK,UAAW,CAAA,IAAA;AAAA,MACZ,CAAA,2BAAA,EAA8B,QAAQ,CAAA,EAAG,WAAc,GAAA,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,EAAI,iBAAoB,GAAA,wBAAA,GAA2B,EAAE,CAAA;AAAA,KACtI;AAEA,IAAA,MAAM,aAAgB,GAAA,kBAAA,CAAmB,QAAS,CAAA,WAAA,EAAa,CAAA;AAC/D,IAAM,MAAA,eAAA,GAAkB,oBAAoB,MAAS,GAAA,OAAA;AACrD,IAAA,MAAM,eAAe,CAAG,EAAA,UAAA,CAAW,SAAS,CAAM,GAAA,EAAA,aAAa,eAAe,eAAe,CAAA,yBAAA,CAAA;AAE7F,IAAM,MAAA,QAAA,GAAW,MAAM,KAAA,CAAM,YAAY,CAAA;AAEzC,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,CAAS,EAAI,EAAA;AAC3B,MAAK,IAAA,CAAA,UAAA,CAAW,IAAK,CAAA,CAAA,mCAAA,EAAsC,QAAQ,CAAA,MAAA,EAAS,YAAY,CAAA,eAAA,EAAkB,QAAW,GAAA,QAAA,CAAS,MAAS,GAAA,SAAS,CAAE,CAAA,CAAA;AAClJ,MAAO,OAAA,IAAA;AAAA;AAGX,IAAA,MAAM,EAAE,IAAA,EAAU,GAAA,MAAM,SAAS,IAAK,EAAA;AAEtC,IAAM,MAAA,QAAA,GAAW,KAAK,CAAC,CAAA,CAAE,SAAS,GAAI,CAAA,CAAA,CAAA,KAAK,EAAE,OAAO,CAAA;AACpD,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,CAAS,MAAQ,EAAA;AAC/B,MAAO,OAAA,IAAA;AAAA;AAGX,IAAA,IAAA,CAAK,WAAW,KAAM,CAAA,CAAA,cAAA,EAAiB,SAAS,IAAK,CAAA,IAAI,CAAC,CAAE,CAAA,CAAA;AAE5D,IAAA,MAAM,UAAUC,2BAAO,CAAc,UAAU,WAAa,EAAA,EAAE,mBAAmB,CAAA;AACjF,IAAA,IAAI,OAAS,EAAA;AACT,MAAA,IAAA,CAAK,UAAW,CAAA,IAAA,CAAK,CAA2B,wBAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA,KACtD,MAAA;AACH,MAAK,IAAA,CAAA,UAAA,CAAW,KAAK,iBAAiB,CAAA;AAAA;AAG1C,IAAO,OAAA,OAAA;AAAA;AACX,EAEA,MAAc,WAAA,CAAY,QAAkB,EAAA,OAAA,EAAiB,mBAA+C,EAAA;AACxG,IAAM,MAAA,aAAA,GAAgBF,mBAAO,CAAM,OAAO,CAAA;AAC1C,IAAA,IAAI,CAAC,aAAe,EAAA;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA;AAGtD,IAAM,MAAA,aAAA,GAAgB,MAAM,IAAA,CAAK,mBAAoB,EAAA;AAErD,IAAA,IAAI,CAAC,aAAe,EAAA;AAChB,MAAM,MAAA,IAAI,MAAM,iCAAiC,CAAA;AAAA;AAGrD,IAAA,MAAM,UAAU,IAAI,gBAAA,GACf,WAAY,CAAA,MAAM,EAClB,WAAY,CAAA,SAAS,EACrB,WAAY,CAAA,QAAQ,EACpB,WAAY,CAAA,WAAA,EAAa,aAAa,CACtC,CAAA,WAAA,CAAY,WAAW,aAAa,CAAA;AAEzC,IAAA,IAAI,mBAAqB,EAAA;AACrB,MAAA,OAAA,CAAQ,QAAQ,uBAAuB,CAAA;AAAA;AAG3C,IAAA,MAAM,SAAS,MAAM,IAAA,CAAK,QAAQ,QAAU,EAAA,OAAA,CAAQ,OAAO,CAAA;AAC3D,IAAA,MAAM,MAAS,GAAA,MAAA,CAAO,IAAS,KAAA,CAAA,GAAI,SAAY,GAAA,SAAA;AAC/C,IAAA,MAAM,UAAU,MAAO,CAAA,IAAA,KAAS,CAAI,GAAA,MAAA,CAAO,SAAS,MAAO,CAAA,MAAA;AAE3D,IAAA,IAAA,CAAK,WAAW,KAAM,CAAA,CAAA,qBAAA,EAAwB,MAAM,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,CAAA;AAEjE,IAAI,IAAA,MAAA,CAAO,SAAS,CAAG,EAAA;AACnB,MAAM,MAAA,IAAI,MAAM,OAAO,CAAA;AAAA;AAG3B,IAAA,MAAM,WAAW,MAAM,IAAA,CAAK,WAAW,kBAAmB,CAAA,aAAA,EAAe,UAAU,aAAa,CAAA;AAChG,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAqB,kBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AACrD,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAA+B,4BAAA,EAAA,aAAa,CAAE,CAAA,CAAA;AACpE,IAAM,MAAA,IAAA,CAAK,UAAW,CAAA,eAAA,CAAgB,aAAa,CAAA;AAEnD,IAAO,OAAA,QAAA;AAAA;AACX,EAEA,MAAM,mBAAuC,GAAA;AACzC,IAAM,MAAA,WAAA,GAAc,KAAK,UAAW,CAAA,OAAA;AACpC,IAAA,IAAI,CAAC,WAAa,EAAA;AACd,MAAM,MAAA,IAAI,MAAM,wBAAwB,CAAA;AAAA;AAG5C,IAAM,MAAA,IAAA,GAAO,OAAO,UAAW,EAAA;AAC/B,IAAA,MAAM,QAAW,GAAA,IAAA,CAAK,IAAK,CAAA,WAAA,EAAa,IAAI,CAAA;AAC5C,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAA2B,wBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAC3D,IAAA,MAAM,GAAG,KAAM,CAAA,QAAA,EAAU,EAAE,SAAA,EAAW,MAAM,CAAA;AAC5C,IAAO,OAAA,QAAA;AAAA;AACX,EAEQ,kBAAkB,WAA8B,EAAA;AACpD,IAAM,MAAA,kBAAA,GAAqBA,mBAAO,CAAM,WAAW,CAAA;AACnD,IAAA,MAAM,KAAQ,GAAAG,mBAAa,CAAA,kBAAkB,CAAK,IAAA,IAAA;AAClD,IAAA,IAAA,CAAK,UAAW,CAAA,KAAA,CAAM,CAAwB,qBAAA,EAAA,KAAK,CAAE,CAAA,CAAA;AAErD,IAAO,OAAA,KAAA;AAAA;AAEf;;AC/TO,MAAM,gBAA8C,CAAA;AAAA,EACvD,YAAsB,UAAyB,EAAA;AAAzB,IAAA,IAAA,CAAA,UAAA,GAAA,UAAA;AAAA;AAA0B,EAEhD,gBAAkC,GAAA;AAC9B,IAAA,MAAM,WAAc,GAAA,IAAA,CAAK,UAAW,CAAA,QAAA,CAAwB,aAAa,CAAA;AACzE,IAAA,MAAM,iBAAoB,GAAA,IAAA,CAAK,UAAW,CAAA,eAAA,CAA+B,mBAAmB,CAAA;AAC5F,IAAA,MAAM,mBAAsB,GAAA,IAAA,CAAK,UAAW,CAAA,eAAA,CAA+B,qBAAqB,CAAA;AAChG,IAAA,MAAM,mBAAsB,GAAA,IAAA,CAAK,UAAW,CAAA,eAAA,CAA+B,qBAAqB,CAAA;AAEhG,IAAO,OAAA;AAAA,MACH,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,mBAAA;AAAA,MACA;AAAA,KACJ;AAAA;AAER;;AClBO,MAAM,SAAS,MAAO,CAAA;;ACDtB,MAAe,UAA8B,CAAA;AAAA,EAKtC,YAA+B,UAAyB,EAAA;AAAzB,IAAA,IAAA,CAAA,UAAA,GAAA,UAAA;AAAA;AAA0B,EAEzD,gBAAyB,GAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,IAAK,CAAA,CAAA,aAAA,EAAgB,IAAK,CAAA,UAAA,CAAW,SAAS,CAAG,CAAA,CAAA,CAAA;AACjE,IAAK,IAAA,CAAA,UAAA,CAAW,MAAM,qBAAqB,CAAA;AAC3C,IAAA,IAAA,CAAK,KAAK,gBAAiB,EAAA;AAAA;AAC/B,EAEA,MAAgB,WAAY,CAAA,MAAA,EAAmC,cAA6C,EAAA;AACxG,IAAI,IAAA;AACA,MAAA,IAAA,CAAK,gBAAiB,EAAA;AACtB,MAAM,MAAA,MAAA,GAAS,MAAM,MAAO,EAAA;AAE5B,MAAA,IAAA,CAAK,WAAW,IAAK,CAAA,CAAA,EAAG,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAU,QAAA,CAAA,CAAA;AACpD,MAAK,IAAA,CAAA,UAAA,CAAW,KAAK,qBAAqB,CAAA;AAC1C,MAAK,IAAA,CAAA,UAAA,CAAW,IAAK,CAAA,MAAA,CAAO,MAAgB,CAAA;AAC5C,MAAK,IAAA,CAAA,UAAA,CAAW,KAAK,qBAAqB,CAAA;AAC1C,MAAI,IAAA,MAAA,CAAO,SAAS,CAAG,EAAA;AACnB,QAAA,IAAA,CAAK,WAAW,KAAM,CAAA,CAAA,EAAG,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAY,UAAA,CAAA,CAAA;AACvD,QAAK,IAAA,CAAA,UAAA,CAAW,YAAa,CAAA,cAAA,EAAgB,IAAI,CAAA;AACjD,QAAO,OAAA,MAAA;AAAA,OACJ,MAAA;AACH,QAAA,IAAA,CAAK,WAAW,KAAM,CAAA,CAAA,EAAG,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAS,OAAA,CAAA,CAAA;AACpD,QAAK,IAAA,CAAA,UAAA,CAAW,KAAM,CAAA,MAAA,CAAO,MAAgB,CAAA;AAC7C,QAAA,IAAA,CAAK,UAAW,CAAA,SAAA,CAAU,MAAO,CAAA,MAAA,EAAkB,IAAI,CAAA;AACvD,QAAO,OAAA,MAAA;AAAA;AACX,aACK,KAAO,EAAA;AACZ,MAAA,IAAI,iBAAiB,KAAO,EAAA;AACxB,QAAA,IAAA,CAAK,WAAW,KAAM,CAAA,CAAA,EAAG,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAS,OAAA,CAAA,CAAA;AACpD,QAAK,IAAA,CAAA,UAAA,CAAW,KAAM,CAAA,KAAA,CAAM,OAAO,CAAA;AACnC,QAAA,IAAA,CAAK,UAAW,CAAA,SAAA,CAAU,KAAM,CAAA,OAAA,EAAS,IAAI,CAAA;AAAA;AAEjD,MAAO,OAAA;AAAA,QACH,IAAM,EAAA,EAAA;AAAA,QACN;AAAA,OACJ;AAAA;AACJ;AAER;;;;"} \ No newline at end of file diff --git a/src/__tests__/tools/common/dotnet-tool.spec.ts b/src/__tests__/tools/common/dotnet-tool.spec.ts index aa6e8b0ee..93b1e1508 100644 --- a/src/__tests__/tools/common/dotnet-tool.spec.ts +++ b/src/__tests__/tools/common/dotnet-tool.spec.ts @@ -2,6 +2,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' import * as os from 'node:os' import * as path from 'node:path' import * as fs from 'node:fs/promises' +import * as process from 'node:process' import { DotnetTool, ISettingsProvider } from '@tools/common' import { IBuildAgent } from '@agents/common' import { Dirent } from 'node:fs' @@ -24,6 +25,10 @@ class TestDotnetTool extends DotnetTool { return 'TEST_TOOL_PATH' } + async getRepoPath(targetPath: string): Promise { + return super.getRepoPath(targetPath) + } + get versionRange(): string | null { return null } @@ -242,4 +247,61 @@ describe('DotnetTool', () => { expect(mockSetVariable).toHaveBeenCalledWith('DOTNET_NOLOGO', 'true') }) }) + + describe('getRepoDir', () => { + it('should return correct repo dir for empty target path, takes build agent sourceDir', async () => { + const buildAgent = { + sourceDir: '/workdir' + } as IBuildAgent + tool = new TestDotnetTool(buildAgent) + const repoDir = await tool.getRepoPath('') + expect(repoDir).toBe(path.normalize('/workdir')) + }) + + it('should return correct repo dir for empty target path, takes default', async () => { + const buildAgent = { + sourceDir: '' + } as IBuildAgent + tool = new TestDotnetTool(buildAgent) + const repoDir = await tool.getRepoPath('') + expect(repoDir).toBe('.') + }) + + it('should return correct repo dir for existing absolute target path', async () => { + const buildAgent = { + async directoryExists(_file: string): Promise { + return Promise.resolve(true) + } + } as IBuildAgent + tool = new TestDotnetTool(buildAgent) + const repoDir = await tool.getRepoPath('/targetDir') + expect(repoDir).toBe(path.normalize('/targetDir')) + }) + + it('should return correct repo dir for existing relative target path', async () => { + const targetPath = 'targetDir' + const buildAgent = { + async directoryExists(_file: string): Promise { + return Promise.resolve(true) + } + } as IBuildAgent + tool = new TestDotnetTool(buildAgent) + const repoDir = await tool.getRepoPath(targetPath) + const resolvedPath = path.join(process.cwd(), 'targetDir') + expect(repoDir).toBe(resolvedPath) + }) + + it('should throw error for non-existing target path', async () => { + const wrongDir = 'wrongdir' + const buildAgent = { + async directoryExists(_file: string): Promise { + return Promise.resolve(false) + } + } as IBuildAgent + tool = new TestDotnetTool(buildAgent) + + const resolvedPath = path.join(process.cwd(), wrongDir) + await expect(tool.getRepoPath(wrongDir)).rejects.toThrowError(`Directory not found at ${resolvedPath}`) + }) + }) }) diff --git a/src/__tests__/tools/gitreleasemanager/tool.spec.ts b/src/__tests__/tools/gitreleasemanager/tool.spec.ts index 2f784570b..5ba502a09 100644 --- a/src/__tests__/tools/gitreleasemanager/tool.spec.ts +++ b/src/__tests__/tools/gitreleasemanager/tool.spec.ts @@ -79,64 +79,12 @@ describe('GitReleaseManagerTool', () => { expect(tool.settingsProvider).toBeDefined() }) - describe('getRepoDir', () => { - it('should return correct repo dir for empty target path, takes build agent sourceDir', async () => { - const buildAgent = { - sourceDir: 'workdir' - } as IBuildAgent - tool = new TestGitReleaseManagerTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetDirectory: '' - } as CommonSettings) - expect(repoDir).toBe('workdir') - }) - - it('should return correct repo dir for empty target path, takes default', async () => { - const buildAgent = { - sourceDir: '' - } as IBuildAgent - tool = new TestGitReleaseManagerTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetDirectory: '' - } as CommonSettings) - expect(repoDir).toBe('.') - }) - - it('should return correct repo dir for existing target path', async () => { - const buildAgent = { - async directoryExists(_file: string): Promise { - return Promise.resolve(true) - } - } as IBuildAgent - tool = new TestGitReleaseManagerTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetDirectory: 'targetDir' - } as CommonSettings) - expect(repoDir).toBe('targetDir') - }) - - it('should throw error for non-existing target path', async () => { - const wrongDir = 'wrongdir' - const buildAgent = { - async directoryExists(_file: string): Promise { - return Promise.resolve(false) - } - } as IBuildAgent - tool = new TestGitReleaseManagerTool(buildAgent) - await expect( - tool.getRepoDir({ - targetDirectory: wrongDir - } as CommonSettings) - ).rejects.toThrowError(`Directory not found at ${wrongDir}`) - }) - }) - describe('getArguments', () => { const commonSettings = { owner: 'owner', repository: 'repo', token: 'token', - targetDirectory: 'targetDirectory', + targetDirectory: '/targetDirectory', logFilePath: './logFilePath' } as CommonSettings @@ -171,28 +119,11 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath' ]) }) - - it('should throw error for non-existing target path', async () => { - tool = new TestGitReleaseManagerTool({ - async directoryExists(_file: string): Promise { - return Promise.resolve(false) - } - } as IBuildAgent) - - const wrongDir = 'wrongdir' - - await expect( - tool.getCommonArguments({ - ...commonSettings, - targetDirectory: wrongDir - } as CommonSettings) - ).rejects.toThrowError(`Directory not found at ${wrongDir}`) - }) }) describe('getCreateArguments', () => { @@ -217,7 +148,7 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './createLogFilePath', '--milestone', @@ -230,7 +161,7 @@ describe('GitReleaseManagerTool', () => { 'inputFilePath', '--pre', '--assets', - `${path.join('targetDirectory', 'asset1')},${path.join('targetDirectory', 'asset2')}` + `${path.join('/targetDirectory', 'asset1')},${path.join('/targetDirectory', 'asset2')}` ]) }) }) @@ -251,7 +182,7 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath', '--milestone', @@ -276,7 +207,7 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath', '--milestone', @@ -301,7 +232,7 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath', '--milestone', @@ -326,7 +257,7 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath', '--tagName', @@ -352,13 +283,13 @@ describe('GitReleaseManagerTool', () => { '--token', 'token', '--targetDirectory', - 'targetDirectory', + path.normalize('/targetDirectory'), '--logFilePath', './logFilePath', '--tagName', 'milestone', '--assets', - `${path.join('targetDirectory', 'asset1')},${path.join('targetDirectory', 'asset2')}` + `${path.join('/targetDirectory', 'asset1')},${path.join('/targetDirectory', 'asset2')}` ]) }) }) diff --git a/src/__tests__/tools/gitversion/runner.spec.ts b/src/__tests__/tools/gitversion/runner.spec.ts index 1a99507c7..fbee6635c 100644 --- a/src/__tests__/tools/gitversion/runner.spec.ts +++ b/src/__tests__/tools/gitversion/runner.spec.ts @@ -84,7 +84,7 @@ describe('GitVersion Runner', () => { expect(getEnv('patch')).toBeDefined() }) - it.sequential('should output Major variable', async () => { + it.sequential('should output Sha variable', async () => { setEnv(toolPathVariable, toolPath) setInputs({ diff --git a/src/__tests__/tools/gitversion/tool.spec.ts b/src/__tests__/tools/gitversion/tool.spec.ts index f783504b0..fac4a0b1f 100644 --- a/src/__tests__/tools/gitversion/tool.spec.ts +++ b/src/__tests__/tools/gitversion/tool.spec.ts @@ -112,58 +112,6 @@ describe('GitVersionTool', () => { }) }) - describe('getRepoDir', () => { - it('should return correct repo dir for empty target path, takes build agent sourceDir', async () => { - const buildAgent = { - sourceDir: 'workdir' - } as IBuildAgent - tool = new TestGitVersionTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetPath: '' - } as ExecuteSettings | CommandSettings) - expect(repoDir).toBe('workdir') - }) - - it('should return correct repo dir for empty target path, takes default', async () => { - const buildAgent = { - sourceDir: '' - } as IBuildAgent - tool = new TestGitVersionTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetPath: '' - } as ExecuteSettings | CommandSettings) - expect(repoDir).toBe('.') - }) - - it('should return correct repo dir for existing target path', async () => { - const buildAgent = { - async directoryExists(_file: string): Promise { - return Promise.resolve(true) - } - } as IBuildAgent - tool = new TestGitVersionTool(buildAgent) - const repoDir = await tool.getRepoDir({ - targetPath: 'targetDir' - } as ExecuteSettings | CommandSettings) - expect(repoDir).toBe('targetDir') - }) - - it('should throw error for non-existing target path', async () => { - const wrongDir = 'wrongdir' - const buildAgent = { - async directoryExists(_file: string): Promise { - return Promise.resolve(false) - } - } as IBuildAgent - tool = new TestGitVersionTool(buildAgent) - await expect( - tool.getRepoDir({ - targetPath: wrongDir - } as ExecuteSettings | CommandSettings) - ).rejects.toThrowError(`Directory not found at ${wrongDir}`) - }) - }) - describe('getExecuteArguments', () => { it('should return correct arguments for empty settings', async () => { const args = await tool.getExecuteArguments('workdir', {} as ExecuteSettings) diff --git a/src/tools/common/dotnet-tool.ts b/src/tools/common/dotnet-tool.ts index 7697e9f17..d4439c5f1 100644 --- a/src/tools/common/dotnet-tool.ts +++ b/src/tools/common/dotnet-tool.ts @@ -216,13 +216,16 @@ export abstract class DotnetTool implements IDotnetTool { if (!targetPath) { workDir = srcDir } else { + if (!path.isAbsolute(targetPath)) { + targetPath = path.resolve(targetPath) + } if (await this.buildAgent.directoryExists(targetPath)) { workDir = targetPath } else { throw new Error(`Directory not found at ${targetPath}`) } } - return workDir.replace(/\\/g, '/') + return path.normalize(workDir) } private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise { From bc71fab8367c7ec5a3e5bc63c2003fd5242270d3 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Mon, 31 Mar 2025 18:00:26 +0200 Subject: [PATCH 079/108] Update GitVersion dependency range to >=5.12.0 <7.0.0 This change modifies the acceptable version range for the GitVersion tool, ensuring compatibility with versions starting from 5.12.0 up to, but not including, 7.0.0. This update is necessary to leverage the latest features and bug fixes while ensuring that future changes in version 7.0.0 do not introduce unforeseen issues. --- .azure/ci.yml | 2 +- .azure/example-10.yml | 2 +- .azure/example-8.yml | 2 +- .azure/example-9.yml | 2 +- .github/workflows/checkout-path.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/example-8.yml | 2 +- .github/workflows/example-9.yml | 2 +- .github/workflows/prerelease.yml | 2 +- .github/workflows/release.yml | 2 +- dist/azure/gitversion/setup/task.json | 2 +- dist/tools/libs/gitversion.mjs | 2 +- dist/tools/libs/gitversion.mjs.map | 2 +- docs/examples/azure/gitversion/command.md | 2 +- docs/examples/azure/gitversion/execute.md | 8 ++++---- docs/examples/azure/gitversion/setup.md | 8 ++++---- docs/examples/github/gitversion/command.md | 2 +- docs/examples/github/gitversion/execute.md | 6 +++--- docs/examples/github/gitversion/setup.md | 8 ++++---- docs/versions.md | 2 +- envs/gitversion/setup/azure.env | 2 +- envs/gitversion/setup/github.env | 2 +- envs/gitversion/setup/local.env | 2 +- gitversion/setup/action.yml | 2 +- src/__tests__/tools/common/settings.spec.ts | 2 +- src/__tests__/tools/gitversion/runner.spec.ts | 2 +- src/__tests__/tools/gitversion/tool.spec.ts | 2 +- src/tools/gitversion/tool.ts | 2 +- 28 files changed, 39 insertions(+), 39 deletions(-) diff --git a/.azure/ci.yml b/.azure/ci.yml index b3f11b176..088600d6c 100644 --- a/.azure/ci.yml +++ b/.azure/ci.yml @@ -13,7 +13,7 @@ variables: - name: DOTNET_CLI_TELEMETRY_OPTOUT value: 'true' - name: INPUT_VERSIONSPEC - value: '6.0.x' + value: '6.2.x' - name: INPUT_INCLUDEPRERELEASE value: 'false' - name: INPUT_IGNOREFAILEDSOURCES diff --git a/.azure/example-10.yml b/.azure/example-10.yml index 275ef648a..ad6a1f84b 100644 --- a/.azure/example-10.yml +++ b/.azure/example-10.yml @@ -22,7 +22,7 @@ stages: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 27250c245..35bb0beab 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -19,7 +19,7 @@ jobs: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 3cd448298..48278886c 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -19,7 +19,7 @@ jobs: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version diff --git a/.github/workflows/checkout-path.yml b/.github/workflows/checkout-path.yml index 9b281c2da..6bf1da303 100644 --- a/.github/workflows/checkout-path.yml +++ b/.github/workflows/checkout-path.yml @@ -28,7 +28,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@main with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Determine version id: gitversion diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a940cce8..f2304274f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: - name: gitversion/setup uses: ./gitversion/setup with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: gitversion/command (showvariable) uses: ./gitversion/command with: diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 797f3ed41..ae416118b 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -19,7 +19,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml index 351e4738e..2ce3bdb07 100644 --- a/.github/workflows/example-9.yml +++ b/.github/workflows/example-9.yml @@ -25,7 +25,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 2c87199aa..a2fda27cc 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -29,7 +29,7 @@ jobs: - name: Install GitVersion uses: ./gitversion/setup with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Use GitVersion id: gitversion # step id used as reference for output values uses: ./gitversion/execute diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7baca414..ffdebeef9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: - name: Install GitVersion uses: ./gitversion/setup with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Install GitReleaseManager uses: ./gitreleasemanager/setup with: diff --git a/dist/azure/gitversion/setup/task.json b/dist/azure/gitversion/setup/task.json index 511c2996d..6b186f584 100644 --- a/dist/azure/gitversion/setup/task.json +++ b/dist/azure/gitversion/setup/task.json @@ -28,7 +28,7 @@ "label": "The version spec", "defaultValue": "", "required": true, - "helpMarkDown": "Required version in the form of 6.0.x or exact version like 6.0.0" + "helpMarkDown": "Required version in the form of 6.2.x or exact version like 6.2.0" }, { "name": "includePrerelease", diff --git a/dist/tools/libs/gitversion.mjs b/dist/tools/libs/gitversion.mjs index ef6d7bca4..18a9bd951 100644 --- a/dist/tools/libs/gitversion.mjs +++ b/dist/tools/libs/gitversion.mjs @@ -53,7 +53,7 @@ class GitVersionTool extends DotnetTool { return "GITVERSION_PATH"; } get versionRange() { - return ">=5.2.0 <6.1.0"; + return ">=5.2.0 <7.0.0"; } get settingsProvider() { return new GitVersionSettingsProvider(this.buildAgent); diff --git a/dist/tools/libs/gitversion.mjs.map b/dist/tools/libs/gitversion.mjs.map index 73f46704e..41241c74d 100644 --- a/dist/tools/libs/gitversion.mjs.map +++ b/dist/tools/libs/gitversion.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { ArgumentsBuilder, DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <6.1.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument(workDir).addArgument('/output').addArgument('json').addArgument('/l').addArgument('console')\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n //\n } = options\n\n if (disableCache) {\n builder.addArgument('/nocache')\n }\n\n if (disableNormalization) {\n builder.addArgument('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n builder.addArgument('/config').addArgument(configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n builder.addArgument('/overrideconfig').addArgument(config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n builder.addArgument('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n builder.addArgument(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n if (updateProjectFiles) {\n builder.addArgument('/updateprojectfiles')\n }\n\n return builder.build()\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n const builder = new ArgumentsBuilder().addArgument(workDir)\n\n if (options.arguments) {\n builder.addArguments(ArgumentsBuilder.parseArgumentString(options.arguments))\n }\n\n return builder.build()\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitversion.mjs","sources":["../../../src/tools/gitversion/settings.ts","../../../src/tools/gitversion/tool.ts","../../../src/tools/gitversion/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings } from './models'\n\nexport interface IGitVersionSettingsProvider extends ISettingsProvider {\n getExecuteSettings(): ExecuteSettings\n\n getCommandSettings(): CommandSettings\n}\n\nexport class GitVersionSettingsProvider extends SettingsProvider implements IGitVersionSettingsProvider {\n getExecuteSettings(): ExecuteSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n\n const disableCache = this.buildAgent.getBooleanInput('disableCache')\n const disableNormalization = this.buildAgent.getBooleanInput('disableNormalization')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n\n const useConfigFile = this.buildAgent.getBooleanInput('useConfigFile')\n const configFilePath = this.buildAgent.getInput('configFilePath')\n const overrideConfig = this.buildAgent.getListInput('overrideConfig')\n\n const updateAssemblyInfo = this.buildAgent.getBooleanInput('updateAssemblyInfo')\n const updateAssemblyInfoFilename = this.buildAgent.getInput('updateAssemblyInfoFilename')\n\n const updateProjectFiles = this.buildAgent.getBooleanInput('updateProjectFiles')\n\n return {\n targetPath,\n disableCache,\n disableNormalization,\n disableShallowCloneCheck,\n useConfigFile,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n }\n }\n\n getCommandSettings(): CommandSettings {\n const targetPath = this.buildAgent.getInput('targetPath')\n const disableShallowCloneCheck = this.buildAgent.getBooleanInput('disableShallowCloneCheck')\n const args = this.buildAgent.getInput('arguments')\n\n return {\n targetPath,\n disableShallowCloneCheck,\n arguments: args\n }\n }\n}\n","import { type ExecResult } from '@agents/common'\nimport { ArgumentsBuilder, DotnetTool, keysOf } from '@tools/common'\nimport { type CommandSettings, type ExecuteSettings, type GitVersionOutput } from './models'\nimport { GitVersionSettingsProvider, type IGitVersionSettingsProvider } from './settings'\n\nexport class GitVersionTool extends DotnetTool {\n get packageName(): string {\n return 'GitVersion.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitversion'\n }\n\n get toolPathVariable(): string {\n return 'GITVERSION_PATH'\n }\n\n get versionRange(): string | null {\n return '>=5.2.0 <7.0.0'\n }\n\n get settingsProvider(): IGitVersionSettingsProvider {\n return new GitVersionSettingsProvider(this.buildAgent)\n }\n\n async executeJson(): Promise {\n const settings = this.settingsProvider.getExecuteSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = await this.getExecuteArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n async executeCommand(): Promise {\n const settings = this.settingsProvider.getCommandSettings()\n const workDir = await this.getRepoDir(settings)\n\n await this.checkShallowClone(settings, workDir)\n\n const args = this.getCommandArguments(workDir, settings)\n\n await this.setDotnetRoot()\n return await this.executeTool(args)\n }\n\n writeGitVersionToAgent(output: GitVersionOutput): void {\n for (const property of keysOf(output)) {\n const name = this.toCamelCase(property)\n try {\n let value = output[property]?.toString()\n if (value === '0') {\n value = '0'\n }\n this.buildAgent.setOutput(name, value)\n this.buildAgent.setOutput(`GitVersion_${property}`, value)\n this.buildAgent.setOutput(`GitVersion.${property}`, value)\n this.buildAgent.setVariable(name, value)\n this.buildAgent.setVariable(`GitVersion_${property}`, value)\n this.buildAgent.setVariable(`GitVersion.${property}`, value)\n } catch (_error) {\n this.buildAgent.error(`Unable to set output/variable for ${property}`)\n }\n }\n\n if (output.FullSemVer.endsWith('+0')) {\n output.FullSemVer = output.FullSemVer.slice(0, -2)\n }\n this.buildAgent.updateBuildNumber(output.FullSemVer)\n }\n\n protected async getRepoDir(settings: ExecuteSettings | CommandSettings): Promise {\n return await super.getRepoPath(settings.targetPath)\n }\n\n protected async getExecuteArguments(workDir: string, options: ExecuteSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument(workDir).addArgument('/output').addArgument('json').addArgument('/l').addArgument('console')\n\n const {\n useConfigFile,\n disableCache,\n disableNormalization,\n configFilePath,\n overrideConfig,\n updateAssemblyInfo,\n updateAssemblyInfoFilename,\n updateProjectFiles\n //\n } = options\n\n if (disableCache) {\n builder.addArgument('/nocache')\n }\n\n if (disableNormalization) {\n builder.addArgument('/nonormalize')\n }\n\n if (useConfigFile) {\n if (await this.isValidInputFile('configFilePath', configFilePath)) {\n builder.addArgument('/config').addArgument(configFilePath)\n } else {\n throw new Error(`GitVersion configuration file not found at ${configFilePath}`)\n }\n }\n\n if (overrideConfig) {\n for (let config of overrideConfig) {\n config = config.trim()\n if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\\- :.']*)/)) {\n builder.addArgument('/overrideconfig').addArgument(config)\n }\n }\n }\n\n if (updateAssemblyInfo) {\n builder.addArgument('/updateassemblyinfo')\n\n // You can specify 'updateAssemblyInfo' without 'updateAssemblyInfoFilename'.\n if (updateAssemblyInfoFilename?.length > 0) {\n if (await this.isValidInputFile('updateAssemblyInfoFilename', updateAssemblyInfoFilename)) {\n builder.addArgument(updateAssemblyInfoFilename)\n } else {\n throw new Error(`AssemblyInfoFilename file not found at ${updateAssemblyInfoFilename}`)\n }\n }\n }\n\n if (updateProjectFiles) {\n builder.addArgument('/updateprojectfiles')\n }\n\n return builder.build()\n }\n\n protected getCommandArguments(workDir: string, options: CommandSettings): string[] {\n const builder = new ArgumentsBuilder().addArgument(workDir)\n\n if (options.arguments) {\n builder.addArguments(ArgumentsBuilder.parseArgumentString(options.arguments))\n }\n\n return builder.build()\n }\n\n private async checkShallowClone(settings: ExecuteSettings | CommandSettings, workDir: string): Promise {\n if (!settings.disableShallowCloneCheck) {\n const isShallowResult = await this.execute('git', ['-C', workDir, 'rev-parse', '--is-shallow-repository'])\n if (isShallowResult.code === 0 && isShallowResult.stdout?.trim() === 'true') {\n throw new Error(\n 'The repository is shallow. Consider disabling shallow clones. See https://github.com/GitTools/actions/blob/main/docs/cloning.md for more information.'\n )\n }\n }\n }\n\n private toCamelCase(input: string): string {\n return input.replace(/^\\w|[A-Z]|\\b\\w|\\s+/g, function (match, index) {\n if (+match === 0) return '' // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n })\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands, type GitVersionOutput } from './models'\nimport { GitVersionTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitVersionTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitVersionTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'execute':\n return await this.execute()\n case 'command':\n return await this.command()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitVersion setup successfully')\n }\n\n private async execute(): Promise {\n return this.safeExecute(async () => {\n const result = await this.tool.executeJson()\n this.buildAgent.debug('Parsing GitVersion output')\n return this.processGitVersionOutput(result)\n }, 'GitVersion executed successfully')\n }\n\n private async command(): Promise {\n return this.safeExecute(async () => await this.tool.executeCommand(), 'GitVersion executed successfully')\n }\n\n private processGitVersionOutput(result: ExecResult): ExecResult {\n const stdout = result.stdout as string\n if (stdout.lastIndexOf('{') === -1 || stdout.lastIndexOf('}') === -1) {\n this.buildAgent.debug('GitVersion output is not valid JSON')\n this.buildAgent.setFailed('GitVersion output is not valid JSON', true)\n return {\n code: -1,\n error: new Error('GitVersion output is not valid JSON')\n }\n } else {\n const jsonOutput = stdout.substring(stdout.lastIndexOf('{'), stdout.lastIndexOf('}') + 1)\n\n const gitVersionOutput = JSON.parse(jsonOutput) as GitVersionOutput\n this.tool.writeGitVersionToAgent(gitVersionOutput)\n this.buildAgent.setSucceeded('GitVersion executed successfully', true)\n return result\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/examples/azure/gitversion/command.md b/docs/examples/azure/gitversion/command.md index c3153c923..05dedf1c9 100644 --- a/docs/examples/azure/gitversion/command.md +++ b/docs/examples/azure/gitversion/command.md @@ -13,7 +13,7 @@ steps: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index c58f12561..b71b3033e 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -13,7 +13,7 @@ steps: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. @@ -281,7 +281,7 @@ jobs: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version @@ -351,7 +351,7 @@ jobs: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version @@ -442,7 +442,7 @@ stages: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - task: gitversion/execute@3.1.11 displayName: Determine Version diff --git a/docs/examples/azure/gitversion/setup.md b/docs/examples/azure/gitversion/setup.md index 9f1b505fa..1e9765eee 100644 --- a/docs/examples/azure/gitversion/setup.md +++ b/docs/examples/azure/gitversion/setup.md @@ -10,7 +10,7 @@ The Setup GitVersion task accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 6.0.x or exact version like 6.0.0. + description: Required version in the form of 6.2.x or exact version like 6.2.0. required: true default: '' includePrerelease: @@ -48,7 +48,7 @@ steps: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` ### Example 2 @@ -72,7 +72,7 @@ steps: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' includePrerelease: true ``` @@ -85,6 +85,6 @@ steps: - task: gitversion/setup@3.1.11 displayName: Install GitVersion inputs: - versionSpec: '6.0.x' + versionSpec: '6.2.x' preferLatestVersion: true ``` diff --git a/docs/examples/github/gitversion/command.md b/docs/examples/github/gitversion/command.md index abd02feea..e6e43136c 100644 --- a/docs/examples/github/gitversion/command.md +++ b/docs/examples/github/gitversion/command.md @@ -15,7 +15,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index 94f8d23a5..ac873d9a9 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -15,7 +15,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. @@ -275,7 +275,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values @@ -365,7 +365,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/docs/examples/github/gitversion/setup.md b/docs/examples/github/gitversion/setup.md index 20ba86bb0..ce13fd494 100644 --- a/docs/examples/github/gitversion/setup.md +++ b/docs/examples/github/gitversion/setup.md @@ -10,7 +10,7 @@ The Setup GitVersion action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 6.0.x or exact version like 6.0.0. + description: Required version in the form of 6.2.x or exact version like 6.2.0. required: true default: '' includePrerelease: @@ -47,7 +47,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' ``` ### Example 2 @@ -71,7 +71,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' includePrerelease: true ``` @@ -84,6 +84,6 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.1.11 with: - versionSpec: '6.0.x' + versionSpec: '6.2.x' preferLatestVersion: true ``` diff --git a/docs/versions.md b/docs/versions.md index b3ebf4712..362eff28a 100644 --- a/docs/versions.md +++ b/docs/versions.md @@ -4,4 +4,4 @@ |------------------|------------------|--------------------|--------------------|:-------------------------:| | v1.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.18.0` | `>=0.10.0 <0.20.0` | 2.220.0 | | v2.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.20.0` | `>=0.20.0` | 3.224.0 | -| v3.x | `>=5.2.0 <6.1.0` | `>=0.18.0 <0.20.0` | `>=0.20.0` | 3.224.0 | +| v3.x | `>=5.2.0 <7.0.0` | `>=0.18.0 <0.20.0` | `>=0.20.0` | 3.224.0 | diff --git a/envs/gitversion/setup/azure.env b/envs/gitversion/setup/azure.env index 539fcfc97..f2a19454c 100644 --- a/envs/gitversion/setup/azure.env +++ b/envs/gitversion/setup/azure.env @@ -4,4 +4,4 @@ AGENT_TOOLSDIRECTORY=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.0.x +INPUT_VERSIONSPEC=6.2.x diff --git a/envs/gitversion/setup/github.env b/envs/gitversion/setup/github.env index dc6fdf7e8..ebcefec15 100644 --- a/envs/gitversion/setup/github.env +++ b/envs/gitversion/setup/github.env @@ -4,4 +4,4 @@ RUNNER_TOOL_CACHE=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.0.x +INPUT_VERSIONSPEC=6.2.x diff --git a/envs/gitversion/setup/local.env b/envs/gitversion/setup/local.env index 5961d31d7..a9407f1eb 100644 --- a/envs/gitversion/setup/local.env +++ b/envs/gitversion/setup/local.env @@ -4,4 +4,4 @@ AGENT_TOOLS_DIR=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.0.x +INPUT_VERSIONSPEC=6.2.x diff --git a/gitversion/setup/action.yml b/gitversion/setup/action.yml index 3cf09aabc..255e64b3f 100644 --- a/gitversion/setup/action.yml +++ b/gitversion/setup/action.yml @@ -10,7 +10,7 @@ runs: inputs: versionSpec: - description: Required version in the form of 6.0.x or exact version like 6.0.0 + description: Required version in the form of 6.2.x or exact version like 6.2.0 required: true default: '' includePrerelease: diff --git a/src/__tests__/tools/common/settings.spec.ts b/src/__tests__/tools/common/settings.spec.ts index 9310d1dbe..ff4545e1d 100644 --- a/src/__tests__/tools/common/settings.spec.ts +++ b/src/__tests__/tools/common/settings.spec.ts @@ -6,7 +6,7 @@ import { expectValidSettings } from './utils' describe('SettingsProvider', () => { it('should return SetupSettings', () => { const settings: SetupSettings = { - versionSpec: '6.0.x', + versionSpec: '6.2.x', includePrerelease: false, ignoreFailedSources: true, preferLatestVersion: false diff --git a/src/__tests__/tools/gitversion/runner.spec.ts b/src/__tests__/tools/gitversion/runner.spec.ts index fbee6635c..59eb798ac 100644 --- a/src/__tests__/tools/gitversion/runner.spec.ts +++ b/src/__tests__/tools/gitversion/runner.spec.ts @@ -16,7 +16,7 @@ describe('GitVersion Runner', () => { const toolPathVariable = 'GITVERSION_PATH' const toolName = 'dotnet-gitversion' - const versionSpec = '6.0.x' + const versionSpec = '6.2.x' function testOnAgent(agent: IBuildAgent): void { let version: string diff --git a/src/__tests__/tools/gitversion/tool.spec.ts b/src/__tests__/tools/gitversion/tool.spec.ts index fac4a0b1f..f816e7f60 100644 --- a/src/__tests__/tools/gitversion/tool.spec.ts +++ b/src/__tests__/tools/gitversion/tool.spec.ts @@ -41,7 +41,7 @@ describe('GitVersionTool', () => { }) it('should return correct version range', () => { - expect(tool.versionRange).toBe('>=5.2.0 <6.1.0') + expect(tool.versionRange).toBe('>=5.2.0 <7.0.0') }) it('should have settings provider defined', () => { diff --git a/src/tools/gitversion/tool.ts b/src/tools/gitversion/tool.ts index 198e960d8..1cdf8c470 100644 --- a/src/tools/gitversion/tool.ts +++ b/src/tools/gitversion/tool.ts @@ -17,7 +17,7 @@ export class GitVersionTool extends DotnetTool { } get versionRange(): string | null { - return '>=5.2.0 <6.1.0' + return '>=5.2.0 <7.0.0' } get settingsProvider(): IGitVersionSettingsProvider { From 68827a31b5c5ca4d32d5fa2ef65d3c76bdea2bd0 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 01:35:02 +0000 Subject: [PATCH 080/108] update examples version to 3.2.0 --- .azure/example-10.yml | 4 +- .azure/example-8.yml | 4 +- .azure/example-9.yml | 4 +- .github/workflows/example-8.yml | 4 +- .github/workflows/example-9.yml | 4 +- .../azure/gitreleasemanager/addasset.md | 2 +- .../examples/azure/gitreleasemanager/close.md | 2 +- .../azure/gitreleasemanager/create.md | 2 +- .../azure/gitreleasemanager/discard.md | 2 +- docs/examples/azure/gitreleasemanager/open.md | 2 +- .../azure/gitreleasemanager/publish.md | 2 +- .../examples/azure/gitreleasemanager/setup.md | 8 ++-- docs/examples/azure/gitversion/command.md | 16 +++---- docs/examples/azure/gitversion/execute.md | 48 +++++++++---------- docs/examples/azure/gitversion/setup.md | 10 ++-- .../github/gitreleasemanager/addasset.md | 2 +- .../github/gitreleasemanager/close.md | 2 +- .../github/gitreleasemanager/create.md | 2 +- .../github/gitreleasemanager/discard.md | 2 +- .../examples/github/gitreleasemanager/open.md | 2 +- .../github/gitreleasemanager/publish.md | 2 +- .../github/gitreleasemanager/setup.md | 8 ++-- docs/examples/github/gitversion/command.md | 16 +++---- docs/examples/github/gitversion/execute.md | 42 ++++++++-------- docs/examples/github/gitversion/setup.md | 10 ++-- package.json | 2 +- 26 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.azure/example-10.yml b/.azure/example-10.yml index ad6a1f84b..3aab9ad7a 100644 --- a/.azure/example-10.yml +++ b/.azure/example-10.yml @@ -19,12 +19,12 @@ stages: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 35bb0beab..0e33aedb8 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -16,12 +16,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 48278886c..516bba5a6 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -16,12 +16,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index ae416118b..046586230 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -17,13 +17,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 - run: | echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml index 2ce3bdb07..52bf823d2 100644 --- a/.github/workflows/example-9.yml +++ b/.github/workflows/example-9.yml @@ -23,13 +23,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix diff --git a/docs/examples/azure/gitreleasemanager/addasset.md b/docs/examples/azure/gitreleasemanager/addasset.md index 1632aaf63..77a301d7a 100644 --- a/docs/examples/azure/gitreleasemanager/addasset.md +++ b/docs/examples/azure/gitreleasemanager/addasset.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/addasset@3.1.11 + - task: gitreleasemanager/addasset@3.2.0 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/close.md b/docs/examples/azure/gitreleasemanager/close.md index ad121afb8..00fc47904 100644 --- a/docs/examples/azure/gitreleasemanager/close.md +++ b/docs/examples/azure/gitreleasemanager/close.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/close@3.1.11 + - task: gitreleasemanager/close@3.2.0 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/create.md b/docs/examples/azure/gitreleasemanager/create.md index 461492fb9..ff90c7e0d 100644 --- a/docs/examples/azure/gitreleasemanager/create.md +++ b/docs/examples/azure/gitreleasemanager/create.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/create@3.1.11 + - task: gitreleasemanager/create@3.2.0 displayName: Create release with GitReleaseManager inputs: token: $(GITHUB_TOKEN) diff --git a/docs/examples/azure/gitreleasemanager/discard.md b/docs/examples/azure/gitreleasemanager/discard.md index 8336e784a..5a8792b53 100644 --- a/docs/examples/azure/gitreleasemanager/discard.md +++ b/docs/examples/azure/gitreleasemanager/discard.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/discard@3.1.11 + - task: gitreleasemanager/discard@3.2.0 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/open.md b/docs/examples/azure/gitreleasemanager/open.md index c23a07adf..9b7bf3c9a 100644 --- a/docs/examples/azure/gitreleasemanager/open.md +++ b/docs/examples/azure/gitreleasemanager/open.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/open@3.1.11 + - task: gitreleasemanager/open@3.2.0 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/publish.md b/docs/examples/azure/gitreleasemanager/publish.md index a5cfdebde..e8ef79b9a 100644 --- a/docs/examples/azure/gitreleasemanager/publish.md +++ b/docs/examples/azure/gitreleasemanager/publish.md @@ -2,7 +2,7 @@ ```yaml steps: - - task: gitreleasemanager/publish@3.1.11 + - task: gitreleasemanager/publish@3.2.0 inputs: token: '$(GITHUB_TOKEN)' owner: 'someOwner' diff --git a/docs/examples/azure/gitreleasemanager/setup.md b/docs/examples/azure/gitreleasemanager/setup.md index e0cc73fa0..4c0602173 100644 --- a/docs/examples/azure/gitreleasemanager/setup.md +++ b/docs/examples/azure/gitreleasemanager/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitreleasemanager/setup** task using the examples below. -> The examples use version _3.1.11_ of the GitReleaseManager Setup task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitReleaseManager Setup task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -29,7 +29,7 @@ Install the latest GitReleaseManager 0.18.x version. ```yaml steps: - - task: gitreleasemanager/setup@3.1.11 + - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.x' @@ -41,7 +41,7 @@ Install specific GitReleaseManager version 0.18.0. ```yaml steps: - - task: gitreleasemanager/setup@3.1.11 + - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.0' @@ -53,7 +53,7 @@ Install the latest GitReleaseManager 0.18.x version even it there is a cached ve ```yaml steps: - - task: gitreleasemanager/setup@3.1.11 + - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: versionSpec: '0.18.x' diff --git a/docs/examples/azure/gitversion/command.md b/docs/examples/azure/gitversion/command.md index 05dedf1c9..f62f999cc 100644 --- a/docs/examples/azure/gitversion/command.md +++ b/docs/examples/azure/gitversion/command.md @@ -10,7 +10,7 @@ steps: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' @@ -18,7 +18,7 @@ steps: These steps are omitted from the examples for brevity. -> The examples use version _3.1.11_ of the GitVersion Command task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Command task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -50,9 +50,9 @@ arguments: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/command@3.1.11 + - task: gitversion/command@3.2.0 displayName: Display GitVersion config inputs: arguments: '/showConfig' @@ -67,9 +67,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/command@3.1.11 + - task: gitversion/command@3.2.0 displayName: Output the FullSemVer variable inputs: arguments: '/showvariable FullSemVer' @@ -84,9 +84,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/command@3.1.11 + - task: gitversion/command@3.2.0 displayName: Output the formatted version inputs: arguments: '/format {Major}.{Minor}' # any Output Variable can be used here diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index b71b3033e..7c32c0667 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -10,7 +10,7 @@ steps: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' @@ -18,7 +18,7 @@ steps: These steps are omitted from the examples for brevity. -> The examples use version _3.1.11_ of the GitVersion Execute task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Execute task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -53,7 +53,7 @@ overrideConfig: description: | Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.: update-build-number=false - next-version=3.1.11 + next-version=3.2.0 required: false default: '' updateAssemblyInfo: @@ -118,9 +118,9 @@ The Execute GitVersion task creates the following job-scoped variables and multi ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 name: version_step # step id used as reference for output values displayName: Determine Version ``` @@ -134,9 +134,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -164,9 +164,9 @@ branches: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -183,9 +183,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -202,9 +202,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -220,15 +220,15 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: overrideConfig: | update-build-number=false - next-version=3.1.11 + next-version=3.2.0 ``` @@ -240,9 +240,9 @@ steps: ```yaml steps: - # gitversion/setup@3.1.11 task omitted for brevity. + # gitversion/setup@3.2.0 task omitted for brevity. - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -278,12 +278,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -348,12 +348,12 @@ jobs: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: @@ -439,12 +439,12 @@ stages: - checkout: self fetchDepth: 0 - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' - - task: gitversion/execute@3.1.11 + - task: gitversion/execute@3.2.0 displayName: Determine Version name: version_step # step id used as reference for output values inputs: diff --git a/docs/examples/azure/gitversion/setup.md b/docs/examples/azure/gitversion/setup.md index 1e9765eee..823455d57 100644 --- a/docs/examples/azure/gitversion/setup.md +++ b/docs/examples/azure/gitversion/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitversion/setup** task using the examples below. -> The examples use version _3.1.11_ of the GitVersion Setup task. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Setup task. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -45,7 +45,7 @@ Install the latest GitVersion 6 version. ```yaml steps: - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' @@ -57,7 +57,7 @@ Install GitVersion 6.0.0. ```yaml steps: - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.0.0' @@ -69,7 +69,7 @@ Install the latest GitVersion 6 pre-release version. For example **6.0.0-beta.6 ```yaml steps: - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' @@ -82,7 +82,7 @@ Install the latest GitVersion 6 version even it there is a cached version matchi ```yaml steps: - - task: gitversion/setup@3.1.11 + - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: versionSpec: '6.2.x' diff --git a/docs/examples/github/gitreleasemanager/addasset.md b/docs/examples/github/gitreleasemanager/addasset.md index 109ee3317..e7a6410e1 100644 --- a/docs/examples/github/gitreleasemanager/addasset.md +++ b/docs/examples/github/gitreleasemanager/addasset.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/addasset@v3.1.11 + - uses: gittools/actions/gitreleasemanager/addasset@v3.2.0 name: Add asset to a release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/close.md b/docs/examples/github/gitreleasemanager/close.md index 5df827ab5..34ec06d44 100644 --- a/docs/examples/github/gitreleasemanager/close.md +++ b/docs/examples/github/gitreleasemanager/close.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/close@v3.1.11 + - uses: gittools/actions/gitreleasemanager/close@v3.2.0 name: Close release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/create.md b/docs/examples/github/gitreleasemanager/create.md index cf42b1ecf..d6a902b9a 100644 --- a/docs/examples/github/gitreleasemanager/create.md +++ b/docs/examples/github/gitreleasemanager/create.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/create@v3.1.11 + - uses: gittools/actions/gitreleasemanager/create@v3.2.0 name: Create release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/discard.md b/docs/examples/github/gitreleasemanager/discard.md index eb87784c8..d00793d42 100644 --- a/docs/examples/github/gitreleasemanager/discard.md +++ b/docs/examples/github/gitreleasemanager/discard.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/discard@v3.1.11 + - uses: gittools/actions/gitreleasemanager/discard@v3.2.0 name: Discard release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/open.md b/docs/examples/github/gitreleasemanager/open.md index 892d09f57..9018d312a 100644 --- a/docs/examples/github/gitreleasemanager/open.md +++ b/docs/examples/github/gitreleasemanager/open.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/open@v3.1.11 + - uses: gittools/actions/gitreleasemanager/open@v3.2.0 name: Open release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/publish.md b/docs/examples/github/gitreleasemanager/publish.md index 4c9b94cd3..ab23f3527 100644 --- a/docs/examples/github/gitreleasemanager/publish.md +++ b/docs/examples/github/gitreleasemanager/publish.md @@ -2,7 +2,7 @@ ```yaml steps: - - uses: gittools/actions/gitreleasemanager/publish@v3.1.11 + - uses: gittools/actions/gitreleasemanager/publish@v3.2.0 name: Publish release with GitReleaseManager with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/examples/github/gitreleasemanager/setup.md b/docs/examples/github/gitreleasemanager/setup.md index 6d54e81f8..683a8f875 100644 --- a/docs/examples/github/gitreleasemanager/setup.md +++ b/docs/examples/github/gitreleasemanager/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitreleasemanager/setup** action using the examples below. -> The examples use version _3.1.11_ of the GitReleaseManager Setup action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitReleaseManager Setup action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -30,7 +30,7 @@ Install the latest GitReleaseManager 0.18.x version. ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.11 + uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: versionSpec: '0.18.x' ``` @@ -42,7 +42,7 @@ Install specific GitReleaseManager version 0.18.0. ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.11 + uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: versionSpec: '0.18.0' ``` @@ -54,7 +54,7 @@ Install the latest GitReleaseManager 0.18.x version even it there is a cached ve ```yaml steps: - name: Install GitReleaseManager - uses: gittools/actions/gitreleasemanager/setup@v3.1.11 + uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: versionSpec: '0.18.x' preferLatestVersion: true diff --git a/docs/examples/github/gitversion/command.md b/docs/examples/github/gitversion/command.md index e6e43136c..a9d450224 100644 --- a/docs/examples/github/gitversion/command.md +++ b/docs/examples/github/gitversion/command.md @@ -13,14 +13,14 @@ steps: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. -> The examples use version _3.1.11_ of the GitVersion Command action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Command action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -52,10 +52,10 @@ arguments: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Display GitVersion config - uses: gittools/actions/gitversion/command@v3.1.11 + uses: gittools/actions/gitversion/command@v3.2.0 with: useConfigFile: true arguments: '/showConfig' @@ -70,10 +70,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Output the FullSemVer variable - uses: gittools/actions/gitversion/command@v3.1.11 + uses: gittools/actions/gitversion/command@v3.2.0 with: arguments: '/showvariable FullSemVer' ``` @@ -87,10 +87,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Output the formatted version - uses: gittools/actions/gitversion/command@v3.1.11 + uses: gittools/actions/gitversion/command@v3.2.0 with: arguments: '/format {Major}.{Minor}' # any Output Variable can be used here ``` diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index ac873d9a9..932a5a974 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -13,14 +13,14 @@ steps: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' ``` These steps are omitted from the examples for brevity. -> The examples use version _3.1.11_ of the GitVersion Execute action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Execute action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -55,7 +55,7 @@ overrideConfig: description: | Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.: update-build-number=false - next-version=3.1.11 + next-version=3.2.0 required: false default: '' updateAssemblyInfo: @@ -120,11 +120,11 @@ The Execute GitVersion action creates the following outputs: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 ``` @@ -138,7 +138,7 @@ steps: steps: - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: useConfigFile: true ``` @@ -163,11 +163,11 @@ branches: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: useConfigFile: true configFilePath: VersionConfig.yml @@ -182,11 +182,11 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: disableCache: true disableNormalization: true @@ -201,10 +201,10 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: updateAssemblyInfo: true ``` @@ -218,15 +218,15 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: overrideConfig: | update-build-number=false - next-version=3.1.11 + next-version=3.2.0 ``` @@ -238,11 +238,11 @@ steps: ```yaml steps: - # gittools/actions/gitversion/setup@v3.1.11 action omitted for brevity. + # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 with: updateProjectFiles: true ``` @@ -273,13 +273,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 - run: | echo "FullSemVer (env.fullSemVer) : ${{ env.fullSemVer }}" @@ -363,13 +363,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' - name: Determine Version id: version_step # step id used as reference for output values - uses: gittools/actions/gitversion/execute@v3.1.11 + uses: gittools/actions/gitversion/execute@v3.2.0 GitVersion_v6_cross_job_consumer_without_prefix: name: GitVersion v6 (cross job consumer) - without prefix diff --git a/docs/examples/github/gitversion/setup.md b/docs/examples/github/gitversion/setup.md index ce13fd494..477fdccce 100644 --- a/docs/examples/github/gitversion/setup.md +++ b/docs/examples/github/gitversion/setup.md @@ -2,7 +2,7 @@ Find out how to use the **gitversion/setup** action using the examples below. -> The examples use version _3.1.11_ of the GitVersion Setup action. It is recommended to use the latest released version in your own workflows. +> The examples use version _3.2.0_ of the GitVersion Setup action. It is recommended to use the latest released version in your own workflows. ## Inputs @@ -45,7 +45,7 @@ Install the latest GitVersion 6 version. ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' ``` @@ -57,7 +57,7 @@ Install GitVersion 6.0.0. ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.0.0' ``` @@ -69,7 +69,7 @@ Install the latest GitVersion 6 pre-release version. For example **6.0.0-beta.6 ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' includePrerelease: true @@ -82,7 +82,7 @@ Install the latest GitVersion 6 version even it there is a cached version matchi ```yaml steps: - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v3.1.11 + uses: gittools/actions/gitversion/setup@v3.2.0 with: versionSpec: '6.2.x' preferLatestVersion: true diff --git a/package.json b/package.json index 649b0187b..0c068bb43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gittools-actions", - "version": "3.1.11", + "version": "3.2.0", "description": "Easy Semantic Versioning (https://semver.org) for projects using Git", "repository": { "type": "git", From c27125c337f994ac103d36547beaaacb43e8620d Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 01:36:03 +0000 Subject: [PATCH 081/108] dist update --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5589cfbab..bed4e6282 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gittools-actions", - "version": "3.1.11", + "version": "3.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gittools-actions", - "version": "3.1.11", + "version": "3.2.0", "dependencies": { "semver": "^7.7.1" }, From ea2d96d74f34c27f00e7bb86cd041bff45b56461 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 03:35:22 +0200 Subject: [PATCH 082/108] Updates GitReleaseManager version to 0.19.x Updates the GitReleaseManager version used by the setup action to 0.19.x. This ensures that the latest features and bug fixes from the 0.19.x release line are available. The workflows, documentation, and task definitions have been updated to reflect this change. --- .github/workflows/release.yml | 2 +- dist/azure/gitreleasemanager/setup/task.json | 2 +- docs/examples/azure/gitreleasemanager/setup.md | 14 +++++++------- docs/examples/github/gitreleasemanager/setup.md | 14 +++++++------- docs/versions.md | 4 ++-- gitreleasemanager/setup/action.yml | 2 +- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ffdebeef9..ecbf5bc03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: - name: Install GitReleaseManager uses: ./gitreleasemanager/setup with: - versionSpec: '0.18.x' + versionSpec: '0.19.x' - name: Use GitVersion id: gitversion # step id used as reference for output values uses: ./gitversion/execute diff --git a/dist/azure/gitreleasemanager/setup/task.json b/dist/azure/gitreleasemanager/setup/task.json index 372fc61ca..49700bc7e 100644 --- a/dist/azure/gitreleasemanager/setup/task.json +++ b/dist/azure/gitreleasemanager/setup/task.json @@ -28,7 +28,7 @@ "label": "The version spec", "defaultValue": "", "required": true, - "helpMarkDown": "Required version in the form of 0.18.x or exact version like 0.18.0" + "helpMarkDown": "Required version in the form of 0.19.x or exact version like 0.19.0" }, { "name": "includePrerelease", diff --git a/docs/examples/azure/gitreleasemanager/setup.md b/docs/examples/azure/gitreleasemanager/setup.md index 4c0602173..02b27e692 100644 --- a/docs/examples/azure/gitreleasemanager/setup.md +++ b/docs/examples/azure/gitreleasemanager/setup.md @@ -10,7 +10,7 @@ The Setup GitReleaseManager action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 0.18.x or exact version like 0.18.0. + description: Required version in the form of 0.19.x or exact version like 0.19.0. required: true default: '' includePrerelease: @@ -25,37 +25,37 @@ ignoreFailedSources: ### Example 1 -Install the latest GitReleaseManager 0.18.x version. +Install the latest GitReleaseManager 0.19.x version. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.18.x' + versionSpec: '0.19.x' ``` ### Example 2 -Install specific GitReleaseManager version 0.18.0. +Install specific GitReleaseManager version 0.19.0. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.18.0' + versionSpec: '0.19.0' ``` ### Example 3 -Install the latest GitReleaseManager 0.18.x version even it there is a cached version matching the versionSpec. +Install the latest GitReleaseManager 0.19.x version even it there is a cached version matching the versionSpec. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.18.x' + versionSpec: '0.19.x' preferLatestVersion: true ``` diff --git a/docs/examples/github/gitreleasemanager/setup.md b/docs/examples/github/gitreleasemanager/setup.md index 683a8f875..07a948e3f 100644 --- a/docs/examples/github/gitreleasemanager/setup.md +++ b/docs/examples/github/gitreleasemanager/setup.md @@ -10,7 +10,7 @@ The Setup GitReleaseManager action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 0.18.x or exact version like 0.18.0. + description: Required version in the form of 0.19.x or exact version like 0.19.0. required: true default: '' includePrerelease: @@ -25,37 +25,37 @@ ignoreFailedSources: ### Example 1 -Install the latest GitReleaseManager 0.18.x version. +Install the latest GitReleaseManager 0.19.x version. ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.18.x' + versionSpec: '0.19.x' ``` ### Example 2 -Install specific GitReleaseManager version 0.18.0. +Install specific GitReleaseManager version 0.19.0. ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.18.0' + versionSpec: '0.19.0' ``` ### Example 3 -Install the latest GitReleaseManager 0.18.x version even it there is a cached version matching the versionSpec.~~~~ +Install the latest GitReleaseManager 0.19.x version even it there is a cached version matching the versionSpec.~~~~ ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.18.x' + versionSpec: '0.19.x' preferLatestVersion: true ``` diff --git a/docs/versions.md b/docs/versions.md index 362eff28a..b46cd0f26 100644 --- a/docs/versions.md +++ b/docs/versions.md @@ -2,6 +2,6 @@ | GitTools/actions | GitVersion | GitReleaseManager | Node.js | Azure DevOps Agent | |------------------|------------------|--------------------|--------------------|:-------------------------:| -| v1.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.18.0` | `>=0.10.0 <0.20.0` | 2.220.0 | +| v1.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.19.0` | `>=0.10.0 <0.20.0` | 2.220.0 | | v2.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.20.0` | `>=0.20.0` | 3.224.0 | -| v3.x | `>=5.2.0 <7.0.0` | `>=0.18.0 <0.20.0` | `>=0.20.0` | 3.224.0 | +| v3.x | `>=5.2.0 <7.0.0` | `>=0.19.0 <0.20.0` | `>=0.20.0` | 3.224.0 | diff --git a/gitreleasemanager/setup/action.yml b/gitreleasemanager/setup/action.yml index 2e875ff91..ca58a2f10 100644 --- a/gitreleasemanager/setup/action.yml +++ b/gitreleasemanager/setup/action.yml @@ -9,7 +9,7 @@ runs: main: main.mjs inputs: versionSpec: - description: Required version in the form of 0.18.x or exact version like 0.18.0 + description: Required version in the form of 0.19.x or exact version like 0.19.0 required: true default: '' includePrerelease: From 3c790780fc114d80f23b31ea805bb2107219e137 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 05:52:31 +0000 Subject: [PATCH 083/108] (npm): Bump @types/node from 22.13.14 to 22.13.17 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.14 to 22.13.17 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index bed4e6282..d41eaf369 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.14", + "@types/node": "^22.13.17", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", @@ -1218,9 +1218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz", - "integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==", + "version": "22.13.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", + "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0c068bb43..4d69f5836 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.14", + "@types/node": "^22.13.17", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", From a814c55a5cfde7c32e86edca26b1ff469b79caf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 05:57:51 +0000 Subject: [PATCH 084/108] (npm): Bump tfx-cli from 0.21.0 to 0.21.1 Bumps [tfx-cli](https://github.com/Microsoft/tfs-cli) from 0.21.0 to 0.21.1. - [Release notes](https://github.com/Microsoft/tfs-cli/releases) - [Commits](https://github.com/Microsoft/tfs-cli/commits) --- updated-dependencies: - dependency-name: tfx-cli dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 280 +++++++++++++++++++++++++++++++++++++--------- package.json | 2 +- 2 files changed, 228 insertions(+), 54 deletions(-) diff --git a/package-lock.json b/package-lock.json index d41eaf369..6f9f5fb87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", "simple-git": "^3.27.0", - "tfx-cli": "^0.21.0", + "tfx-cli": "^0.21.1", "typescript": "^5.8.2", "typescript-eslint": "^8.29.0", "vite": "^6.2.4", @@ -1896,13 +1896,17 @@ } }, "node_modules/azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha512-QhpgjH1LQ+vgDJ7oBwcmsZ3+o4ZpjLVilw0D3oJQpYpRzN+L39lk5jZDLJ464hLUgsDzWn/Ksv7zLLMKLfoBzA==", "dev": true, + "license": "MIT", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/balanced-match": { @@ -2045,6 +2049,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2515,6 +2550,17 @@ "node": ">=6" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/devlop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", @@ -2542,6 +2588,21 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -2656,13 +2717,11 @@ "dev": true }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -2683,10 +2742,11 @@ "dev": true }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -3365,16 +3425,22 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3383,6 +3449,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stdin": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", @@ -3507,12 +3587,13 @@ "dev": true }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3574,10 +3655,11 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4112,6 +4194,13 @@ "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", "dev": true }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -4840,6 +4929,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", @@ -5459,6 +5558,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -5646,10 +5752,11 @@ } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6085,12 +6192,13 @@ } }, "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -6555,15 +6663,73 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -6943,15 +7109,15 @@ } }, "node_modules/tfx-cli": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.21.0.tgz", - "integrity": "sha512-zyrRi7lwBVAlEHPNJOzP61pE0Y2N9T/WQFYkkNY0+OEP5uTX8/bOP9Mxv/TtR99fdJmjv5L/b3lVuAXn7h8fBg==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.21.1.tgz", + "integrity": "sha512-tQD3XqynSmlR1Teawp6ogUNSXLXsmRfSNSRXXcQ/FePGRp09avIGsZfiF8F03NwzzhMU2HSqbGThY2vc94OBEw==", "dev": true, "license": "MIT", "dependencies": { "app-root-path": "1.0.0", "archiver": "2.0.3", - "azure-devops-node-api": "^10.2.2", + "azure-devops-node-api": "^14.0.0", "clipboardy": "~1.2.3", "colors": "~1.3.0", "glob": "7.1.2", @@ -7169,6 +7335,7 @@ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } @@ -7259,14 +7426,20 @@ } }, "node_modules/typed-rest-client": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", - "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha512-Nel9aPbgSzRxfs1+4GoSB4wexCF+4Axlk7OSGVQCMa+4fWcyxIsN/YNmkp0xTT2iQzMD98h8yFLav/cNaULmRA==", "dev": true, + "license": "MIT", "dependencies": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/typescript": { @@ -7329,10 +7502,11 @@ } }, "node_modules/underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", - "dev": true + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT" }, "node_modules/undici-types": { "version": "6.20.0", diff --git a/package.json b/package.json index 4d69f5836..b9241a8ea 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", "simple-git": "^3.27.0", - "tfx-cli": "^0.21.0", + "tfx-cli": "^0.21.1", "typescript": "^5.8.2", "typescript-eslint": "^8.29.0", "vite": "^6.2.4", From 6632d37f98e3b72548c0c2b69ce1c19571326807 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 08:29:19 +0200 Subject: [PATCH 085/108] run 'npm run build' on pre-commit --- .husky/pre-commit | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.husky/pre-commit b/.husky/pre-commit index 2312dc587..a22f0d164 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1,3 @@ +npm run build +git add **/*.mjs* npx lint-staged From 680553dbfa19711c2325c61d80e31398903215c4 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Wed, 2 Apr 2025 16:30:32 +0200 Subject: [PATCH 086/108] Improves string concatenation for log messages Refactors code to use template literals for improved string concatenation when writing log messages. This change enhances readability and maintainability across different build agent implementations. --- dist/tools/azure/agent.mjs | 4 ++-- dist/tools/azure/agent.mjs.map | 2 +- dist/tools/github/agent.mjs | 4 ++-- dist/tools/github/agent.mjs.map | 2 +- dist/tools/local/agent.mjs | 8 ++++---- dist/tools/local/agent.mjs.map | 2 +- src/__tests__/agents/github/build-agent.spec.ts | 4 ++-- src/__tests__/agents/local/build-agent.spec.ts | 8 ++++---- src/agents/azure/build-agent.ts | 2 +- src/agents/azure/command.ts | 2 +- src/agents/github/build-agent.ts | 2 +- src/agents/github/command.ts | 2 +- src/agents/local/build-agent.ts | 8 ++++---- 13 files changed, 25 insertions(+), 25 deletions(-) diff --git a/dist/tools/azure/agent.mjs b/dist/tools/azure/agent.mjs index de4faaaad..02763b05c 100644 --- a/dist/tools/azure/agent.mjs +++ b/dist/tools/azure/agent.mjs @@ -13,7 +13,7 @@ var TaskResult = /* @__PURE__ */ ((TaskResult2) => { })(TaskResult || {}); function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); + process.stdout.write(`${cmd.toString()}${os.EOL}`); } class Command { command; @@ -71,7 +71,7 @@ class BuildAgent extends BuildAgentBase { issueCommand("task.prependpath", {}, inputPath); } info = (message) => { - process.stdout.write(message + os.EOL); + process.stdout.write(`${message}${os.EOL}`); }; debug = (message) => issueCommand("task.debug", {}, message); warn = (message) => issueCommand("task.issue", { type: "warning" }, message); diff --git a/dist/tools/azure/agent.mjs.map b/dist/tools/azure/agent.mjs.map index 928e26cbf..533e64946 100644 --- a/dist/tools/azure/agent.mjs.map +++ b/dist/tools/azure/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/github/agent.mjs b/dist/tools/github/agent.mjs index dbf6e6b47..0e3d2ad88 100644 --- a/dist/tools/github/agent.mjs +++ b/dist/tools/github/agent.mjs @@ -7,7 +7,7 @@ import * as fs from 'node:fs'; const CMD_STRING = "::"; function issueCommand(command, properties, message) { const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); + process.stdout.write(`${cmd.toString()}${os.EOL}`); } function issueFileCommand(command, message) { const filePath = process.env[`GITHUB_${command}`]; @@ -104,7 +104,7 @@ class BuildAgent extends BuildAgentBase { } debug = (message) => issueCommand("debug", {}, message); info = (message) => { - process__default.stdout.write(message + os.EOL); + process__default.stdout.write(`${message}${os.EOL}`); }; warn = (message) => issueCommand("warning", {}, message); error = (message) => issueCommand("error", {}, message); diff --git a/dist/tools/github/agent.mjs.map b/dist/tools/github/agent.mjs.map index 4f228413d..1032cd9a8 100644 --- a/dist/tools/github/agent.mjs.map +++ b/dist/tools/github/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(cmd.toString() + os.EOL)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(message + os.EOL)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/local/agent.mjs b/dist/tools/local/agent.mjs index 00964aef2..8eff52bf6 100644 --- a/dist/tools/local/agent.mjs +++ b/dist/tools/local/agent.mjs @@ -8,16 +8,16 @@ class BuildAgent extends BuildAgentBase { tempDirVariable = "AGENT_TEMP_DIR"; cacheDirVariable = "AGENT_TOOLS_DIR"; debug = (message) => { - process.stdout.write(`[debug] ${message}` + os.EOL); + process.stdout.write(`[debug] ${message}${os.EOL}`); }; info = (message) => { - process.stdout.write(`[info] - ${message}` + os.EOL); + process.stdout.write(`[info] - ${message}${os.EOL}`); }; warn = (message) => { - process.stderr.write(`[warn] - ${message}` + os.EOL); + process.stderr.write(`[warn] - ${message}${os.EOL}`); }; error = (message) => { - process.stderr.write(`[error] - ${message}` + os.EOL); + process.stderr.write(`[error] - ${message}${os.EOL}`); }; setSucceeded = (message, done) => this.info(`setSucceeded - ${message} - ${done}`); setFailed = (message, done) => this.error(`setFailed - ${message} - ${done}`); diff --git a/dist/tools/local/agent.mjs.map b/dist/tools/local/agent.mjs.map index 4117bd345..789c25eb7 100644 --- a/dist/tools/local/agent.mjs.map +++ b/dist/tools/local/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/local/build-agent.ts"],"sourcesContent":["import * as process from 'node:process'\nimport os from 'node:os'\n\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Local'\n\n sourceDirVariable = 'AGENT_SOURCE_DIR'\n tempDirVariable = 'AGENT_TEMP_DIR'\n cacheDirVariable = 'AGENT_TOOLS_DIR'\n\n debug = (message: string): void => {\n process.stdout.write(`[debug] ${message}` + os.EOL)\n }\n\n info = (message: string): void => {\n process.stdout.write(`[info] - ${message}` + os.EOL)\n }\n\n warn = (message: string): void => {\n process.stderr.write(`[warn] - ${message}` + os.EOL)\n }\n\n error = (message: string): void => {\n process.stderr.write(`[error] - ${message}` + os.EOL)\n }\n\n setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`)\n\n setFailed = (message: string, done?: boolean): void => this.error(`setFailed - ${message} - ${done}`)\n\n setOutput = (name: string, value: string): void => this.debug(`setOutput - ${name} - ${value}`)\n\n setVariable(name: string, value: string): void {\n this.debug(`setVariable - ${name} - ${value}`)\n process.env[name] = value\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,mBAAmB,cAAsC,CAAA;AAAA,EAClE,SAAY,GAAA,OAAA;AAAA,EAEZ,iBAAoB,GAAA,kBAAA;AAAA,EACpB,eAAkB,GAAA,gBAAA;AAAA,EAClB,gBAAmB,GAAA,iBAAA;AAAA,EAEnB,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACtD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACvD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACvD;AAAA,EAEA,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,UAAA,EAAa,OAAO,CAAA,CAAA,GAAK,GAAG,GAAG,CAAA;AAAA,GACxD;AAAA,EAEA,YAAA,GAAe,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,KAAK,CAAkB,eAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEzG,SAAA,GAAY,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEpG,SAAA,GAAY,CAAC,IAAA,EAAc,KAAwB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,IAAI,CAAM,GAAA,EAAA,KAAK,CAAE,CAAA,CAAA;AAAA,EAE9F,WAAA,CAAY,MAAc,KAAqB,EAAA;AAC3C,IAAA,IAAA,CAAK,KAAM,CAAA,CAAA,cAAA,EAAiB,IAAI,CAAA,GAAA,EAAM,KAAK,CAAE,CAAA,CAAA;AAC7C,IAAQ,OAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,KAAA;AAAA;AACxB,EAEA,oBAAoB,CAAC,OAAA,KAA0B,KAAK,KAAM,CAAA,CAAA,oBAAA,EAAuB,OAAO,CAAE,CAAA,CAAA;AAC9F;;;;"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/local/build-agent.ts"],"sourcesContent":["import * as process from 'node:process'\nimport os from 'node:os'\n\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Local'\n\n sourceDirVariable = 'AGENT_SOURCE_DIR'\n tempDirVariable = 'AGENT_TEMP_DIR'\n cacheDirVariable = 'AGENT_TOOLS_DIR'\n\n debug = (message: string): void => {\n process.stdout.write(`[debug] ${message}${os.EOL}`)\n }\n\n info = (message: string): void => {\n process.stdout.write(`[info] - ${message}${os.EOL}`)\n }\n\n warn = (message: string): void => {\n process.stderr.write(`[warn] - ${message}${os.EOL}`)\n }\n\n error = (message: string): void => {\n process.stderr.write(`[error] - ${message}${os.EOL}`)\n }\n\n setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`)\n\n setFailed = (message: string, done?: boolean): void => this.error(`setFailed - ${message} - ${done}`)\n\n setOutput = (name: string, value: string): void => this.debug(`setOutput - ${name} - ${value}`)\n\n setVariable(name: string, value: string): void {\n this.debug(`setVariable - ${name} - ${value}`)\n process.env[name] = value\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,mBAAmB,cAAsC,CAAA;AAAA,EAClE,SAAY,GAAA,OAAA;AAAA,EAEZ,iBAAoB,GAAA,kBAAA;AAAA,EACpB,eAAkB,GAAA,gBAAA;AAAA,EAClB,gBAAmB,GAAA,iBAAA;AAAA,EAEnB,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,QAAA,EAAW,OAAO,CAAG,EAAA,EAAA,CAAG,GAAG,CAAE,CAAA,CAAA;AAAA,GACtD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAG,EAAA,EAAA,CAAG,GAAG,CAAE,CAAA,CAAA;AAAA,GACvD;AAAA,EAEA,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,SAAA,EAAY,OAAO,CAAG,EAAA,EAAA,CAAG,GAAG,CAAE,CAAA,CAAA;AAAA,GACvD;AAAA,EAEA,KAAA,GAAQ,CAAC,OAA0B,KAAA;AAC/B,IAAA,OAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,UAAA,EAAa,OAAO,CAAG,EAAA,EAAA,CAAG,GAAG,CAAE,CAAA,CAAA;AAAA,GACxD;AAAA,EAEA,YAAA,GAAe,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,KAAK,CAAkB,eAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEzG,SAAA,GAAY,CAAC,OAAA,EAAiB,IAAyB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,OAAO,CAAM,GAAA,EAAA,IAAI,CAAE,CAAA,CAAA;AAAA,EAEpG,SAAA,GAAY,CAAC,IAAA,EAAc,KAAwB,KAAA,IAAA,CAAK,MAAM,CAAe,YAAA,EAAA,IAAI,CAAM,GAAA,EAAA,KAAK,CAAE,CAAA,CAAA;AAAA,EAE9F,WAAA,CAAY,MAAc,KAAqB,EAAA;AAC3C,IAAA,IAAA,CAAK,KAAM,CAAA,CAAA,cAAA,EAAiB,IAAI,CAAA,GAAA,EAAM,KAAK,CAAE,CAAA,CAAA;AAC7C,IAAQ,OAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,KAAA;AAAA;AACxB,EAEA,oBAAoB,CAAC,OAAA,KAA0B,KAAK,KAAM,CAAA,CAAA,oBAAA,EAAuB,OAAO,CAAE,CAAA,CAAA;AAC9F;;;;"} \ No newline at end of file diff --git a/src/__tests__/agents/github/build-agent.spec.ts b/src/__tests__/agents/github/build-agent.spec.ts index 1d10cad74..b32665b1e 100644 --- a/src/__tests__/agents/github/build-agent.spec.ts +++ b/src/__tests__/agents/github/build-agent.spec.ts @@ -108,7 +108,7 @@ describe.skipIf(isGitHubActions)('build-agent/github', () => { const expected = prepareKeyValueMessage('name', 'value') expect(appendFileSyncSpy).toHaveBeenCalledTimes(1) - expect(appendFileSyncSpy).toHaveBeenCalledWith('test.env', expected + os.EOL, { encoding: 'utf8' }) + expect(appendFileSyncSpy).toHaveBeenCalledWith('test.env', `${expected}${os.EOL}`, { encoding: 'utf8' }) expect(spy).toHaveBeenCalledTimes(2) expect(spy).toHaveBeenCalledWith(`::set-output name=name::value${os.EOL}`) @@ -142,7 +142,7 @@ describe.skipIf(isGitHubActions)('build-agent/github', () => { const expected = prepareKeyValueMessage('name', 'value') expect(appendFileSyncSpy).toHaveBeenCalledTimes(1) - expect(appendFileSyncSpy).toHaveBeenCalledWith('test.env', expected + os.EOL, { encoding: 'utf8' }) + expect(appendFileSyncSpy).toHaveBeenCalledWith('test.env', `${expected}${os.EOL}`, { encoding: 'utf8' }) expect(spy).toHaveBeenCalledTimes(1) expect(spy).toHaveBeenCalledWith(`::set-env name=name::value${os.EOL}`) diff --git a/src/__tests__/agents/local/build-agent.spec.ts b/src/__tests__/agents/local/build-agent.spec.ts index 32443bdfa..cdadf888a 100644 --- a/src/__tests__/agents/local/build-agent.spec.ts +++ b/src/__tests__/agents/local/build-agent.spec.ts @@ -36,7 +36,7 @@ describe('build-agent/local', () => { agent.debug('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[debug] test' + os.EOL) + expect(spy).toHaveBeenCalledWith(`[debug] test${os.EOL}`) }) it('should log info', () => { @@ -44,7 +44,7 @@ describe('build-agent/local', () => { agent.info('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[info] - test' + os.EOL) + expect(spy).toHaveBeenCalledWith(`[info] - test${os.EOL}`) }) it('should log warn', () => { @@ -52,7 +52,7 @@ describe('build-agent/local', () => { agent.warn('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[warn] - test' + os.EOL) + expect(spy).toHaveBeenCalledWith(`[warn] - test${os.EOL}`) }) it('should log error', () => { @@ -60,7 +60,7 @@ describe('build-agent/local', () => { agent.error('test') expect(spy).toHaveBeenCalledTimes(1) - expect(spy).toHaveBeenCalledWith('[error] - test' + os.EOL) + expect(spy).toHaveBeenCalledWith(`[error] - test${os.EOL}`) }) it('should set succeeded', () => { diff --git a/src/agents/azure/build-agent.ts b/src/agents/azure/build-agent.ts index 5a43f0f62..a26e4de7f 100644 --- a/src/agents/azure/build-agent.ts +++ b/src/agents/azure/build-agent.ts @@ -16,7 +16,7 @@ export class BuildAgent extends BuildAgentBase implements IBuildAgent { } info = (message: string): void => { - process.stdout.write(message + os.EOL) + process.stdout.write(`${message}${os.EOL}`) } debug = (message: string): void => issueCommand('task.debug', {}, message) diff --git a/src/agents/azure/command.ts b/src/agents/azure/command.ts index 3f2d39ff2..349a024b5 100644 --- a/src/agents/azure/command.ts +++ b/src/agents/azure/command.ts @@ -23,7 +23,7 @@ export enum TaskResult { **/ export function issueCommand(command: string, properties: CommandProperties, message: string): void { const cmd = new Command(command, properties, message) - process.stdout.write(cmd.toString() + os.EOL) + process.stdout.write(`${cmd.toString()}${os.EOL}`) } class Command { diff --git a/src/agents/github/build-agent.ts b/src/agents/github/build-agent.ts index 38e153f11..4a243b7ef 100644 --- a/src/agents/github/build-agent.ts +++ b/src/agents/github/build-agent.ts @@ -23,7 +23,7 @@ export class BuildAgent extends BuildAgentBase implements IBuildAgent { debug = (message: string): void => issueCommand('debug', {}, message) info = (message: string): void => { - process.stdout.write(message + os.EOL) + process.stdout.write(`${message}${os.EOL}`) } warn = (message: string): void => issueCommand('warning', {}, message) diff --git a/src/agents/github/command.ts b/src/agents/github/command.ts index af06eec40..46e7da434 100644 --- a/src/agents/github/command.ts +++ b/src/agents/github/command.ts @@ -18,7 +18,7 @@ export type CommandProperties = Record */ export function issueCommand(command: string, properties: CommandProperties, message: string): void { const cmd = new Command(command, properties, message) - process.stdout.write(cmd.toString() + os.EOL) + process.stdout.write(`${cmd.toString()}${os.EOL}`) } export function issueFileCommand(command: string, message: string | object): void { diff --git a/src/agents/local/build-agent.ts b/src/agents/local/build-agent.ts index dfb151150..9ec6fe8a2 100644 --- a/src/agents/local/build-agent.ts +++ b/src/agents/local/build-agent.ts @@ -11,19 +11,19 @@ export class BuildAgent extends BuildAgentBase implements IBuildAgent { cacheDirVariable = 'AGENT_TOOLS_DIR' debug = (message: string): void => { - process.stdout.write(`[debug] ${message}` + os.EOL) + process.stdout.write(`[debug] ${message}${os.EOL}`) } info = (message: string): void => { - process.stdout.write(`[info] - ${message}` + os.EOL) + process.stdout.write(`[info] - ${message}${os.EOL}`) } warn = (message: string): void => { - process.stderr.write(`[warn] - ${message}` + os.EOL) + process.stderr.write(`[warn] - ${message}${os.EOL}`) } error = (message: string): void => { - process.stderr.write(`[error] - ${message}` + os.EOL) + process.stderr.write(`[error] - ${message}${os.EOL}`) } setSucceeded = (message: string, done?: boolean): void => this.info(`setSucceeded - ${message} - ${done}`) From 363efcac36f25d5e4c17664aab5d54353ce88c62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 05:23:45 +0000 Subject: [PATCH 087/108] (npm): Bump @types/node from 22.13.17 to 22.14.0 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.13.17 to 22.14.0 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 22.14.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6f9f5fb87..b73632cad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.17", + "@types/node": "^22.14.0", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", @@ -1218,13 +1218,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", - "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", + "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/@types/semver": { @@ -7509,9 +7509,9 @@ "license": "MIT" }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index b9241a8ea..6b907dba9 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.23.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.13.17", + "@types/node": "^22.14.0", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.38", "dotenv": "^16.4.7", From c6d354d523b1b434cce9510b342985c89ca6f08e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 05:29:37 +0000 Subject: [PATCH 088/108] (npm): Bump the eslint group with 2 updates Bumps the eslint group with 2 updates: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) and [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier). Updates `@vitest/eslint-plugin` from 1.1.38 to 1.1.39 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.38...v1.1.39) Updates `eslint-plugin-prettier` from 5.2.5 to 5.2.6 - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.5...v5.2.6) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-version: 1.1.39 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint-plugin-prettier dependency-version: 5.2.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 26 +++++++++++++------------- package.json | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index b73632cad..2bfbe1869 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,11 +16,11 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.0", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.38", + "@vitest/eslint-plugin": "^1.1.39", "dotenv": "^16.4.7", "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.5", + "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", @@ -1435,9 +1435,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.38", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.38.tgz", - "integrity": "sha512-KcOTZyVz8RiM5HyriiDVrP1CyBGuhRxle+lBsmSs6NTJEO/8dKVAq+f5vQzHj1/Kc7bYXSDO6yBe62Zx0t5iaw==", + "version": "1.1.39", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.39.tgz", + "integrity": "sha512-l5/MUFCYI8nxwr62JHlWwXfeQNS8E7xy71lSLGQ3CrjGjBdWLs1Rtee+BvYwy2m4YVPwYqUwdcAIOaZOwPUpfg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2913,14 +2913,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz", - "integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==", + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz", + "integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==", "dev": true, "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.10.2" + "synckit": "^0.11.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -7074,9 +7074,9 @@ } }, "node_modules/synckit": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.2.tgz", - "integrity": "sha512-cSGiaCPhFzeFIQY8KKEacv46LclENY4d60jgkwCrKomvRkIjtMyss1dPkHLp/62c1leuOjEedB1+lWcwqTJSvA==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.1.tgz", + "integrity": "sha512-fWZqNBZNNFp/7mTUy1fSsydhKsAKJ+u90Nk7kOK5Gcq9vObaqLBLjWFDBkyVU9Vvc6Y71VbOevMuGhqv02bT+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7087,7 +7087,7 @@ "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "url": "https://opencollective.com/synckit" } }, "node_modules/tar-stream": { diff --git a/package.json b/package.json index 6b907dba9..16cfa3bfb 100644 --- a/package.json +++ b/package.json @@ -52,11 +52,11 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.0", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.38", + "@vitest/eslint-plugin": "^1.1.39", "dotenv": "^16.4.7", "eslint": "^9.23.0", "eslint-config-prettier": "^10.1.1", - "eslint-plugin-prettier": "^5.2.5", + "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", From 0bfab9fe2e18bf5391d756570723154858411599 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Fri, 11 Apr 2025 17:32:53 +0200 Subject: [PATCH 089/108] pin the version of GRM used in unit tests --- src/__tests__/tools/gitreleasemanager/runner.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__tests__/tools/gitreleasemanager/runner.spec.ts b/src/__tests__/tools/gitreleasemanager/runner.spec.ts index 1d35e0b47..0b12ea42e 100644 --- a/src/__tests__/tools/gitreleasemanager/runner.spec.ts +++ b/src/__tests__/tools/gitreleasemanager/runner.spec.ts @@ -14,7 +14,7 @@ describe('GitReleaseManager Runner', () => { const toolPathVariable = 'GITRELEASEMANAGER_PATH' const toolName = 'dotnet-gitreleasemanager' - const versionSpec = '0.x' + const versionSpec = '0.19.x' function testOnAgent(agent: IBuildAgent): void { let version: string From 3c45343560cd9de3bae9ec5b86655e4894a4fd6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 05:08:25 +0000 Subject: [PATCH 090/108] (npm): Bump the eslint group across 1 directory with 5 updates Bumps the eslint group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.23.0` | `9.24.0` | | [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) | `1.1.39` | `1.1.42` | | [eslint](https://github.com/eslint/eslint) | `9.23.0` | `9.24.0` | | [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) | `10.1.1` | `10.1.2` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.29.0` | `8.29.1` | Updates `@eslint/js` from 9.23.0 to 9.24.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.24.0/packages/js) Updates `@vitest/eslint-plugin` from 1.1.39 to 1.1.42 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.39...v1.1.42) Updates `eslint` from 9.23.0 to 9.24.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.23.0...v9.24.0) Updates `eslint-config-prettier` from 10.1.1 to 10.1.2 - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.1.1...v10.1.2) Updates `typescript-eslint` from 8.29.0 to 8.29.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.29.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 9.24.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@vitest/eslint-plugin" dependency-version: 1.1.42 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint dependency-version: 9.24.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint-config-prettier dependency-version: 10.1.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-version: 8.29.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 145 +++++++++++++++++++++++----------------------- package.json | 10 ++-- 2 files changed, 76 insertions(+), 79 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2bfbe1869..a73808240 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,15 +11,15 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.23.0", + "@eslint/js": "^9.24.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.0", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.39", + "@vitest/eslint-plugin": "^1.1.42", "dotenv": "^16.4.7", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", + "eslint": "^9.24.0", + "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", "globals": "^16.0.0", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.2", - "typescript-eslint": "^8.29.0", + "typescript-eslint": "^8.29.1", "vite": "^6.2.4", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", @@ -500,9 +500,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -623,9 +623,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", - "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz", + "integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==", "dev": true, "license": "MIT", "engines": { @@ -1242,17 +1242,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", - "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz", + "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/type-utils": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/type-utils": "8.29.1", + "@typescript-eslint/utils": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1272,16 +1272,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", - "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz", + "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", "debug": "^4.3.4" }, "engines": { @@ -1297,14 +1297,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", - "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz", + "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0" + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1315,14 +1315,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", - "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz", + "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/utils": "8.29.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1339,9 +1339,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", - "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz", + "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==", "dev": true, "license": "MIT", "engines": { @@ -1353,14 +1353,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", - "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz", + "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1380,16 +1380,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", - "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz", + "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0" + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1404,13 +1404,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", - "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz", + "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/types": "8.29.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1435,13 +1435,13 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.39", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.39.tgz", - "integrity": "sha512-l5/MUFCYI8nxwr62JHlWwXfeQNS8E7xy71lSLGQ3CrjGjBdWLs1Rtee+BvYwy2m4YVPwYqUwdcAIOaZOwPUpfg==", + "version": "1.1.42", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.42.tgz", + "integrity": "sha512-dTGNbh/angh+hoqp5L5A8YO/29mOXDXmDQ/1fzt/jiYzLvU6FvrMqJpGqMqh5g+Fz6MDoZi0AlxefnFUg93Q5A==", "dev": true, "license": "MIT", "peerDependencies": { - "@typescript-eslint/utils": "^8.24.0", + "@typescript-eslint/utils": ">= 8.24.0", "eslint": ">= 8.57.0", "typescript": ">= 5.0.0", "vitest": "*" @@ -1449,9 +1449,6 @@ "peerDependenciesMeta": { "typescript": { "optional": true - }, - "vitest": { - "optional": true } } }, @@ -2839,19 +2836,19 @@ } }, "node_modules/eslint": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", - "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", + "version": "9.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz", + "integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", + "@eslint/config-array": "^0.20.0", "@eslint/config-helpers": "^0.2.0", "@eslint/core": "^0.12.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.23.0", + "@eslint/js": "9.24.0", "@eslint/plugin-kit": "^0.2.7", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2900,9 +2897,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", - "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.2.tgz", + "integrity": "sha512-Epgp/EofAUeEpIdZkW60MHKvPyru1ruQJxPL+WIycnaPApuseK0Zpkrh/FwL9oIpQvIhJwV7ptOy0DWUjTlCiA==", "dev": true, "license": "MIT", "bin": { @@ -7457,15 +7454,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.0.tgz", - "integrity": "sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==", + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.1.tgz", + "integrity": "sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.29.0", - "@typescript-eslint/parser": "8.29.0", - "@typescript-eslint/utils": "8.29.0" + "@typescript-eslint/eslint-plugin": "8.29.1", + "@typescript-eslint/parser": "8.29.1", + "@typescript-eslint/utils": "8.29.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 16cfa3bfb..68a453396 100644 --- a/package.json +++ b/package.json @@ -47,15 +47,15 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.23.0", + "@eslint/js": "^9.24.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.0", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.39", + "@vitest/eslint-plugin": "^1.1.42", "dotenv": "^16.4.7", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", + "eslint": "^9.24.0", + "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", "globals": "^16.0.0", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.2", - "typescript-eslint": "^8.29.0", + "typescript-eslint": "^8.29.1", "vite": "^6.2.4", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", From 5c53f0774caeabe277e9b4380606be50d2d85b63 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 15:48:45 +0000 Subject: [PATCH 091/108] (npm): Bump dotenv from 16.4.7 to 16.5.0 Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.7 to 16.5.0. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.4.7...v16.5.0) --- updated-dependencies: - dependency-name: dotenv dependency-version: 16.5.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a73808240..967c63312 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@types/node": "^22.14.0", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.42", - "dotenv": "^16.4.7", + "dotenv": "^16.5.0", "eslint": "^9.24.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", @@ -2573,9 +2573,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "dev": true, "license": "BSD-2-Clause", "engines": { diff --git a/package.json b/package.json index 68a453396..3aedb289d 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/node": "^22.14.0", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.42", - "dotenv": "^16.4.7", + "dotenv": "^16.5.0", "eslint": "^9.24.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", From 3591345cd8c1f391137ccc850a8994e646efc527 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 15:49:06 +0000 Subject: [PATCH 092/108] (npm): Bump vite from 6.2.4 to 6.2.6 in the npm_and_yarn group Bumps the npm_and_yarn group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.2.4 to 6.2.6 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.6/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.2.6 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 967c63312..9fdd53ef5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.2", "typescript-eslint": "^8.29.1", - "vite": "^6.2.4", + "vite": "^6.2.6", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" @@ -7566,9 +7566,9 @@ } }, "node_modules/vite": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", - "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz", + "integrity": "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 3aedb289d..5d9e00894 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.2", "typescript-eslint": "^8.29.1", - "vite": "^6.2.4", + "vite": "^6.2.6", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" From a5ecea814f8f28774599ac1ccabf79be25ff0881 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 15:59:53 +0000 Subject: [PATCH 093/108] (npm): Bump typescript from 5.8.2 to 5.8.3 Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.2 to 5.8.3. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml) - [Commits](https://github.com/microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-version: 5.8.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9fdd53ef5..bfbb3cb8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", - "typescript": "^5.8.2", + "typescript": "^5.8.3", "typescript-eslint": "^8.29.1", "vite": "^6.2.6", "vite-node": "^3.1.1", @@ -7440,9 +7440,9 @@ } }, "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 5d9e00894..441f0b82f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "prettier": "^3.5.3", "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", - "typescript": "^5.8.2", + "typescript": "^5.8.3", "typescript-eslint": "^8.29.1", "vite": "^6.2.6", "vite-node": "^3.1.1", From 436b1e56fc53ce635282077f9fd29f7bb806602b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 05:58:49 +0000 Subject: [PATCH 094/108] (npm): Bump lint-staged from 15.5.0 to 15.5.1 Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.5.0 to 15.5.1. - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v15.5.0...v15.5.1) --- updated-dependencies: - dependency-name: lint-staged dependency-version: 15.5.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index bfbb3cb8c..6130d5c3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", - "lint-staged": "^15.5.0", + "lint-staged": "^15.5.1", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", @@ -4376,9 +4376,9 @@ } }, "node_modules/lint-staged": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.0.tgz", - "integrity": "sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.1.tgz", + "integrity": "sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 441f0b82f..3cb94e9ae 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "glob": "^11.0.1", "globals": "^16.0.0", "husky": "^9.1.7", - "lint-staged": "^15.5.0", + "lint-staged": "^15.5.1", "markdownlint-cli": "^0.44.0", "npm-run-all2": "^7.0.2", "prettier": "^3.5.3", From de50b935057971eaee220cbfc8c05f21c3739122 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 06:03:51 +0000 Subject: [PATCH 095/108] (npm): Bump @types/node from 22.14.0 to 22.14.1 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.14.0 to 22.14.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 22.14.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6130d5c3e..f33d59fb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.24.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.14.0", + "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.42", "dotenv": "^16.5.0", @@ -1218,9 +1218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.14.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", - "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", + "version": "22.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", + "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 3cb94e9ae..ac4aa2a20 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.24.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.14.0", + "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.42", "dotenv": "^16.5.0", From 6cdf5ccf7e86c99420a776f2af4458010a7e1f69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Apr 2025 05:49:49 +0000 Subject: [PATCH 096/108] (npm): Bump typescript-eslint from 8.29.1 to 8.30.1 in the eslint group Bumps the eslint group with 1 update: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `typescript-eslint` from 8.29.1 to 8.30.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.30.1/packages/typescript-eslint) --- updated-dependencies: - dependency-name: typescript-eslint dependency-version: 8.30.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 98 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/package-lock.json b/package-lock.json index f33d59fb4..718237bd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.3", - "typescript-eslint": "^8.29.1", + "typescript-eslint": "^8.30.1", "vite": "^6.2.6", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", @@ -1242,17 +1242,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz", - "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz", + "integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/type-utils": "8.29.1", - "@typescript-eslint/utils": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", + "@typescript-eslint/scope-manager": "8.30.1", + "@typescript-eslint/type-utils": "8.30.1", + "@typescript-eslint/utils": "8.30.1", + "@typescript-eslint/visitor-keys": "8.30.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1272,16 +1272,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz", - "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz", + "integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/typescript-estree": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", + "@typescript-eslint/scope-manager": "8.30.1", + "@typescript-eslint/types": "8.30.1", + "@typescript-eslint/typescript-estree": "8.30.1", + "@typescript-eslint/visitor-keys": "8.30.1", "debug": "^4.3.4" }, "engines": { @@ -1297,14 +1297,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz", - "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz", + "integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1" + "@typescript-eslint/types": "8.30.1", + "@typescript-eslint/visitor-keys": "8.30.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1315,14 +1315,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz", - "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz", + "integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.1", - "@typescript-eslint/utils": "8.29.1", + "@typescript-eslint/typescript-estree": "8.30.1", + "@typescript-eslint/utils": "8.30.1", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1339,9 +1339,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz", - "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz", + "integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==", "dev": true, "license": "MIT", "engines": { @@ -1353,14 +1353,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz", - "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz", + "integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", + "@typescript-eslint/types": "8.30.1", + "@typescript-eslint/visitor-keys": "8.30.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1380,16 +1380,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz", - "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz", + "integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/typescript-estree": "8.29.1" + "@typescript-eslint/scope-manager": "8.30.1", + "@typescript-eslint/types": "8.30.1", + "@typescript-eslint/typescript-estree": "8.30.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1404,13 +1404,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz", - "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz", + "integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/types": "8.30.1", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -7454,15 +7454,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.1.tgz", - "integrity": "sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w==", + "version": "8.30.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.30.1.tgz", + "integrity": "sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.29.1", - "@typescript-eslint/parser": "8.29.1", - "@typescript-eslint/utils": "8.29.1" + "@typescript-eslint/eslint-plugin": "8.30.1", + "@typescript-eslint/parser": "8.30.1", + "@typescript-eslint/utils": "8.30.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index ac4aa2a20..6e56ac698 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.3", - "typescript-eslint": "^8.29.1", + "typescript-eslint": "^8.30.1", "vite": "^6.2.6", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", From b8f0aefa8eac8ea690363f90f80f8be9f3032e3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Apr 2025 05:22:35 +0000 Subject: [PATCH 097/108] (npm): Bump vite from 6.2.6 to 6.3.1 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.2.6 to 6.3.1 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/create-vite@6.3.1/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 267 +++++++++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 180 insertions(+), 89 deletions(-) diff --git a/package-lock.json b/package-lock.json index 718237bd5..32841986e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.2.6", + "vite": "^6.3.1", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" @@ -846,9 +846,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.4.tgz", - "integrity": "sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz", + "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==", "cpu": [ "arm" ], @@ -860,9 +860,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.4.tgz", - "integrity": "sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz", + "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==", "cpu": [ "arm64" ], @@ -874,9 +874,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.4.tgz", - "integrity": "sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz", + "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==", "cpu": [ "arm64" ], @@ -888,9 +888,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.4.tgz", - "integrity": "sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz", + "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==", "cpu": [ "x64" ], @@ -902,9 +902,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.4.tgz", - "integrity": "sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz", + "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==", "cpu": [ "arm64" ], @@ -916,9 +916,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.4.tgz", - "integrity": "sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz", + "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==", "cpu": [ "x64" ], @@ -930,9 +930,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.4.tgz", - "integrity": "sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz", + "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==", "cpu": [ "arm" ], @@ -944,9 +944,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.4.tgz", - "integrity": "sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz", + "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==", "cpu": [ "arm" ], @@ -958,9 +958,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.4.tgz", - "integrity": "sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz", + "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==", "cpu": [ "arm64" ], @@ -972,9 +972,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.4.tgz", - "integrity": "sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz", + "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==", "cpu": [ "arm64" ], @@ -986,9 +986,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.4.tgz", - "integrity": "sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz", + "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==", "cpu": [ "loong64" ], @@ -1000,9 +1000,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.4.tgz", - "integrity": "sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz", + "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==", "cpu": [ "ppc64" ], @@ -1014,9 +1014,23 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.4.tgz", - "integrity": "sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz", + "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz", + "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==", "cpu": [ "riscv64" ], @@ -1028,9 +1042,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.4.tgz", - "integrity": "sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz", + "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==", "cpu": [ "s390x" ], @@ -1042,9 +1056,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.4.tgz", - "integrity": "sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz", + "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==", "cpu": [ "x64" ], @@ -1056,9 +1070,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.4.tgz", - "integrity": "sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz", + "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==", "cpu": [ "x64" ], @@ -1070,9 +1084,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.4.tgz", - "integrity": "sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz", + "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==", "cpu": [ "arm64" ], @@ -1084,9 +1098,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.4.tgz", - "integrity": "sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz", + "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==", "cpu": [ "ia32" ], @@ -1098,9 +1112,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.4.tgz", - "integrity": "sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz", + "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==", "cpu": [ "x64" ], @@ -1190,9 +1204,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "dev": true, "license": "MIT" }, @@ -6395,13 +6409,13 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.4.tgz", - "integrity": "sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==", + "version": "4.40.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz", + "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -6411,25 +6425,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.4", - "@rollup/rollup-android-arm64": "4.34.4", - "@rollup/rollup-darwin-arm64": "4.34.4", - "@rollup/rollup-darwin-x64": "4.34.4", - "@rollup/rollup-freebsd-arm64": "4.34.4", - "@rollup/rollup-freebsd-x64": "4.34.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.4", - "@rollup/rollup-linux-arm-musleabihf": "4.34.4", - "@rollup/rollup-linux-arm64-gnu": "4.34.4", - "@rollup/rollup-linux-arm64-musl": "4.34.4", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.4", - "@rollup/rollup-linux-riscv64-gnu": "4.34.4", - "@rollup/rollup-linux-s390x-gnu": "4.34.4", - "@rollup/rollup-linux-x64-gnu": "4.34.4", - "@rollup/rollup-linux-x64-musl": "4.34.4", - "@rollup/rollup-win32-arm64-msvc": "4.34.4", - "@rollup/rollup-win32-ia32-msvc": "4.34.4", - "@rollup/rollup-win32-x64-msvc": "4.34.4", + "@rollup/rollup-android-arm-eabi": "4.40.0", + "@rollup/rollup-android-arm64": "4.40.0", + "@rollup/rollup-darwin-arm64": "4.40.0", + "@rollup/rollup-darwin-x64": "4.40.0", + "@rollup/rollup-freebsd-arm64": "4.40.0", + "@rollup/rollup-freebsd-x64": "4.40.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.0", + "@rollup/rollup-linux-arm-musleabihf": "4.40.0", + "@rollup/rollup-linux-arm64-gnu": "4.40.0", + "@rollup/rollup-linux-arm64-musl": "4.40.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0", + "@rollup/rollup-linux-riscv64-gnu": "4.40.0", + "@rollup/rollup-linux-riscv64-musl": "4.40.0", + "@rollup/rollup-linux-s390x-gnu": "4.40.0", + "@rollup/rollup-linux-x64-gnu": "4.40.0", + "@rollup/rollup-linux-x64-musl": "4.40.0", + "@rollup/rollup-win32-arm64-msvc": "4.40.0", + "@rollup/rollup-win32-ia32-msvc": "4.40.0", + "@rollup/rollup-win32-x64-msvc": "4.40.0", "fsevents": "~2.3.2" } }, @@ -7196,6 +7211,51 @@ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "dev": true }, + "node_modules/tinyglobby": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinypool": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", @@ -7566,15 +7626,18 @@ } }, "node_modules/vite": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz", - "integrity": "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.1.tgz", + "integrity": "sha512-kkzzkqtMESYklo96HKKPE5KKLkC1amlsqt+RjFMlX2AvbRB/0wghap19NdBxxwGZ+h/C6DLCrcEphPIItlGrRQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.3", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.12" }, "bin": { "vite": "bin/vite.js" @@ -7679,6 +7742,34 @@ } } }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vitest": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", diff --git a/package.json b/package.json index 6e56ac698..5c3035f92 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.2.6", + "vite": "^6.3.1", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" From 3ac901ed62863f6acf64348e84f49b0b8e2ff16c Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Thu, 17 Apr 2025 05:28:27 +0000 Subject: [PATCH 098/108] dist update --- dist/tools/azure/agent.mjs | 2 +- dist/tools/azure/agent.mjs.map | 2 +- dist/tools/github/agent.mjs | 2 +- dist/tools/github/agent.mjs.map | 2 +- dist/tools/libs/agents.mjs | 4 ++-- dist/tools/libs/agents.mjs.map | 2 +- dist/tools/libs/tools.mjs | 4 ++-- dist/tools/libs/tools.mjs.map | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dist/tools/azure/agent.mjs b/dist/tools/azure/agent.mjs index 02763b05c..fe7eb05e5 100644 --- a/dist/tools/azure/agent.mjs +++ b/dist/tools/azure/agent.mjs @@ -53,7 +53,7 @@ function escapeProperty(s) { return toCommandValue(s).replace(/%/g, "%AZP25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/]/g, "%5D").replace(/;/g, "%3B"); } function toCommandValue(input) { - if (input === null || input === undefined) { + if (input === null || input === void 0) { return ""; } else if (typeof input === "string" || input instanceof String) { return input; diff --git a/dist/tools/azure/agent.mjs.map b/dist/tools/azure/agent.mjs.map index 533e64946..ded3a5556 100644 --- a/dist/tools/azure/agent.mjs.map +++ b/dist/tools/azure/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/azure/command.ts","../../../src/agents/azure/build-agent.ts"],"sourcesContent":["import * as os from 'node:os'\nimport * as process from 'node:process'\n\nconst CMD_PREFIX = '##vso['\n\nexport type CommandProperties = Record\n\nexport enum TaskResult {\n Succeeded = 0,\n SucceededWithIssues = 1,\n Failed = 2,\n Cancelled = 3,\n Skipped = 4\n}\n\n/**\n * Command Format:\n * ##vso[artifact.command key=value;key=value]user message\n *\n * Examples:\n * ##vso[task.progress value=58]\n * ##vso[task.issue type=warning;]This is the user warning message\n **/\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_PREFIX + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key] as string\n if (val) {\n // safely append the val - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n cmdStr += `${key}=${escapeProperty(`${val || ''}`)};`\n }\n }\n }\n }\n\n cmdStr += ']'\n\n // safely append the message - avoid blowing up when attempting to\n // call .replace() if message is not a string for some reason\n const message = `${this.message || ''}`\n cmdStr += escapeData(message)\n\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%AZP25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/]/g, '%5D').replace(/;/g, '%3B')\n}\n\nfunction toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n","import * as os from 'node:os'\nimport * as process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { issueCommand, TaskResult } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'Azure Pipelines'\n\n sourceDirVariable = 'BUILD_SOURCESDIRECTORY'\n tempDirVariable = 'AGENT_TEMPDIRECTORY'\n cacheDirVariable = 'AGENT_TOOLSDIRECTORY'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n issueCommand('task.prependpath', {}, inputPath)\n }\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n debug = (message: string): void => issueCommand('task.debug', {}, message)\n\n warn = (message: string): void => issueCommand('task.issue', { type: 'warning' }, message)\n\n error = (message: string): void => issueCommand('task.issue', { type: 'error' }, message)\n\n setSucceeded = (message: string, done?: boolean): void => this._setResult(TaskResult.Succeeded, message, done)\n\n setFailed = (message: string, done?: boolean): void => this._setResult(TaskResult.Failed, message, done)\n\n setOutput = (name: string, value: string): void => this._setVariable(name, value, true)\n\n setVariable = (name: string, value: string): void => this._setVariable(name, value)\n\n updateBuildNumber = (version: string): void => this._updateBuildNumber(version)\n\n private _updateBuildNumber(version: string): void {\n this.debug(`build number: ${version}`)\n issueCommand('build.updatebuildnumber', {}, version)\n }\n\n private _setResult(result: TaskResult, message: string, done?: boolean): void {\n this.debug(`task result: ${TaskResult[result]}`)\n // add an error issue\n if (result === TaskResult.Failed && message) {\n this.error(message)\n } else if (result === TaskResult.SucceededWithIssues && message) {\n this.warn(message)\n } else {\n this.info(message)\n }\n // task.complete\n const properties: Record = { result: TaskResult[result] }\n if (done) {\n properties['done'] = 'true'\n }\n issueCommand('task.complete', properties, message)\n }\n\n private _setVariable(name: string, val: string, isOutput = false): void {\n const key: string = this._getVariableKey(name)\n const varValue = val || ''\n process.env[key] = varValue\n\n issueCommand(\n 'task.setvariable',\n {\n variable: name || '',\n isOutput: (isOutput || false).toString(),\n issecret: 'false'\n },\n varValue\n )\n }\n\n private _getVariableKey(name: string): string {\n return name.replace(/\\./g, '_').replace(/ /g, '_').toUpperCase()\n }\n}\n"],"names":["TaskResult"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/github/agent.mjs b/dist/tools/github/agent.mjs index 0e3d2ad88..cfda5d435 100644 --- a/dist/tools/github/agent.mjs +++ b/dist/tools/github/agent.mjs @@ -68,7 +68,7 @@ function escapeProperty(s) { return toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } function toCommandValue(input) { - if (input === null || input === undefined) { + if (input === null || input === void 0) { return ""; } else if (typeof input === "string" || input instanceof String) { return input; diff --git a/dist/tools/github/agent.mjs.map b/dist/tools/github/agent.mjs.map index 1032cd9a8..6bcd5765d 100644 --- a/dist/tools/github/agent.mjs.map +++ b/dist/tools/github/agent.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agent.mjs","sources":["../../../src/agents/github/command.ts","../../../src/agents/github/build-agent.ts"],"sourcesContent":["import * as crypto from 'node:crypto'\nimport * as os from 'node:os'\nimport * as fs from 'node:fs'\n\nconst CMD_STRING = '::'\n\nexport type CommandProperties = Record\n\n/**\n * Commands\n *\n * Command Format:\n * ::name key=value,key=value::message\n *\n * Examples:\n * ::warning::This is the message\n * ::set-env name=MY_VAR::some value\n */\nexport function issueCommand(command: string, properties: CommandProperties, message: string): void {\n const cmd = new Command(command, properties, message)\n process.stdout.write(`${cmd.toString()}${os.EOL}`)\n}\n\nexport function issueFileCommand(command: string, message: string | object): void {\n const filePath = process.env[`GITHUB_${command}`]\n if (!filePath) {\n throw new Error(`Unable to find environment variable for file command ${command}`)\n }\n if (!fs.existsSync(filePath)) {\n throw new Error(`Missing file at path: ${filePath}`)\n }\n\n fs.appendFileSync(filePath, `${toCommandValue(message)}${os.EOL}`, {\n encoding: 'utf8'\n })\n}\n\nexport enum ExitCode {\n /**\n * A code indicating that the action was successful\n */\n Success = 0,\n\n /**\n * A code indicating that the action was a failure\n */\n Failure = 1\n}\n\nclass Command {\n private readonly command: string\n private readonly message: string\n private readonly properties: CommandProperties\n\n constructor(command: string, properties: CommandProperties, message: string) {\n if (!command) {\n command = 'missing.command'\n }\n\n this.command = command\n this.properties = properties\n this.message = message\n }\n\n toString(): string {\n let cmdStr = CMD_STRING + this.command\n\n if (this.properties && Object.keys(this.properties).length > 0) {\n cmdStr += ' '\n let first = true\n for (const key in this.properties) {\n if (Object.prototype.hasOwnProperty.call(this.properties, key)) {\n const val = this.properties[key]\n if (val) {\n if (first) {\n first = false\n } else {\n cmdStr += ','\n }\n\n cmdStr += `${key}=${escapeProperty(val)}`\n }\n }\n }\n }\n\n cmdStr += `${CMD_STRING}${escapeData(this.message)}`\n return cmdStr\n }\n}\n\nfunction escapeData(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A')\n}\n\nfunction escapeProperty(s: string | object): string {\n return toCommandValue(s).replace(/%/g, '%25').replace(/\\r/g, '%0D').replace(/\\n/g, '%0A').replace(/:/g, '%3A').replace(/,/g, '%2C')\n}\n\nexport function toCommandValue(input: string | object): string {\n if (input === null || input === undefined) {\n return ''\n } else if (typeof input === 'string' || input instanceof String) {\n return input as string\n }\n return JSON.stringify(input)\n}\n\nexport function prepareKeyValueMessage(key: string, value: string | object): string {\n const uuid = crypto.randomUUID()\n const delimiter = `ghadelimiter_${uuid}`\n const convertedValue = toCommandValue(value)\n\n // These should realistically never happen, but just in case someone finds a\n // way to exploit uuid generation let's not allow keys or values that contain\n // the delimiter.\n if (key.includes(delimiter)) {\n throw new Error(`Unexpected input: name should not contain the delimiter \"${delimiter}\"`)\n }\n\n if (convertedValue.includes(delimiter)) {\n throw new Error(`Unexpected input: value should not contain the delimiter \"${delimiter}\"`)\n }\n\n return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`\n}\n","import * as os from 'node:os'\nimport process from 'node:process'\nimport { BuildAgentBase, type IBuildAgent } from '@agents/common'\nimport { ExitCode, issueCommand, issueFileCommand, prepareKeyValueMessage, toCommandValue } from './command'\n\nexport class BuildAgent extends BuildAgentBase implements IBuildAgent {\n agentName = 'GitHub Actions'\n\n sourceDirVariable = 'GITHUB_WORKSPACE'\n tempDirVariable = 'RUNNER_TEMP'\n cacheDirVariable = 'RUNNER_TOOL_CACHE'\n\n addPath(inputPath: string): void {\n super.addPath(inputPath)\n const filePath = process.env['GITHUB_PATH'] || ''\n if (filePath) {\n issueFileCommand('PATH', inputPath)\n } else {\n issueCommand('add-path', {}, inputPath)\n }\n }\n\n debug = (message: string): void => issueCommand('debug', {}, message)\n\n info = (message: string): void => {\n process.stdout.write(`${message}${os.EOL}`)\n }\n\n warn = (message: string): void => issueCommand('warning', {}, message)\n\n error = (message: string): void => issueCommand('error', {}, message)\n\n setSucceeded(_message: string, _done?: boolean): void {\n process.exitCode = ExitCode.Success\n }\n\n setFailed = (message: string, _done?: boolean): void => {\n process.exitCode = ExitCode.Failure\n this.error(message)\n }\n\n setOutput = (name: string, value: string): void => {\n const filePath = process.env['GITHUB_OUTPUT'] || ''\n if (filePath) {\n return issueFileCommand('OUTPUT', prepareKeyValueMessage(name, value))\n }\n\n process.stdout.write(os.EOL)\n issueCommand('set-output', { name }, toCommandValue(value))\n }\n\n setVariable = (name: string, value: string): void => {\n const convertedVal = toCommandValue(value)\n process.env[name] = convertedVal\n\n const filePath = process.env['GITHUB_ENV'] || ''\n if (filePath) {\n return issueFileCommand('ENV', prepareKeyValueMessage(name, value))\n }\n\n issueCommand('set-env', { name }, convertedVal)\n }\n\n updateBuildNumber = (version: string): void => this.debug(`updateBuildNumber - ${version}`)\n}\n"],"names":["ExitCode","process"],"mappings":";;;;;;AAIA,MAAM,UAAa,GAAA,IAAA;AAcH,SAAA,YAAA,CAAa,OAAiB,EAAA,UAAA,EAA+B,OAAuB,EAAA;AAChG,EAAA,MAAM,GAAM,GAAA,IAAI,OAAQ,CAAA,OAAA,EAAS,YAAY,OAAO,CAAA;AACpD,EAAQ,OAAA,CAAA,MAAA,CAAO,MAAM,CAAG,EAAA,GAAA,CAAI,UAAU,CAAA,EAAG,EAAG,CAAA,GAAG,CAAE,CAAA,CAAA;AACrD;AAEgB,SAAA,gBAAA,CAAiB,SAAiB,OAAgC,EAAA;AAC9E,EAAA,MAAM,QAAW,GAAA,OAAA,CAAQ,GAAI,CAAA,CAAA,OAAA,EAAU,OAAO,CAAE,CAAA,CAAA;AAChD,EAAA,IAAI,CAAC,QAAU,EAAA;AACX,IAAA,MAAM,IAAI,KAAA,CAAM,CAAwD,qDAAA,EAAA,OAAO,CAAE,CAAA,CAAA;AAAA;AAErF,EAAA,IAAI,CAAC,EAAA,CAAG,UAAW,CAAA,QAAQ,CAAG,EAAA;AAC1B,IAAA,MAAM,IAAI,KAAA,CAAM,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA;AAGvD,EAAG,EAAA,CAAA,cAAA,CAAe,UAAU,CAAG,EAAA,cAAA,CAAe,OAAO,CAAC,CAAA,EAAG,EAAG,CAAA,GAAG,CAAI,CAAA,EAAA;AAAA,IAC/D,QAAU,EAAA;AAAA,GACb,CAAA;AACL;AAEY,IAAA,QAAA,qBAAAA,SAAL,KAAA;AAIH,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,aAAU,CAAV,CAAA,GAAA,SAAA;AAKA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,aAAU,CAAV,CAAA,GAAA,SAAA;AATQ,EAAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA,CAAA;AAYZ,MAAM,OAAQ,CAAA;AAAA,EACO,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EAEjB,WAAA,CAAY,OAAiB,EAAA,UAAA,EAA+B,OAAiB,EAAA;AACzE,IAAA,IAAI,CAAC,OAAS,EAAA;AACV,MAAU,OAAA,GAAA,iBAAA;AAAA;AAGd,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA;AACf,IAAA,IAAA,CAAK,UAAa,GAAA,UAAA;AAClB,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA;AAAA;AACnB,EAEA,QAAmB,GAAA;AACf,IAAI,IAAA,MAAA,GAAS,aAAa,IAAK,CAAA,OAAA;AAE/B,IAAI,IAAA,IAAA,CAAK,cAAc,MAAO,CAAA,IAAA,CAAK,KAAK,UAAU,CAAA,CAAE,SAAS,CAAG,EAAA;AAC5D,MAAU,MAAA,IAAA,GAAA;AACV,MAAA,IAAI,KAAQ,GAAA,IAAA;AACZ,MAAW,KAAA,MAAA,GAAA,IAAO,KAAK,UAAY,EAAA;AAC/B,QAAA,IAAI,OAAO,SAAU,CAAA,cAAA,CAAe,KAAK,IAAK,CAAA,UAAA,EAAY,GAAG,CAAG,EAAA;AAC5D,UAAM,MAAA,GAAA,GAAM,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA;AAC/B,UAAA,IAAI,GAAK,EAAA;AACL,YAAA,IAAI,KAAO,EAAA;AACP,cAAQ,KAAA,GAAA,KAAA;AAAA,aACL,MAAA;AACH,cAAU,MAAA,IAAA,GAAA;AAAA;AAGd,YAAA,MAAA,IAAU,CAAG,EAAA,GAAG,CAAI,CAAA,EAAA,cAAA,CAAe,GAAG,CAAC,CAAA,CAAA;AAAA;AAC3C;AACJ;AACJ;AAGJ,IAAA,MAAA,IAAU,GAAG,UAAU,CAAA,EAAG,UAAW,CAAA,IAAA,CAAK,OAAO,CAAC,CAAA,CAAA;AAClD,IAAO,OAAA,MAAA;AAAA;AAEf;AAEA,SAAS,WAAW,CAA4B,EAAA;AAC5C,EAAA,OAAO,cAAe,CAAA,CAAC,CAAE,CAAA,OAAA,CAAQ,IAAM,EAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,KAAO,EAAA,KAAK,CAAE,CAAA,OAAA,CAAQ,OAAO,KAAK,CAAA;AAC5F;AAEA,SAAS,eAAe,CAA4B,EAAA;AAChD,EAAO,OAAA,cAAA,CAAe,CAAC,CAAE,CAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAE,QAAQ,KAAO,EAAA,KAAK,EAAE,OAAQ,CAAA,KAAA,EAAO,KAAK,CAAE,CAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAE,OAAQ,CAAA,IAAA,EAAM,KAAK,CAAA;AACtI;AAEO,SAAS,eAAe,KAAgC,EAAA;AAC3D,EAAI,IAAA,KAAA,KAAU,IAAQ,IAAA,KAAA,KAAU,MAAW,EAAA;AACvC,IAAO,OAAA,EAAA;AAAA,GACA,MAAA,IAAA,OAAO,KAAU,KAAA,QAAA,IAAY,iBAAiB,MAAQ,EAAA;AAC7D,IAAO,OAAA,KAAA;AAAA;AAEX,EAAO,OAAA,IAAA,CAAK,UAAU,KAAK,CAAA;AAC/B;AAEgB,SAAA,sBAAA,CAAuB,KAAa,KAAgC,EAAA;AAChF,EAAM,MAAA,IAAA,GAAO,OAAO,UAAW,EAAA;AAC/B,EAAM,MAAA,SAAA,GAAY,gBAAgB,IAAI,CAAA,CAAA;AACtC,EAAM,MAAA,cAAA,GAAiB,eAAe,KAAK,CAAA;AAK3C,EAAI,IAAA,GAAA,CAAI,QAAS,CAAA,SAAS,CAAG,EAAA;AACzB,IAAA,MAAM,IAAI,KAAA,CAAM,CAA4D,yDAAA,EAAA,SAAS,CAAG,CAAA,CAAA,CAAA;AAAA;AAG5F,EAAI,IAAA,cAAA,CAAe,QAAS,CAAA,SAAS,CAAG,EAAA;AACpC,IAAA,MAAM,IAAI,KAAA,CAAM,CAA6D,0DAAA,EAAA,SAAS,CAAG,CAAA,CAAA,CAAA;AAAA;AAG7F,EAAA,OAAO,CAAG,EAAA,GAAG,CAAK,EAAA,EAAA,SAAS,CAAG,EAAA,EAAA,CAAG,GAAG,CAAA,EAAG,cAAc,CAAA,EAAG,EAAG,CAAA,GAAG,GAAG,SAAS,CAAA,CAAA;AAC9E;;ACxHO,MAAM,mBAAmB,cAAsC,CAAA;AAAA,EAClE,SAAY,GAAA,gBAAA;AAAA,EAEZ,iBAAoB,GAAA,kBAAA;AAAA,EACpB,eAAkB,GAAA,aAAA;AAAA,EAClB,gBAAmB,GAAA,mBAAA;AAAA,EAEnB,QAAQ,SAAyB,EAAA;AAC7B,IAAA,KAAA,CAAM,QAAQ,SAAS,CAAA;AACvB,IAAA,MAAM,QAAW,GAAAC,gBAAA,CAAQ,GAAI,CAAA,aAAa,CAAK,IAAA,EAAA;AAC/C,IAAA,IAAI,QAAU,EAAA;AACV,MAAA,gBAAA,CAAiB,QAAQ,SAAS,CAAA;AAAA,KAC/B,MAAA;AACH,MAAa,YAAA,CAAA,UAAA,EAAY,EAAC,EAAG,SAAS,CAAA;AAAA;AAC1C;AACJ,EAEA,QAAQ,CAAC,OAAA,KAA0B,aAAa,OAAS,EAAA,IAAI,OAAO,CAAA;AAAA,EAEpE,IAAA,GAAO,CAAC,OAA0B,KAAA;AAC9B,IAAAA,gBAAA,CAAQ,OAAO,KAAM,CAAA,CAAA,EAAG,OAAO,CAAG,EAAA,EAAA,CAAG,GAAG,CAAE,CAAA,CAAA;AAAA,GAC9C;AAAA,EAEA,OAAO,CAAC,OAAA,KAA0B,aAAa,SAAW,EAAA,IAAI,OAAO,CAAA;AAAA,EAErE,QAAQ,CAAC,OAAA,KAA0B,aAAa,OAAS,EAAA,IAAI,OAAO,CAAA;AAAA,EAEpE,YAAA,CAAa,UAAkB,KAAuB,EAAA;AAClD,IAAAA,gBAAA,CAAQ,WAAW,QAAS,CAAA,OAAA;AAAA;AAChC,EAEA,SAAA,GAAY,CAAC,OAAA,EAAiB,KAA0B,KAAA;AACpD,IAAAA,gBAAA,CAAQ,WAAW,QAAS,CAAA,OAAA;AAC5B,IAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAAA,GACtB;AAAA,EAEA,SAAA,GAAY,CAAC,IAAA,EAAc,KAAwB,KAAA;AAC/C,IAAA,MAAM,QAAW,GAAAA,gBAAA,CAAQ,GAAI,CAAA,eAAe,CAAK,IAAA,EAAA;AACjD,IAAA,IAAI,QAAU,EAAA;AACV,MAAA,OAAO,gBAAiB,CAAA,QAAA,EAAU,sBAAuB,CAAA,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA;AAGzE,IAAQA,gBAAA,CAAA,MAAA,CAAO,KAAM,CAAA,EAAA,CAAG,GAAG,CAAA;AAC3B,IAAA,YAAA,CAAa,cAAc,EAAE,IAAA,EAAQ,EAAA,cAAA,CAAe,KAAK,CAAC,CAAA;AAAA,GAC9D;AAAA,EAEA,WAAA,GAAc,CAAC,IAAA,EAAc,KAAwB,KAAA;AACjD,IAAM,MAAA,YAAA,GAAe,eAAe,KAAK,CAAA;AACzC,IAAQA,gBAAA,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,YAAA;AAEpB,IAAA,MAAM,QAAW,GAAAA,gBAAA,CAAQ,GAAI,CAAA,YAAY,CAAK,IAAA,EAAA;AAC9C,IAAA,IAAI,QAAU,EAAA;AACV,MAAA,OAAO,gBAAiB,CAAA,KAAA,EAAO,sBAAuB,CAAA,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA;AAGtE,IAAA,YAAA,CAAa,SAAW,EAAA,EAAE,IAAK,EAAA,EAAG,YAAY,CAAA;AAAA,GAClD;AAAA,EAEA,oBAAoB,CAAC,OAAA,KAA0B,KAAK,KAAM,CAAA,CAAA,oBAAA,EAAuB,OAAO,CAAE,CAAA,CAAA;AAC9F;;;;"} \ No newline at end of file diff --git a/dist/tools/libs/agents.mjs b/dist/tools/libs/agents.mjs index 48d1c0e33..74206bb4b 100644 --- a/dist/tools/libs/agents.mjs +++ b/dist/tools/libs/agents.mjs @@ -6,14 +6,14 @@ import * as util from 'node:util'; import { s as semverExports } from './semver.mjs'; const isFilePath = (cmd) => { - return cmd.includes(path.sep) ? path.resolve(cmd) : undefined; + return cmd.includes(path.sep) ? path.resolve(cmd) : void 0; }; const access = async (filePath) => { try { await fs.access(filePath); return filePath; } catch (_error) { - return undefined; + return void 0; } }; const isExecutable = async (absPath, options = {}) => { diff --git a/dist/tools/libs/agents.mjs.map b/dist/tools/libs/agents.mjs.map index 78542dbd0..80f70dd90 100644 --- a/dist/tools/libs/agents.mjs.map +++ b/dist/tools/libs/agents.mjs.map @@ -1 +1 @@ -{"version":3,"file":"agents.mjs","sources":["../../../src/agents/common/lookPath.ts","../../../src/agents/common/build-agent.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport * as process from 'node:process'\n\n/**\n * Sometimes, people want to look for local executable files\n * which are specified with either relative or absolute file path.\n * @private\n * @param cmd\n * @return {string} An absolute path of given command, or undefined.\n */\nconst isFilePath = (cmd: string): string | undefined => {\n return cmd.includes(path.sep) ? path.resolve(cmd) : undefined\n}\n\n/**\n * Just promisifies \"fs.access\"\n * @private\n * @param {string} filePath An absolute file path with an applicable extension appended.\n * @return {Promise} Resolves absolute path or empty string.\n */\nconst access = async (filePath: string): Promise => {\n try {\n await fs.access(filePath)\n return filePath\n } catch (_error) {\n return undefined\n }\n}\n\n/**\n * Resolves if the given file is executable or not, regarding \"PATHEXT\" to be applied.\n * @private\n * @param {string} absPath A file path to be checked.\n * @param {LookPathOption} options Options for lookPath.\n * @return {Promise} Resolves the absolute file path just checked, or undefined.\n */\nconst isExecutable = async (absPath: string, options: LookPathOption = {}): Promise => {\n const envVars = options.env || process.env\n const extension = (envVars.PATHEXT || '').split(path.delimiter).concat('')\n const bins = await Promise.all(extension.map(async ext => access(absPath + ext.toLowerCase())))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Returns a list of directories on which the target command should be looked for.\n * @private\n * @param {string[]} options.include Will be added to \"PATH\" env.\n * @param {string[]} options.exclude Will be filtered from \"PATH\" env.\n * @return {string[]} Directories to dig into.\n */\nconst getDirsToWalkThrough = (options: LookPathOption): string[] => {\n const envVars = options.env || process.env\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const envPath = envVars[envName] || ''\n return envPath\n .split(path.delimiter)\n .concat(options.include || [])\n .filter(p => !(options.exclude || []).includes(p))\n}\n\n/**\n * Returns async promise with absolute file path of given command,\n * and resolves with undefined if the command not found.\n * @param {string} command Command name to look for.\n * @param {LookPathOption} opt Options for lookPath.\n * @return {Promise} Resolves absolute file path, or undefined if not found.\n */\nexport async function lookPath(command: string, opt: LookPathOption = {}): Promise {\n const directPath = isFilePath(command)\n if (directPath) return isExecutable(directPath, opt)\n\n const dirs = getDirsToWalkThrough(opt)\n const bins = await Promise.all(dirs.map(async dir => isExecutable(path.join(dir, command), opt)))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Options for lookPath.\n */\nexport interface LookPathOption {\n /**\n * Additional paths to look for, would be dealt same as PATH env.\n * Example: ['/tmp/bin', 'usr/local/bin']\n */\n include?: string[]\n /**\n * Paths to exclude to look for.\n * Example: ['/mnt']\n */\n exclude?: string[]\n /**\n * Set of env var to be used ON BEHALF OF the existing env of your runtime.\n * If `include` or `exclude` are given, they will be applied to this env set.\n */\n env?: NodeJS.ProcessEnv\n}\n","import { exec as execNonPromise, ExecOptions } from 'node:child_process'\nimport * as fs from 'node:fs/promises'\nimport * as process from 'node:process'\nimport * as path from 'node:path'\nimport * as util from 'node:util'\nimport * as semver from 'semver'\nimport { lookPath } from './lookPath'\nimport { type ExecResult } from './models'\n\nexport interface IBuildAgent {\n agentName: string\n sourceDirVariable: string\n tempDirVariable: string\n cacheDirVariable: string\n\n sourceDir: string\n tempDir: string\n cacheDir: string\n\n addPath(inputPath: string): void\n\n debug(message: string): void\n\n info(message: string): void\n\n warn(message: string): void\n\n error(message: string): void\n\n exec(exec: string, args: string[]): Promise\n\n cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise\n\n directoryExists(dir: string): Promise\n\n removeDirectory(dir: string): Promise\n\n fileExists(file: string): Promise\n\n findLocalTool(toolName: string, versionSpec: string): Promise\n\n getInput(input: string, required?: boolean): string\n\n getInput(input: Extract, required?: boolean): string\n\n getBooleanInput(input: Extract, required?: boolean): boolean\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[]\n\n getListInput(input: Extract, required?: boolean): string[]\n\n setSucceeded(message: string, done?: boolean): void\n\n setFailed(message: string, done?: boolean): void\n\n setOutput(name: string, value: string): void\n\n getVariable(name: string): string | undefined\n\n getVariableAsPath(name: string): string\n\n setVariable(name: string, value: string): void\n\n updateBuildNumber: (version: string) => void\n\n which(tool: string, check?: boolean): Promise\n}\n\nexport abstract class BuildAgentBase implements IBuildAgent {\n abstract agentName: string\n abstract sourceDirVariable: string\n abstract tempDirVariable: string\n abstract cacheDirVariable: string\n\n abstract debug(message: string): void\n\n abstract info(message: string): void\n\n abstract warn(message: string): void\n\n abstract error(message: string): void\n\n abstract setSucceeded(message: string, done?: boolean): void\n\n abstract setFailed(message: string, done?: boolean): void\n\n abstract setOutput(name: string, value: string): void\n\n abstract setVariable(name: string, value: string): void\n\n abstract updateBuildNumber: (version: string) => void\n\n get sourceDir(): string {\n return this.getVariableAsPath(this.sourceDirVariable)?.replace(/\\\\/g, '/')\n }\n\n get tempDir(): string {\n return this.getVariableAsPath(this.tempDirVariable)\n }\n\n get cacheDir(): string {\n return this.getVariableAsPath(this.cacheDirVariable)\n }\n\n addPath(inputPath: string): void {\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const newPath = inputPath + path.delimiter + process.env[envName]\n this.debug(`new Path: ${newPath}`)\n process.env[envName] = newPath\n process.env.Path = newPath\n this.info(`Updated PATH: ${process.env[envName]}`)\n }\n\n getInput(input: Extract, required?: boolean): string {\n const inputProp = input.replace(/ /g, '_').toUpperCase()\n const val = this.getVariable(`INPUT_${inputProp}`)\n if (required && !val) {\n throw new Error(`Input required and not supplied: ${inputProp}`)\n }\n return val.trim()\n }\n\n getBooleanInput(input: Extract, required?: boolean): boolean {\n const inputValue = this.getInput(input, required)\n return (inputValue || 'false').toLowerCase() === 'true'\n }\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[] {\n return this.getInput(input, required)\n .split(delimiter)\n .filter(x => {\n if (x) {\n return x.trim()\n }\n })\n }\n\n getListInput(input: Extract, required?: boolean): string[] {\n return this.getDelimitedInput(input, '\\n', required)\n }\n\n getVariable(name: string): string {\n const value = (process.env[name] || '').trim()\n this.debug(`getVariable - ${name}: ${value}`)\n return value.trim()\n }\n\n getVariableAsPath(name: string): string {\n return path.resolve(path.normalize(this.getVariable(name)))\n }\n\n async directoryExists(dir: string): Promise {\n try {\n await fs.access(dir)\n return (await fs.stat(dir)).isDirectory()\n } catch (_error) {\n return false\n }\n }\n\n async removeDirectory(dir: string): Promise {\n await fs.rm(dir, { recursive: true, force: true, maxRetries: 3, retryDelay: 1000 })\n }\n\n async fileExists(file: string): Promise {\n try {\n await fs.access(file)\n return (await fs.stat(file)).isFile()\n } catch (_error) {\n return false\n }\n }\n\n async cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise {\n if (!tool) {\n throw new Error('tool is a required parameter')\n }\n if (!version) {\n throw new Error('version is a required parameter')\n }\n if (!sourceDir) {\n throw new Error('sourceDir is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return ''\n }\n\n version = semver.clean(version) || version\n const destPath = path.join(cacheRoot, tool, version)\n if (await this.directoryExists(destPath)) {\n this.debug(`Destination directory ${destPath} already exists, removing`)\n await this.removeDirectory(destPath)\n }\n\n this.debug(`Copying ${sourceDir} to ${destPath}`)\n await fs.mkdir(destPath, { recursive: true })\n await fs.cp(sourceDir, destPath, { recursive: true, force: true })\n\n this.debug(`Caching ${tool}@${version} from ${sourceDir}`)\n return destPath\n }\n\n async findLocalTool(toolName: string, versionSpec: string): Promise {\n if (!toolName) {\n throw new Error('toolName is a required parameter')\n }\n if (!versionSpec) {\n throw new Error('versionSpec is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return null\n }\n\n versionSpec = semver.clean(versionSpec) || versionSpec\n this.info(`Looking for local tool ${toolName}@${versionSpec}`)\n const toolPath = path.join(cacheRoot, toolName, versionSpec)\n if (!(await this.directoryExists(toolPath))) {\n this.info(`Directory ${toolPath} not found`)\n return null\n } else {\n this.info(`Found tool ${toolName}@${versionSpec} at ${toolPath}`)\n }\n\n return toolPath\n }\n\n async exec(cmd: string, args: string[]): Promise {\n const exec = util.promisify(execNonPromise)\n\n try {\n const commandOptions: ExecOptions = { maxBuffer: 1024 * 1024 * 10 } // 10MB\n const { stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, commandOptions)\n return {\n code: 0,\n error: null,\n stderr,\n stdout\n }\n } catch (e) {\n const error = e as Error & { code: number; stderr: string; stdout: string }\n return {\n code: error.code,\n error,\n stderr: error.stderr,\n stdout: error.stdout\n }\n }\n }\n\n async which(tool: string, _check?: boolean): Promise {\n this.debug(`looking for tool '${tool}' in PATH`)\n let toolPath = await lookPath(tool)\n if (toolPath) {\n toolPath = path.resolve(toolPath)\n this.debug(`found tool '${tool}' in PATH: ${toolPath}`)\n return toolPath\n }\n throw new Error(`Unable to locate executable file: ${tool}`)\n }\n}\n"],"names":["semver.clean","exec","execNonPromise"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"agents.mjs","sources":["../../../src/agents/common/lookPath.ts","../../../src/agents/common/build-agent.ts"],"sourcesContent":["import * as fs from 'node:fs/promises'\nimport * as path from 'node:path'\nimport * as process from 'node:process'\n\n/**\n * Sometimes, people want to look for local executable files\n * which are specified with either relative or absolute file path.\n * @private\n * @param cmd\n * @return {string} An absolute path of given command, or undefined.\n */\nconst isFilePath = (cmd: string): string | undefined => {\n return cmd.includes(path.sep) ? path.resolve(cmd) : undefined\n}\n\n/**\n * Just promisifies \"fs.access\"\n * @private\n * @param {string} filePath An absolute file path with an applicable extension appended.\n * @return {Promise} Resolves absolute path or empty string.\n */\nconst access = async (filePath: string): Promise => {\n try {\n await fs.access(filePath)\n return filePath\n } catch (_error) {\n return undefined\n }\n}\n\n/**\n * Resolves if the given file is executable or not, regarding \"PATHEXT\" to be applied.\n * @private\n * @param {string} absPath A file path to be checked.\n * @param {LookPathOption} options Options for lookPath.\n * @return {Promise} Resolves the absolute file path just checked, or undefined.\n */\nconst isExecutable = async (absPath: string, options: LookPathOption = {}): Promise => {\n const envVars = options.env || process.env\n const extension = (envVars.PATHEXT || '').split(path.delimiter).concat('')\n const bins = await Promise.all(extension.map(async ext => access(absPath + ext.toLowerCase())))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Returns a list of directories on which the target command should be looked for.\n * @private\n * @param {string[]} options.include Will be added to \"PATH\" env.\n * @param {string[]} options.exclude Will be filtered from \"PATH\" env.\n * @return {string[]} Directories to dig into.\n */\nconst getDirsToWalkThrough = (options: LookPathOption): string[] => {\n const envVars = options.env || process.env\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const envPath = envVars[envName] || ''\n return envPath\n .split(path.delimiter)\n .concat(options.include || [])\n .filter(p => !(options.exclude || []).includes(p))\n}\n\n/**\n * Returns async promise with absolute file path of given command,\n * and resolves with undefined if the command not found.\n * @param {string} command Command name to look for.\n * @param {LookPathOption} opt Options for lookPath.\n * @return {Promise} Resolves absolute file path, or undefined if not found.\n */\nexport async function lookPath(command: string, opt: LookPathOption = {}): Promise {\n const directPath = isFilePath(command)\n if (directPath) return isExecutable(directPath, opt)\n\n const dirs = getDirsToWalkThrough(opt)\n const bins = await Promise.all(dirs.map(async dir => isExecutable(path.join(dir, command), opt)))\n return bins.find(bin => !!bin)\n}\n\n/**\n * Options for lookPath.\n */\nexport interface LookPathOption {\n /**\n * Additional paths to look for, would be dealt same as PATH env.\n * Example: ['/tmp/bin', 'usr/local/bin']\n */\n include?: string[]\n /**\n * Paths to exclude to look for.\n * Example: ['/mnt']\n */\n exclude?: string[]\n /**\n * Set of env var to be used ON BEHALF OF the existing env of your runtime.\n * If `include` or `exclude` are given, they will be applied to this env set.\n */\n env?: NodeJS.ProcessEnv\n}\n","import { exec as execNonPromise, ExecOptions } from 'node:child_process'\nimport * as fs from 'node:fs/promises'\nimport * as process from 'node:process'\nimport * as path from 'node:path'\nimport * as util from 'node:util'\nimport * as semver from 'semver'\nimport { lookPath } from './lookPath'\nimport { type ExecResult } from './models'\n\nexport interface IBuildAgent {\n agentName: string\n sourceDirVariable: string\n tempDirVariable: string\n cacheDirVariable: string\n\n sourceDir: string\n tempDir: string\n cacheDir: string\n\n addPath(inputPath: string): void\n\n debug(message: string): void\n\n info(message: string): void\n\n warn(message: string): void\n\n error(message: string): void\n\n exec(exec: string, args: string[]): Promise\n\n cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise\n\n directoryExists(dir: string): Promise\n\n removeDirectory(dir: string): Promise\n\n fileExists(file: string): Promise\n\n findLocalTool(toolName: string, versionSpec: string): Promise\n\n getInput(input: string, required?: boolean): string\n\n getInput(input: Extract, required?: boolean): string\n\n getBooleanInput(input: Extract, required?: boolean): boolean\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[]\n\n getListInput(input: Extract, required?: boolean): string[]\n\n setSucceeded(message: string, done?: boolean): void\n\n setFailed(message: string, done?: boolean): void\n\n setOutput(name: string, value: string): void\n\n getVariable(name: string): string | undefined\n\n getVariableAsPath(name: string): string\n\n setVariable(name: string, value: string): void\n\n updateBuildNumber: (version: string) => void\n\n which(tool: string, check?: boolean): Promise\n}\n\nexport abstract class BuildAgentBase implements IBuildAgent {\n abstract agentName: string\n abstract sourceDirVariable: string\n abstract tempDirVariable: string\n abstract cacheDirVariable: string\n\n abstract debug(message: string): void\n\n abstract info(message: string): void\n\n abstract warn(message: string): void\n\n abstract error(message: string): void\n\n abstract setSucceeded(message: string, done?: boolean): void\n\n abstract setFailed(message: string, done?: boolean): void\n\n abstract setOutput(name: string, value: string): void\n\n abstract setVariable(name: string, value: string): void\n\n abstract updateBuildNumber: (version: string) => void\n\n get sourceDir(): string {\n return this.getVariableAsPath(this.sourceDirVariable)?.replace(/\\\\/g, '/')\n }\n\n get tempDir(): string {\n return this.getVariableAsPath(this.tempDirVariable)\n }\n\n get cacheDir(): string {\n return this.getVariableAsPath(this.cacheDirVariable)\n }\n\n addPath(inputPath: string): void {\n const envName = process.platform === 'win32' ? 'Path' : 'PATH'\n const newPath = inputPath + path.delimiter + process.env[envName]\n this.debug(`new Path: ${newPath}`)\n process.env[envName] = newPath\n process.env.Path = newPath\n this.info(`Updated PATH: ${process.env[envName]}`)\n }\n\n getInput(input: Extract, required?: boolean): string {\n const inputProp = input.replace(/ /g, '_').toUpperCase()\n const val = this.getVariable(`INPUT_${inputProp}`)\n if (required && !val) {\n throw new Error(`Input required and not supplied: ${inputProp}`)\n }\n return val.trim()\n }\n\n getBooleanInput(input: Extract, required?: boolean): boolean {\n const inputValue = this.getInput(input, required)\n return (inputValue || 'false').toLowerCase() === 'true'\n }\n\n getDelimitedInput(input: Extract, delimiter: string, required?: boolean): string[] {\n return this.getInput(input, required)\n .split(delimiter)\n .filter(x => {\n if (x) {\n return x.trim()\n }\n })\n }\n\n getListInput(input: Extract, required?: boolean): string[] {\n return this.getDelimitedInput(input, '\\n', required)\n }\n\n getVariable(name: string): string {\n const value = (process.env[name] || '').trim()\n this.debug(`getVariable - ${name}: ${value}`)\n return value.trim()\n }\n\n getVariableAsPath(name: string): string {\n return path.resolve(path.normalize(this.getVariable(name)))\n }\n\n async directoryExists(dir: string): Promise {\n try {\n await fs.access(dir)\n return (await fs.stat(dir)).isDirectory()\n } catch (_error) {\n return false\n }\n }\n\n async removeDirectory(dir: string): Promise {\n await fs.rm(dir, { recursive: true, force: true, maxRetries: 3, retryDelay: 1000 })\n }\n\n async fileExists(file: string): Promise {\n try {\n await fs.access(file)\n return (await fs.stat(file)).isFile()\n } catch (_error) {\n return false\n }\n }\n\n async cacheToolDirectory(sourceDir: string, tool: string, version: string): Promise {\n if (!tool) {\n throw new Error('tool is a required parameter')\n }\n if (!version) {\n throw new Error('version is a required parameter')\n }\n if (!sourceDir) {\n throw new Error('sourceDir is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return ''\n }\n\n version = semver.clean(version) || version\n const destPath = path.join(cacheRoot, tool, version)\n if (await this.directoryExists(destPath)) {\n this.debug(`Destination directory ${destPath} already exists, removing`)\n await this.removeDirectory(destPath)\n }\n\n this.debug(`Copying ${sourceDir} to ${destPath}`)\n await fs.mkdir(destPath, { recursive: true })\n await fs.cp(sourceDir, destPath, { recursive: true, force: true })\n\n this.debug(`Caching ${tool}@${version} from ${sourceDir}`)\n return destPath\n }\n\n async findLocalTool(toolName: string, versionSpec: string): Promise {\n if (!toolName) {\n throw new Error('toolName is a required parameter')\n }\n if (!versionSpec) {\n throw new Error('versionSpec is a required parameter')\n }\n\n const cacheRoot = this.cacheDir\n if (!cacheRoot) {\n this.debug('cache root not set')\n return null\n }\n\n versionSpec = semver.clean(versionSpec) || versionSpec\n this.info(`Looking for local tool ${toolName}@${versionSpec}`)\n const toolPath = path.join(cacheRoot, toolName, versionSpec)\n if (!(await this.directoryExists(toolPath))) {\n this.info(`Directory ${toolPath} not found`)\n return null\n } else {\n this.info(`Found tool ${toolName}@${versionSpec} at ${toolPath}`)\n }\n\n return toolPath\n }\n\n async exec(cmd: string, args: string[]): Promise {\n const exec = util.promisify(execNonPromise)\n\n try {\n const commandOptions: ExecOptions = { maxBuffer: 1024 * 1024 * 10 } // 10MB\n const { stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, commandOptions)\n return {\n code: 0,\n error: null,\n stderr,\n stdout\n }\n } catch (e) {\n const error = e as Error & { code: number; stderr: string; stdout: string }\n return {\n code: error.code,\n error,\n stderr: error.stderr,\n stdout: error.stdout\n }\n }\n }\n\n async which(tool: string, _check?: boolean): Promise {\n this.debug(`looking for tool '${tool}' in PATH`)\n let toolPath = await lookPath(tool)\n if (toolPath) {\n toolPath = path.resolve(toolPath)\n this.debug(`found tool '${tool}' in PATH: ${toolPath}`)\n return toolPath\n }\n throw new Error(`Unable to locate executable file: ${tool}`)\n }\n}\n"],"names":["semver.clean","exec","execNonPromise"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tools/libs/tools.mjs b/dist/tools/libs/tools.mjs index 5a41e2151..68bb14e76 100644 --- a/dist/tools/libs/tools.mjs +++ b/dist/tools/libs/tools.mjs @@ -43,7 +43,7 @@ class ArgumentsBuilder { * @param value The argument value */ addKeyValue(key, value) { - if (key && value !== undefined && value !== null) { + if (key && value !== void 0 && value !== null) { this.args.push(`--${key}`); this.args.push(this.escapeArgument(value)); } @@ -55,7 +55,7 @@ class ArgumentsBuilder { * @param value The argument value */ addKeyValueEquals(key, value) { - if (key && value !== undefined && value !== null) { + if (key && value !== void 0 && value !== null) { this.args.push(`--${key}=${this.escapeArgument(value)}`); } return this; diff --git a/dist/tools/libs/tools.mjs.map b/dist/tools/libs/tools.mjs.map index aee416c1e..c69b5b764 100644 --- a/dist/tools/libs/tools.mjs.map +++ b/dist/tools/libs/tools.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async findToolExecutable(toolBasePath: string): Promise {\n const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName\n\n // Check in the base path first\n const toolPath = path.join(toolBasePath, toolName)\n if (await this.buildAgent.fileExists(toolPath)) {\n return toolPath\n }\n\n // Get current system architecture\n const arch = os.arch()\n this.buildAgent.debug(`Current system architecture: ${arch}`)\n\n // Map node's architecture names to .NET's architecture folders\n const archPaths = []\n\n // Add primary architecture path based on current architecture\n if (arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'x64', toolName))\n } else if (arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'arm64', toolName))\n }\n\n // Add platform-specific architecture paths\n if (os.platform() === 'darwin' && arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName))\n } else if (os.platform() === 'darwin' && arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'osx-x64', toolName))\n }\n\n // Try each architecture-specific path\n for (const archPath of archPaths) {\n if (await this.buildAgent.fileExists(archPath)) {\n this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`)\n return archPath\n }\n }\n\n // Check in any other subdirectory as a fallback\n try {\n const entries = await fs.readdir(toolBasePath, { withFileTypes: true })\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const nestedPath = path.join(toolBasePath, entry.name, toolName)\n if (await this.buildAgent.fileExists(nestedPath)) {\n this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`)\n return nestedPath\n }\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`Error reading subdirectories: ${error.message}`)\n }\n }\n\n return null\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n // First, check if we have a path variable set\n const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n let toolPath: string | undefined\n\n if (variablePath) {\n // Try to find the executable in the path or its subdirectories\n const foundExecutable = await this.findToolExecutable(variablePath)\n if (foundExecutable) {\n toolPath = foundExecutable\n this.buildAgent.debug(`Found tool executable at: ${toolPath}`)\n } else {\n // Fallback to old behavior if executable not found\n toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`)\n }\n }\n\n // If we still don't have a path, try to find it in PATH\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (!path.isAbsolute(targetPath)) {\n targetPath = path.resolve(targetPath)\n }\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return path.normalize(workDir)\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.mjs","sources":["../../../src/tools/common/arguments-builder.ts","../../../src/tools/common/dotnet-tool.ts","../../../src/tools/common/settings.ts","../../../src/tools/common/index.ts","../../../src/tools/common/runner.ts"],"sourcesContent":["import * as os from 'node:os'\n\nexport class ArgumentsBuilder {\n private readonly args: string[] = []\n private readonly isWindows: boolean = os.platform() === 'win32'\n\n /**\n * Adds a simple argument without a key\n * @param value The argument value\n */\n addArgument(value: string): this {\n if (value) {\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds multiple arguments\n * @param values The argument values\n */\n addArguments(values: string[]): this {\n for (const value of values) {\n this.addArgument(value)\n }\n return this\n }\n\n /**\n * Adds a flag argument (--flag)\n * @param key The flag name\n */\n addFlag(key: string): this {\n if (key) {\n this.args.push(`--${key}`)\n }\n return this\n }\n\n /**\n * Adds a key-value argument (--key value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValue(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}`)\n this.args.push(this.escapeArgument(value))\n }\n return this\n }\n\n /**\n * Adds an equals-style argument (--key=value)\n * @param key The argument key\n * @param value The argument value\n */\n addKeyValueEquals(key: string, value?: string | null): this {\n if (key && value !== undefined && value !== null) {\n this.args.push(`--${key}=${this.escapeArgument(value)}`)\n }\n return this\n }\n\n /**\n * Adds a comma-separated list (--key value1,value2,value3)\n * @param key The argument key\n * @param values The list of values\n */\n addCommaList(key: string, values?: string[]): this {\n if (key && values && values.length > 0) {\n const escapedValues = values.map(v => this.escapeArgument(v))\n this.args.push(`--${key}`)\n this.args.push(escapedValues.join(','))\n }\n return this\n }\n\n /**\n * Escapes an argument value based on the current OS\n * @param value The argument value to escape\n * @returns The escaped argument value\n */\n private escapeArgument(value: string): string {\n if (!value) return value\n\n // No need to escape if it doesn't contain spaces or special chars\n if (!this.needsEscaping(value)) return value\n\n if (this.isWindows) {\n // On Windows, wrap in double quotes and escape inner double quotes with backslash\n return `\"${value.replace(/\"/g, '\\\\\"')}\"`\n } else {\n // On Unix, wrap in single quotes and escape inner single quotes\n // Escaping single quotes in bash requires closing the quote, adding an escaped quote, and reopening\n return `'${value.replace(/'/g, \"'\\\\''\")}'`\n }\n }\n\n /**\n * Determines if a value needs to be escaped\n * @param value The value to check\n * @returns True if the value needs escaping\n */\n private needsEscaping(value: string): boolean {\n const windowsNeedsEscaping = /[\\s&|<>^(){}[\\]\"']/\n const unixNeedsEscaping = /[\\s$\\\\`&|<>(){}[\\]\"']/\n if (this.isWindows) {\n return windowsNeedsEscaping.test(value)\n }\n return unixNeedsEscaping.test(value)\n }\n\n /**\n * Returns the built argument array\n */\n build(): string[] {\n return [...this.args]\n }\n\n /**\n * Parses an argument string into an array\n * @param argString The argument string to parse\n * @returns Array of parsed arguments\n */\n static parseArgumentString(argString: string): string[] {\n const args: string[] = []\n\n let inQuotes = false\n let escaped = false\n let lastCharWasSpace = true\n let arg = ''\n\n const append = (c: string): void => {\n // Only add a backslash for escaped characters other than quotes or backslashes\n if (escaped && c !== '\"' && c !== '\\\\') {\n arg += '\\\\'\n }\n\n arg += c\n escaped = false\n }\n\n for (let i = 0; i < argString.length; i++) {\n const c = argString.charAt(i)\n\n if (c === ' ' && !inQuotes) {\n if (!lastCharWasSpace) {\n args.push(arg)\n arg = ''\n }\n lastCharWasSpace = true\n continue\n } else {\n lastCharWasSpace = false\n }\n\n if (c === '\"') {\n if (!escaped) {\n inQuotes = !inQuotes\n } else {\n append(c)\n }\n continue\n }\n\n if (c === '\\\\' && escaped) {\n // Double backslash becomes a single backslash\n arg += '\\\\'\n escaped = false\n continue\n }\n\n if (c === '\\\\' && inQuotes) {\n escaped = true\n continue\n }\n\n append(c)\n lastCharWasSpace = false\n }\n\n if (!lastCharWasSpace) {\n args.push(arg.trim())\n }\n\n return args\n }\n}\n","import * as crypto from 'node:crypto'\nimport * as fs from 'node:fs/promises'\nimport * as os from 'node:os'\nimport * as path from 'node:path'\n\nimport * as semver from 'semver'\nimport { type IBuildAgent, type ExecResult } from '@agents/common'\nimport { ISettingsProvider } from './settings'\nimport { NugetVersions } from './models'\nimport { ArgumentsBuilder } from './arguments-builder'\n\nexport interface IDotnetTool {\n toolName: string\n\n disableTelemetry(): void\n\n install(): Promise\n}\n\nexport abstract class DotnetTool implements IDotnetTool {\n private static readonly nugetRoot: string = 'https://azuresearch-usnc.nuget.org/query'\n\n constructor(protected buildAgent: IBuildAgent) {}\n\n abstract get packageName(): string\n\n abstract get toolName(): string\n\n abstract get toolPathVariable(): string\n\n abstract get versionRange(): string | null\n\n abstract get settingsProvider(): ISettingsProvider\n\n disableTelemetry(): void {\n this.buildAgent.info('Disable Telemetry')\n this.buildAgent.setVariable('DOTNET_CLI_TELEMETRY_OPTOUT', 'true')\n this.buildAgent.setVariable('DOTNET_NOLOGO', 'true')\n }\n\n async install(): Promise {\n const dotnetExePath = await this.buildAgent.which('dotnet', true)\n this.buildAgent.debug(`whichPath: ${dotnetExePath}`)\n await this.setDotnetRoot()\n\n const setupSettings = this.settingsProvider.getSetupSettings()\n\n let version: string | null = semver.clean(setupSettings.versionSpec) || setupSettings.versionSpec\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`Acquiring ${this.packageName} for version spec: ${version}`)\n this.buildAgent.info('--------------------------')\n\n if (!this.isExplicitVersion(version)) {\n version = await this.queryLatestMatch(this.packageName, version, setupSettings.includePrerelease)\n if (!version) {\n throw new Error(`Unable to find ${this.packageName} version '${version}'.`)\n }\n }\n\n if (this.versionRange && !semver.satisfies(version, this.versionRange, { includePrerelease: setupSettings.includePrerelease })) {\n throw new Error(\n `Version spec '${setupSettings.versionSpec}' resolved as '${version}' does not satisfy the range '${this.versionRange}'.` +\n 'See https://github.com/GitTools/actions/blob/main/docs/versions.md for more information.'\n )\n }\n\n let toolPath: string | null = null\n if (!setupSettings.preferLatestVersion) {\n // Let's try and resolve the version locally first\n toolPath = await this.buildAgent.findLocalTool(this.packageName, version)\n if (toolPath) {\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} found in local cache at ${toolPath}.`)\n this.buildAgent.info('--------------------------')\n }\n }\n\n if (!toolPath) {\n // Download, extract, cache\n toolPath = await this.installTool(this.packageName, version, setupSettings.ignoreFailedSources)\n this.buildAgent.info('--------------------------')\n this.buildAgent.info(`${this.packageName} version: ${version} installed.`)\n this.buildAgent.info('--------------------------')\n }\n\n // Prepend the tool's path. This prepends the PATH for the current process and\n // instructs the agent to prepend for each task that follows.\n this.buildAgent.info(`Prepending ${toolPath} to PATH`)\n this.buildAgent.addPath(toolPath)\n\n const pathVariable = this.toolPathVariable\n this.buildAgent.info(`Set ${pathVariable} to ${toolPath}`)\n this.buildAgent.setVariable(pathVariable, toolPath)\n this.buildAgent.setSucceeded(`${this.toolName} installed successfully`, true)\n\n return toolPath\n }\n\n protected async execute(cmd: string, args: string[]): Promise {\n this.buildAgent.info(`Command: ${cmd} ${args.join(' ')}`)\n return await this.buildAgent.exec(cmd, args)\n }\n\n protected async findToolExecutable(toolBasePath: string): Promise {\n const toolName = os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName\n\n // Check in the base path first\n const toolPath = path.join(toolBasePath, toolName)\n if (await this.buildAgent.fileExists(toolPath)) {\n return toolPath\n }\n\n // Get current system architecture\n const arch = os.arch()\n this.buildAgent.debug(`Current system architecture: ${arch}`)\n\n // Map node's architecture names to .NET's architecture folders\n const archPaths = []\n\n // Add primary architecture path based on current architecture\n if (arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'x64', toolName))\n } else if (arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'arm64', toolName))\n }\n\n // Add platform-specific architecture paths\n if (os.platform() === 'darwin' && arch === 'arm64') {\n archPaths.push(path.join(toolBasePath, 'osx-arm64', toolName))\n } else if (os.platform() === 'darwin' && arch === 'x64') {\n archPaths.push(path.join(toolBasePath, 'osx-x64', toolName))\n }\n\n // Try each architecture-specific path\n for (const archPath of archPaths) {\n if (await this.buildAgent.fileExists(archPath)) {\n this.buildAgent.debug(`Found tool in architecture-specific directory: ${archPath}`)\n return archPath\n }\n }\n\n // Check in any other subdirectory as a fallback\n try {\n const entries = await fs.readdir(toolBasePath, { withFileTypes: true })\n for (const entry of entries) {\n if (entry.isDirectory()) {\n const nestedPath = path.join(toolBasePath, entry.name, toolName)\n if (await this.buildAgent.fileExists(nestedPath)) {\n this.buildAgent.debug(`Found tool in subdirectory: ${entry.name}`)\n return nestedPath\n }\n }\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`Error reading subdirectories: ${error.message}`)\n }\n }\n\n return null\n }\n\n protected async setDotnetRoot(): Promise {\n if (os.platform() !== 'win32' && !this.buildAgent.getVariable('DOTNET_ROOT')) {\n let dotnetPath = await this.buildAgent.which('dotnet', true)\n\n const stats = await fs.lstat(dotnetPath)\n if (stats.isSymbolicLink()) {\n dotnetPath = (await fs.readlink(dotnetPath)) || dotnetPath\n }\n const dotnetRoot = path.dirname(dotnetPath)\n this.buildAgent.setVariable('DOTNET_ROOT', dotnetRoot)\n }\n }\n\n protected async executeTool(args: string[]): Promise {\n // First, check if we have a path variable set\n const variablePath = this.buildAgent.getVariableAsPath(this.toolPathVariable)\n let toolPath: string | undefined\n\n if (variablePath) {\n // Try to find the executable in the path or its subdirectories\n const foundExecutable = await this.findToolExecutable(variablePath)\n if (foundExecutable) {\n toolPath = foundExecutable\n this.buildAgent.debug(`Found tool executable at: ${toolPath}`)\n } else {\n // Fallback to old behavior if executable not found\n toolPath = path.join(variablePath, os.platform() === 'win32' ? `${this.toolName}.exe` : this.toolName)\n this.buildAgent.debug(`Defaulting to expected tool path: ${toolPath}`)\n }\n }\n\n // If we still don't have a path, try to find it in PATH\n if (!toolPath) {\n toolPath = await this.buildAgent.which(this.toolName, true)\n }\n\n args = ['--roll-forward Major', ...args]\n return await this.execute(toolPath, args)\n }\n\n protected async isValidInputFile(input: string, file: string): Promise {\n return this.filePathSupplied(input) && (await this.buildAgent.fileExists(file))\n }\n\n protected filePathSupplied(file: string): boolean {\n const pathValue = path.resolve(this.buildAgent.getInput(file) || '')\n const repoRoot = this.buildAgent.sourceDir\n return pathValue !== repoRoot\n }\n\n protected async getRepoPath(targetPath: string): Promise {\n const srcDir = this.buildAgent.sourceDir || '.'\n let workDir: string\n if (!targetPath) {\n workDir = srcDir\n } else {\n if (!path.isAbsolute(targetPath)) {\n targetPath = path.resolve(targetPath)\n }\n if (await this.buildAgent.directoryExists(targetPath)) {\n workDir = targetPath\n } else {\n throw new Error(`Directory not found at ${targetPath}`)\n }\n }\n return path.normalize(workDir)\n }\n\n private async queryLatestMatch(toolName: string, versionSpec: string, includePrerelease: boolean): Promise {\n this.buildAgent.info(\n `Querying tool versions for ${toolName}${versionSpec ? `@${versionSpec}` : ''} ${includePrerelease ? 'including pre-releases' : ''}`\n )\n\n const toolNameParam = encodeURIComponent(toolName.toLowerCase())\n const prereleaseParam = includePrerelease ? 'true' : 'false'\n const downloadPath = `${DotnetTool.nugetRoot}?q=${toolNameParam}&prerelease=${prereleaseParam}&semVerLevel=2.0.0&take=1`\n\n const response = await fetch(downloadPath)\n\n if (!response || !response.ok) {\n this.buildAgent.info(`failed to query latest version for ${toolName} from ${downloadPath}. Status code: ${response ? response.status : 'unknown'}`)\n return null\n }\n\n const { data } = (await response.json()) as NugetVersions\n\n const versions = data[0].versions.map(x => x.version)\n if (!versions || !versions.length) {\n return null\n }\n\n this.buildAgent.debug(`got versions: ${versions.join(', ')}`)\n\n const version = semver.maxSatisfying(versions, versionSpec, { includePrerelease })\n if (version) {\n this.buildAgent.info(`Found matching version: ${version}`)\n } else {\n this.buildAgent.info('match not found')\n }\n\n return version\n }\n\n private async installTool(toolName: string, version: string, ignoreFailedSources: boolean): Promise {\n const semverVersion = semver.clean(version)\n if (!semverVersion) {\n throw new Error(`Invalid version spec: ${version}`)\n }\n\n const tempDirectory = await this.createTempDirectory()\n\n if (!tempDirectory) {\n throw new Error('Unable to create temp directory')\n }\n\n const builder = new ArgumentsBuilder()\n .addArgument('tool')\n .addArgument('install')\n .addArgument(toolName)\n .addKeyValue('tool-path', tempDirectory)\n .addKeyValue('version', semverVersion)\n\n if (ignoreFailedSources) {\n builder.addFlag('ignore-failed-sources')\n }\n\n const result = await this.execute('dotnet', builder.build())\n const status = result.code === 0 ? 'success' : 'failure'\n const message = result.code === 0 ? result.stdout : result.stderr\n\n this.buildAgent.debug(`Tool install result: ${status} ${message}`)\n\n if (result.code !== 0) {\n throw new Error(message)\n }\n\n const toolPath = await this.buildAgent.cacheToolDirectory(tempDirectory, toolName, semverVersion)\n this.buildAgent.debug(`Cached tool path: ${toolPath}`)\n this.buildAgent.debug(`Cleaning up temp directory: ${tempDirectory}`)\n await this.buildAgent.removeDirectory(tempDirectory)\n\n return toolPath\n }\n\n async createTempDirectory(): Promise {\n const tempRootDir = this.buildAgent.tempDir\n if (!tempRootDir) {\n throw new Error('Temp directory not set')\n }\n\n const uuid = crypto.randomUUID()\n const tempPath = path.join(tempRootDir, uuid)\n this.buildAgent.debug(`Creating temp directory ${tempPath}`)\n await fs.mkdir(tempPath, { recursive: true })\n return tempPath\n }\n\n private isExplicitVersion(versionSpec: string): boolean {\n const cleanedVersionSpec = semver.clean(versionSpec)\n const valid = semver.valid(cleanedVersionSpec) != null\n this.buildAgent.debug(`Is version explicit? ${valid}`)\n\n return valid\n }\n}\n","import { type IBuildAgent } from '@agents/common'\nimport { type SetupSettings } from './models'\n\nexport interface ISettingsProvider {\n getSetupSettings(): SetupSettings\n}\n\nexport class SettingsProvider implements ISettingsProvider {\n constructor(protected buildAgent: IBuildAgent) {}\n\n getSetupSettings(): SetupSettings {\n const versionSpec = this.buildAgent.getInput('versionSpec')\n const includePrerelease = this.buildAgent.getBooleanInput('includePrerelease')\n const ignoreFailedSources = this.buildAgent.getBooleanInput('ignoreFailedSources')\n const preferLatestVersion = this.buildAgent.getBooleanInput('preferLatestVersion')\n\n return {\n versionSpec,\n includePrerelease,\n ignoreFailedSources,\n preferLatestVersion\n }\n }\n}\n","export * from './models'\nexport * from './dotnet-tool'\nexport * from './settings'\nexport * from './arguments-builder'\n\nexport const keysOf = Object.keys as (obj: T) => (keyof T)[]\n","import type { IRunner } from './models.ts'\nimport { ExecResult, IBuildAgent } from '@agents/common'\nimport { IDotnetTool } from './dotnet-tool.ts'\n\nexport abstract class RunnerBase implements IRunner {\n protected abstract tool: IDotnetTool\n\n abstract run(command: string): Promise\n\n protected constructor(protected readonly buildAgent: IBuildAgent) {}\n\n protected disableTelemetry(): void {\n this.buildAgent.info(`Running on: '${this.buildAgent.agentName}'`)\n this.buildAgent.debug('Disabling telemetry')\n this.tool.disableTelemetry()\n }\n\n protected async safeExecute(action: () => Promise, successMessage: string): Promise {\n try {\n this.disableTelemetry()\n const result = await action()\n\n this.buildAgent.info(`${this.tool.toolName} Output:`)\n this.buildAgent.info('-------------------')\n this.buildAgent.info(result.stdout as string)\n this.buildAgent.info('-------------------')\n if (result.code === 0) {\n this.buildAgent.debug(`${this.tool.toolName} succeeded`)\n this.buildAgent.setSucceeded(successMessage, true)\n return result\n } else {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(result.stderr as string)\n this.buildAgent.setFailed(result.stderr as string, true)\n return result\n }\n } catch (error) {\n if (error instanceof Error) {\n this.buildAgent.debug(`${this.tool.toolName} failed`)\n this.buildAgent.error(error.message)\n this.buildAgent.setFailed(error.message, true)\n }\n return {\n code: -1,\n error: error as Error\n }\n }\n }\n}\n"],"names":["semver.clean","semver.satisfies","semver.maxSatisfying","semver.valid"],"mappings":"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"} \ No newline at end of file From 3abb2b07083b968b2789f0859ca2f6e9f62ed905 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:46:07 +0000 Subject: [PATCH 099/108] (npm): Bump vite from 6.3.1 to 6.3.2 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.3.1 to 6.3.2 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 32841986e..1d7547e36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.3.1", + "vite": "^6.3.2", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" @@ -7626,9 +7626,9 @@ } }, "node_modules/vite": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.1.tgz", - "integrity": "sha512-kkzzkqtMESYklo96HKKPE5KKLkC1amlsqt+RjFMlX2AvbRB/0wghap19NdBxxwGZ+h/C6DLCrcEphPIItlGrRQ==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz", + "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 5c3035f92..9d06cdde0 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", - "vite": "^6.3.1", + "vite": "^6.3.2", "vite-node": "^3.1.1", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1" From 2fb96abd883cfbca7157c06c9054b680bbc4ea75 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 05:52:27 +0000 Subject: [PATCH 100/108] (npm): Bump @vitest/eslint-plugin in the eslint group Bumps the eslint group with 1 update: [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest). Updates `@vitest/eslint-plugin` from 1.1.42 to 1.1.43 - [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases) - [Commits](https://github.com/vitest-dev/eslint-plugin-vitest/compare/v1.1.42...v1.1.43) --- updated-dependencies: - dependency-name: "@vitest/eslint-plugin" dependency-version: 1.1.43 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 11 +++++++---- package.json | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d7547e36..bc4be9c37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.42", + "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", "eslint": "^9.24.0", "eslint-config-prettier": "^10.1.2", @@ -1449,9 +1449,9 @@ } }, "node_modules/@vitest/eslint-plugin": { - "version": "1.1.42", - "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.42.tgz", - "integrity": "sha512-dTGNbh/angh+hoqp5L5A8YO/29mOXDXmDQ/1fzt/jiYzLvU6FvrMqJpGqMqh5g+Fz6MDoZi0AlxefnFUg93Q5A==", + "version": "1.1.43", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.1.43.tgz", + "integrity": "sha512-OLoUMO67Yg+kr7E6SjF5+Qvl2f6uNJ7ImQYnXT8WgnPiZE41ZQBsnzn70jehXrhFVadphHs2smk+yl0TFKLV5Q==", "dev": true, "license": "MIT", "peerDependencies": { @@ -1463,6 +1463,9 @@ "peerDependenciesMeta": { "typescript": { "optional": true + }, + "vitest": { + "optional": true } } }, diff --git a/package.json b/package.json index 9d06cdde0..9b4b3ca15 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", - "@vitest/eslint-plugin": "^1.1.42", + "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", "eslint": "^9.24.0", "eslint-config-prettier": "^10.1.2", From 0292d288c90541168e1a9e30e73fab4f929c8dc5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Apr 2025 06:27:42 +0000 Subject: [PATCH 101/108] (npm): Bump the eslint group with 2 updates Bumps the eslint group with 2 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) and [eslint](https://github.com/eslint/eslint). Updates `@eslint/js` from 9.24.0 to 9.25.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.25.0/packages/js) Updates `eslint` from 9.24.0 to 9.25.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.24.0...v9.25.0) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 9.25.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: eslint dependency-version: 9.25.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 44 ++++++++++++++++++++++---------------------- package.json | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc4be9c37..a26745c9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,14 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.24.0", + "@eslint/js": "^9.25.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", - "eslint": "^9.24.0", + "eslint": "^9.25.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", @@ -539,9 +539,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", - "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz", + "integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -549,9 +549,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", + "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -623,9 +623,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.24.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz", - "integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.0.tgz", + "integrity": "sha512-iWhsUS8Wgxz9AXNfvfOPFSW4VfMXdVhp1hjkZVhXCrpgh/aLcc45rX6MPu+tIVUWDw0HfNwth7O28M1xDxNf9w==", "dev": true, "license": "MIT", "engines": { @@ -643,13 +643,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", + "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", + "@eslint/core": "^0.13.0", "levn": "^0.4.1" }, "engines": { @@ -2853,20 +2853,20 @@ } }, "node_modules/eslint": { - "version": "9.24.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz", - "integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==", + "version": "9.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.0.tgz", + "integrity": "sha512-MsBdObhM4cEwkzCiraDv7A6txFXEqtNXOb877TsSp2FCkBNl8JfVQrmiuDqC1IkejT6JLPzYBXx/xAiYhyzgGA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.0", - "@eslint/core": "^0.12.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.13.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.24.0", - "@eslint/plugin-kit": "^0.2.7", + "@eslint/js": "9.25.0", + "@eslint/plugin-kit": "^0.2.8", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", diff --git a/package.json b/package.json index 9b4b3ca15..4a700825c 100644 --- a/package.json +++ b/package.json @@ -47,14 +47,14 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.24.0", + "@eslint/js": "^9.25.0", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", - "eslint": "^9.24.0", + "eslint": "^9.25.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", From dbe0136d89b7372bb33c647c58d4316c9c61f5a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 05:44:42 +0000 Subject: [PATCH 102/108] (npm): Bump the vite group with 2 updates Bumps the vite group with 2 updates: [vite-node](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vite-node) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). Updates `vite-node` from 3.1.1 to 3.1.2 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.2/packages/vite-node) Updates `vitest` from 3.1.1 to 3.1.2 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v3.1.2/packages/vitest) --- updated-dependencies: - dependency-name: vite-node dependency-version: 3.1.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite - dependency-name: vitest dependency-version: 3.1.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 115 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index a26745c9d..2a19c3fc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", "vite": "^6.3.2", - "vite-node": "^3.1.1", + "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.1.1" + "vitest": "^3.1.2" }, "engines": { "node": ">=20.0.0" @@ -1470,14 +1470,14 @@ } }, "node_modules/@vitest/expect": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", - "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.2.tgz", + "integrity": "sha512-O8hJgr+zREopCAqWl3uCVaOdqJwZ9qaDwUP7vy3Xigad0phZe9APxKhPcDNqYYi0rX5oMvwJMSCAXY2afqeTSA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", + "@vitest/spy": "3.1.2", + "@vitest/utils": "3.1.2", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -1486,13 +1486,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", - "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.2.tgz", + "integrity": "sha512-kOtd6K2lc7SQ0mBqYv/wdGedlqPdM/B38paPY+OwJ1XiNi44w3Fpog82UfOibmHaV9Wod18A09I9SCKLyDMqgw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.1.1", + "@vitest/spy": "3.1.2", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -1513,9 +1513,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", - "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.2.tgz", + "integrity": "sha512-R0xAiHuWeDjTSB3kQ3OQpT8Rx3yhdOAIm/JM4axXxnG7Q/fS8XUwggv/A4xzbQA+drYRjzkMnpYnOGAc4oeq8w==", "dev": true, "license": "MIT", "dependencies": { @@ -1526,13 +1526,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", - "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.2.tgz", + "integrity": "sha512-bhLib9l4xb4sUMPXnThbnhX2Yi8OutBMA8Yahxa7yavQsFDtwY/jrUZwpKp2XH9DhRFJIeytlyGpXCqZ65nR+g==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.1.1", + "@vitest/utils": "3.1.2", "pathe": "^2.0.3" }, "funding": { @@ -1540,13 +1540,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", - "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.2.tgz", + "integrity": "sha512-Q1qkpazSF/p4ApZg1vfZSQ5Yw6OCQxVMVrLjslbLFA1hMDrT2uxtqMaw8Tc/jy5DLka1sNs1Y7rBcftMiaSH/Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.1", + "@vitest/pretty-format": "3.1.2", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -1555,9 +1555,9 @@ } }, "node_modules/@vitest/spy": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", - "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.2.tgz", + "integrity": "sha512-OEc5fSXMws6sHVe4kOFyDSj/+4MSwst0ib4un0DlcYgQvRuYQ0+M2HyqGaauUMnjq87tmUaMNDxKQx7wNfVqPA==", "dev": true, "license": "MIT", "dependencies": { @@ -1568,13 +1568,13 @@ } }, "node_modules/@vitest/utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", - "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.2.tgz", + "integrity": "sha512-5GGd0ytZ7BH3H6JTj9Kw7Prn1Nbg0wZVrIvou+UWxm54d+WoXXgAgjFJ8wn3LdagWLFSEfpPeyYrByZaGEZHLg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.1.1", + "@vitest/pretty-format": "3.1.2", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -6867,9 +6867,9 @@ "dev": true }, "node_modules/std-env": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", - "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, @@ -7215,13 +7215,13 @@ "dev": true }, "node_modules/tinyglobby": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", - "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.3", + "fdir": "^6.4.4", "picomatch": "^4.0.2" }, "engines": { @@ -7232,9 +7232,9 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -7704,9 +7704,9 @@ } }, "node_modules/vite-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", - "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.2.tgz", + "integrity": "sha512-/8iMryv46J3aK13iUXsei5G/A3CUlW4665THCPS+K8xAaqrVWiGB4RfXMQXCLjpK9P2eK//BczrVkn5JLAk6DA==", "dev": true, "license": "MIT", "dependencies": { @@ -7774,31 +7774,32 @@ } }, "node_modules/vitest": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", - "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.2.tgz", + "integrity": "sha512-WaxpJe092ID1C0mr+LH9MmNrhfzi8I65EX/NRU/Ld016KqQNRgxSOlGNP1hHN+a/F8L15Mh8klwaF77zR3GeDQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.1.1", - "@vitest/mocker": "3.1.1", - "@vitest/pretty-format": "^3.1.1", - "@vitest/runner": "3.1.1", - "@vitest/snapshot": "3.1.1", - "@vitest/spy": "3.1.1", - "@vitest/utils": "3.1.1", + "@vitest/expect": "3.1.2", + "@vitest/mocker": "3.1.2", + "@vitest/pretty-format": "^3.1.2", + "@vitest/runner": "3.1.2", + "@vitest/snapshot": "3.1.2", + "@vitest/spy": "3.1.2", + "@vitest/utils": "3.1.2", "chai": "^5.2.0", "debug": "^4.4.0", - "expect-type": "^1.2.0", + "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", - "std-env": "^3.8.1", + "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.13", "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.1.1", + "vite-node": "3.1.2", "why-is-node-running": "^2.3.0" }, "bin": { @@ -7814,8 +7815,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.1.1", - "@vitest/ui": "3.1.1", + "@vitest/browser": "3.1.2", + "@vitest/ui": "3.1.2", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index 4a700825c..36d45db80 100644 --- a/package.json +++ b/package.json @@ -69,9 +69,9 @@ "typescript": "^5.8.3", "typescript-eslint": "^8.30.1", "vite": "^6.3.2", - "vite-node": "^3.1.1", + "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.1.1" + "vitest": "^3.1.2" }, "dependencies": { "semver": "^7.7.1" From 8cb8faada8ad428617062fb8c85bc295767e4e93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 05:50:45 +0000 Subject: [PATCH 103/108] (npm): Bump the eslint group with 3 updates Bumps the eslint group with 3 updates: [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js), [eslint](https://github.com/eslint/eslint) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint). Updates `@eslint/js` from 9.25.0 to 9.25.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/commits/v9.25.1/packages/js) Updates `eslint` from 9.25.0 to 9.25.1 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.25.0...v9.25.1) Updates `typescript-eslint` from 8.30.1 to 8.31.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.31.0/packages/typescript-eslint) --- updated-dependencies: - dependency-name: "@eslint/js" dependency-version: 9.25.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: eslint dependency-version: 9.25.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint - dependency-name: typescript-eslint dependency-version: 8.31.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 116 +++++++++++++++++++++++----------------------- package.json | 6 +-- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2a19c3fc6..20a3fa5a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,14 +11,14 @@ "semver": "^7.7.1" }, "devDependencies": { - "@eslint/js": "^9.25.0", + "@eslint/js": "^9.25.1", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", - "eslint": "^9.25.0", + "eslint": "^9.25.1", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", @@ -31,7 +31,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.3", - "typescript-eslint": "^8.30.1", + "typescript-eslint": "^8.31.0", "vite": "^6.3.2", "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", @@ -623,9 +623,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.25.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.0.tgz", - "integrity": "sha512-iWhsUS8Wgxz9AXNfvfOPFSW4VfMXdVhp1hjkZVhXCrpgh/aLcc45rX6MPu+tIVUWDw0HfNwth7O28M1xDxNf9w==", + "version": "9.25.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz", + "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==", "dev": true, "license": "MIT", "engines": { @@ -1256,17 +1256,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz", - "integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.0.tgz", + "integrity": "sha512-evaQJZ/J/S4wisevDvC1KFZkPzRetH8kYZbkgcTRyql3mcKsf+ZFDV1BVWUGTCAW5pQHoqn5gK5b8kn7ou9aFQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.30.1", - "@typescript-eslint/type-utils": "8.30.1", - "@typescript-eslint/utils": "8.30.1", - "@typescript-eslint/visitor-keys": "8.30.1", + "@typescript-eslint/scope-manager": "8.31.0", + "@typescript-eslint/type-utils": "8.31.0", + "@typescript-eslint/utils": "8.31.0", + "@typescript-eslint/visitor-keys": "8.31.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1286,16 +1286,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz", - "integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.0.tgz", + "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.30.1", - "@typescript-eslint/types": "8.30.1", - "@typescript-eslint/typescript-estree": "8.30.1", - "@typescript-eslint/visitor-keys": "8.30.1", + "@typescript-eslint/scope-manager": "8.31.0", + "@typescript-eslint/types": "8.31.0", + "@typescript-eslint/typescript-estree": "8.31.0", + "@typescript-eslint/visitor-keys": "8.31.0", "debug": "^4.3.4" }, "engines": { @@ -1311,14 +1311,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz", - "integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.0.tgz", + "integrity": "sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.30.1", - "@typescript-eslint/visitor-keys": "8.30.1" + "@typescript-eslint/types": "8.31.0", + "@typescript-eslint/visitor-keys": "8.31.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1329,14 +1329,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz", - "integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.0.tgz", + "integrity": "sha512-DJ1N1GdjI7IS7uRlzJuEDCgDQix3ZVYVtgeWEyhyn4iaoitpMBX6Ndd488mXSx0xah/cONAkEaYyylDyAeHMHg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.30.1", - "@typescript-eslint/utils": "8.30.1", + "@typescript-eslint/typescript-estree": "8.31.0", + "@typescript-eslint/utils": "8.31.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -1353,9 +1353,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz", - "integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.0.tgz", + "integrity": "sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==", "dev": true, "license": "MIT", "engines": { @@ -1367,14 +1367,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz", - "integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.0.tgz", + "integrity": "sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.30.1", - "@typescript-eslint/visitor-keys": "8.30.1", + "@typescript-eslint/types": "8.31.0", + "@typescript-eslint/visitor-keys": "8.31.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1394,16 +1394,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz", - "integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.0.tgz", + "integrity": "sha512-qi6uPLt9cjTFxAb1zGNgTob4x9ur7xC6mHQJ8GwEzGMGE9tYniublmJaowOJ9V2jUzxrltTPfdG2nKlWsq0+Ww==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.30.1", - "@typescript-eslint/types": "8.30.1", - "@typescript-eslint/typescript-estree": "8.30.1" + "@typescript-eslint/scope-manager": "8.31.0", + "@typescript-eslint/types": "8.31.0", + "@typescript-eslint/typescript-estree": "8.31.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1418,13 +1418,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz", - "integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.0.tgz", + "integrity": "sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.30.1", + "@typescript-eslint/types": "8.31.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -2853,9 +2853,9 @@ } }, "node_modules/eslint": { - "version": "9.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.0.tgz", - "integrity": "sha512-MsBdObhM4cEwkzCiraDv7A6txFXEqtNXOb877TsSp2FCkBNl8JfVQrmiuDqC1IkejT6JLPzYBXx/xAiYhyzgGA==", + "version": "9.25.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz", + "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2865,7 +2865,7 @@ "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.13.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.25.0", + "@eslint/js": "9.25.1", "@eslint/plugin-kit": "^0.2.8", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -7517,15 +7517,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.30.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.30.1.tgz", - "integrity": "sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.0.tgz", + "integrity": "sha512-u+93F0sB0An8WEAPtwxVhFby573E8ckdjwUUQUj9QA4v8JAvgtoDdIyYR3XFwFHq2W1KJ1AurwJCO+w+Y1ixyQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.30.1", - "@typescript-eslint/parser": "8.30.1", - "@typescript-eslint/utils": "8.30.1" + "@typescript-eslint/eslint-plugin": "8.31.0", + "@typescript-eslint/parser": "8.31.0", + "@typescript-eslint/utils": "8.31.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index 36d45db80..ec5563be0 100644 --- a/package.json +++ b/package.json @@ -47,14 +47,14 @@ "prepare": "husky" }, "devDependencies": { - "@eslint/js": "^9.25.0", + "@eslint/js": "^9.25.1", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", "@types/node": "^22.14.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", - "eslint": "^9.25.0", + "eslint": "^9.25.1", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", "glob": "^11.0.1", @@ -67,7 +67,7 @@ "simple-git": "^3.27.0", "tfx-cli": "^0.21.1", "typescript": "^5.8.3", - "typescript-eslint": "^8.30.1", + "typescript-eslint": "^8.31.0", "vite": "^6.3.2", "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", From a85c18990b3c1ddf404d1e06169e98a19a9e507a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 05:23:40 +0000 Subject: [PATCH 104/108] (npm): Bump vite from 6.3.2 to 6.3.3 in the vite group Bumps the vite group with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 6.3.2 to 6.3.3 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vite ... Signed-off-by: dependabot[bot] --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20a3fa5a3..4c3955d37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.31.0", - "vite": "^6.3.2", + "vite": "^6.3.3", "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.2" @@ -7629,18 +7629,18 @@ } }, "node_modules/vite": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz", - "integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==", + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.3.tgz", + "integrity": "sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.3", + "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", - "tinyglobby": "^0.2.12" + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" @@ -7746,9 +7746,9 @@ } }, "node_modules/vite/node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "dev": true, "license": "MIT", "peerDependencies": { diff --git a/package.json b/package.json index ec5563be0..2965fa62c 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "tfx-cli": "^0.21.1", "typescript": "^5.8.3", "typescript-eslint": "^8.31.0", - "vite": "^6.3.2", + "vite": "^6.3.3", "vite-node": "^3.1.2", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.2" From 81a90f21c6200c606dde1e61696e439a480cc805 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Apr 2025 05:28:28 +0000 Subject: [PATCH 105/108] (npm): Bump glob from 11.0.1 to 11.0.2 Bumps [glob](https://github.com/isaacs/node-glob) from 11.0.1 to 11.0.2. - [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md) - [Commits](https://github.com/isaacs/node-glob/compare/v11.0.1...v11.0.2) --- updated-dependencies: - dependency-name: glob dependency-version: 11.0.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c3955d37..1db0a6b19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "eslint": "^9.25.1", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", - "glob": "^11.0.1", + "glob": "^11.0.2", "globals": "^16.0.0", "husky": "^9.1.7", "lint-staged": "^15.5.1", @@ -3516,10 +3516,11 @@ } }, "node_modules/glob": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz", + "integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^4.0.1", diff --git a/package.json b/package.json index 2965fa62c..ee396ce82 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "eslint": "^9.25.1", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6", - "glob": "^11.0.1", + "glob": "^11.0.2", "globals": "^16.0.0", "husky": "^9.1.7", "lint-staged": "^15.5.1", From 5289a239c9ec1781c4fb973cbadd393dd8464f28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Apr 2025 05:09:48 +0000 Subject: [PATCH 106/108] (npm): Bump @types/node from 22.14.1 to 22.15.1 in the types group Bumps the types group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@types/node` from 22.14.1 to 22.15.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 22.15.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: types ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1db0a6b19..f0b8a6974 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@eslint/js": "^9.25.1", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.14.1", + "@types/node": "^22.15.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", @@ -1232,9 +1232,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.14.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", - "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", + "version": "22.15.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.1.tgz", + "integrity": "sha512-gSZyd0Qmv7qvbd2fJ9HGdYmv1yhNdelIA4YOtN6vkcmSwFhthxSEsBgU/JYZcXjWT6DFzoATcHrc52Ckh8SeRA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index ee396ce82..7fb873bdc 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "@eslint/js": "^9.25.1", "@stylistic/eslint-plugin": "^4.2.0", "@types/eslint__js": "^9.14.0", - "@types/node": "^22.14.1", + "@types/node": "^22.15.1", "@types/semver": "^7.7.0", "@vitest/eslint-plugin": "^1.1.43", "dotenv": "^16.5.0", From a19e66cff803ded1df4dca2edb67d4a397c7ab1d Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Fri, 25 Apr 2025 15:44:44 +0200 Subject: [PATCH 107/108] updates GitVersion and GitReleaseManager versions updates the specified version of GitVersion to 6.3.x and GitReleaseManager to 0.20.x in various configuration files and documentation examples. This ensures that the latest compatible versions of these tools are used across the project. --- .azure/ci.yml | 2 +- .azure/example-10.yml | 2 +- .azure/example-8.yml | 2 +- .azure/example-9.yml | 2 +- .github/workflows/checkout-path.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/example-8.yml | 2 +- .github/workflows/example-9.yml | 2 +- .github/workflows/prerelease.yml | 2 +- .github/workflows/release.yml | 4 ++-- dist/azure/gitreleasemanager/setup/task.json | 2 +- dist/azure/gitversion/setup/task.json | 2 +- dist/tools/libs/gitreleasemanager.mjs | 2 +- dist/tools/libs/gitreleasemanager.mjs.map | 2 +- docs/examples/azure/gitreleasemanager/setup.md | 14 +++++++------- docs/examples/azure/gitversion/command.md | 2 +- docs/examples/azure/gitversion/execute.md | 8 ++++---- docs/examples/azure/gitversion/setup.md | 8 ++++---- docs/examples/github/gitreleasemanager/setup.md | 14 +++++++------- docs/examples/github/gitversion/command.md | 2 +- docs/examples/github/gitversion/execute.md | 6 +++--- docs/examples/github/gitversion/setup.md | 8 ++++---- docs/versions.md | 2 +- envs/gitversion/setup/azure.env | 2 +- envs/gitversion/setup/github.env | 2 +- envs/gitversion/setup/local.env | 2 +- gitreleasemanager/setup/action.yml | 2 +- gitversion/setup/action.yml | 2 +- src/__tests__/tools/common/settings.spec.ts | 2 +- .../tools/gitreleasemanager/runner.spec.ts | 2 +- src/__tests__/tools/gitreleasemanager/tool.spec.ts | 2 +- src/__tests__/tools/gitversion/runner.spec.ts | 2 +- src/tools/gitreleasemanager/tool.ts | 2 +- 33 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.azure/ci.yml b/.azure/ci.yml index 088600d6c..b02f21f6a 100644 --- a/.azure/ci.yml +++ b/.azure/ci.yml @@ -13,7 +13,7 @@ variables: - name: DOTNET_CLI_TELEMETRY_OPTOUT value: 'true' - name: INPUT_VERSIONSPEC - value: '6.2.x' + value: '6.3.x' - name: INPUT_INCLUDEPRERELEASE value: 'false' - name: INPUT_IGNOREFAILEDSOURCES diff --git a/.azure/example-10.yml b/.azure/example-10.yml index 3aab9ad7a..04998f785 100644 --- a/.azure/example-10.yml +++ b/.azure/example-10.yml @@ -22,7 +22,7 @@ stages: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version diff --git a/.azure/example-8.yml b/.azure/example-8.yml index 0e33aedb8..b8b28d9bd 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -19,7 +19,7 @@ jobs: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 516bba5a6..3a43b1d09 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -19,7 +19,7 @@ jobs: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version diff --git a/.github/workflows/checkout-path.yml b/.github/workflows/checkout-path.yml index 6bf1da303..55f6bb227 100644 --- a/.github/workflows/checkout-path.yml +++ b/.github/workflows/checkout-path.yml @@ -28,7 +28,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@main with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Determine version id: gitversion diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f2304274f..30efaa3c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,7 +56,7 @@ jobs: - name: gitversion/setup uses: ./gitversion/setup with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: gitversion/command (showvariable) uses: ./gitversion/command with: diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 046586230..0ff8c8c72 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -19,7 +19,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml index 52bf823d2..522d27a76 100644 --- a/.github/workflows/example-9.yml +++ b/.github/workflows/example-9.yml @@ -25,7 +25,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index a2fda27cc..5b8b3e72e 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -29,7 +29,7 @@ jobs: - name: Install GitVersion uses: ./gitversion/setup with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Use GitVersion id: gitversion # step id used as reference for output values uses: ./gitversion/execute diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ecbf5bc03..08b6f06f2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,11 +30,11 @@ jobs: - name: Install GitVersion uses: ./gitversion/setup with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Install GitReleaseManager uses: ./gitreleasemanager/setup with: - versionSpec: '0.19.x' + versionSpec: '0.20.x' - name: Use GitVersion id: gitversion # step id used as reference for output values uses: ./gitversion/execute diff --git a/dist/azure/gitreleasemanager/setup/task.json b/dist/azure/gitreleasemanager/setup/task.json index 49700bc7e..10529c36c 100644 --- a/dist/azure/gitreleasemanager/setup/task.json +++ b/dist/azure/gitreleasemanager/setup/task.json @@ -28,7 +28,7 @@ "label": "The version spec", "defaultValue": "", "required": true, - "helpMarkDown": "Required version in the form of 0.19.x or exact version like 0.19.0" + "helpMarkDown": "Required version in the form of 0.20.x or exact version like 0.20.0" }, { "name": "includePrerelease", diff --git a/dist/azure/gitversion/setup/task.json b/dist/azure/gitversion/setup/task.json index 6b186f584..1f90612df 100644 --- a/dist/azure/gitversion/setup/task.json +++ b/dist/azure/gitversion/setup/task.json @@ -28,7 +28,7 @@ "label": "The version spec", "defaultValue": "", "required": true, - "helpMarkDown": "Required version in the form of 6.2.x or exact version like 6.2.0" + "helpMarkDown": "Required version in the form of 6.3.x or exact version like 6.3.0" }, { "name": "includePrerelease", diff --git a/dist/tools/libs/gitreleasemanager.mjs b/dist/tools/libs/gitreleasemanager.mjs index 9ad302d4d..f0c6f99dc 100644 --- a/dist/tools/libs/gitreleasemanager.mjs +++ b/dist/tools/libs/gitreleasemanager.mjs @@ -84,7 +84,7 @@ class GitReleaseManagerTool extends DotnetTool { return "GITRELEASEMANAGER_PATH"; } get versionRange() { - return ">=0.10.0 <0.20.0"; + return ">=0.19.0 <0.21.0"; } get settingsProvider() { return new GitReleaseManagerSettingsProvider(this.buildAgent); diff --git a/dist/tools/libs/gitreleasemanager.mjs.map b/dist/tools/libs/gitreleasemanager.mjs.map index 5b397a42e..a92d73f2a 100644 --- a/dist/tools/libs/gitreleasemanager.mjs.map +++ b/dist/tools/libs/gitreleasemanager.mjs.map @@ -1 +1 @@ -{"version":3,"file":"gitreleasemanager.mjs","sources":["../../../src/tools/gitreleasemanager/settings.ts","../../../src/tools/gitreleasemanager/tool.ts","../../../src/tools/gitreleasemanager/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nexport interface IGitReleaseManagerSettingsProvider extends ISettingsProvider {\n getCreateSettings(): CreateSettings\n\n getDiscardSettings(): DiscardSettings\n\n getCloseSettings(): CloseSettings\n\n getOpenSettings(): OpenSettings\n\n getPublishSettings(): PublishSettings\n\n getAddAssetSettings(): AddAssetSettings\n\n getCommonSettings(): CommonSettings\n}\n\nexport class GitReleaseManagerSettingsProvider extends SettingsProvider implements IGitReleaseManagerSettingsProvider {\n getCreateSettings(): CreateSettings {\n const name = this.buildAgent.getInput('name')\n const inputFilePath = this.buildAgent.getInput('inputFilePath')\n const isPreRelease = this.buildAgent.getBooleanInput('isPreRelease')\n const targetcommitish = this.buildAgent.getInput('targetcommitish')\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n name,\n inputFilePath,\n isPreRelease,\n targetcommitish,\n assets\n }\n }\n\n getDiscardSettings(): DiscardSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getCloseSettings(): CloseSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getOpenSettings(): OpenSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getPublishSettings(): PublishSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getAddAssetSettings(): AddAssetSettings {\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n assets\n }\n }\n\n getCommonSettings(): CommonSettings {\n const milestone = this.buildAgent.getInput('milestone')\n const owner = this.buildAgent.getInput('owner')\n const repository = this.buildAgent.getInput('repository')\n const token = this.buildAgent.getInput('token')\n const targetDirectory = this.buildAgent.getInput('targetDirectory')\n const logFilePath = this.buildAgent.getInput('logFilePath')\n\n return {\n owner,\n repository,\n token,\n targetDirectory,\n milestone,\n logFilePath\n }\n }\n}\n","import * as path from 'path'\n\nimport { ArgumentsBuilder, DotnetTool } from '@tools/common'\nimport { type ExecResult } from '@agents/common'\n\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nimport { GitReleaseManagerSettingsProvider, IGitReleaseManagerSettingsProvider } from './settings'\n\nexport class GitReleaseManagerTool extends DotnetTool {\n get packageName(): string {\n return 'GitReleaseManager.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitreleasemanager'\n }\n\n get toolPathVariable(): string {\n return 'GITRELEASEMANAGER_PATH'\n }\n\n get versionRange(): string | null {\n return '>=0.10.0 <0.20.0'\n }\n\n get settingsProvider(): IGitReleaseManagerSettingsProvider {\n return new GitReleaseManagerSettingsProvider(this.buildAgent)\n }\n\n async create(): Promise {\n const settings = this.settingsProvider.getCreateSettings()\n const args = await this.getCreateArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async discard(): Promise {\n const settings = this.settingsProvider.getDiscardSettings()\n const args = await this.getDiscardArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async close(): Promise {\n const settings = this.settingsProvider.getCloseSettings()\n const args = await this.getCloseArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async open(): Promise {\n const settings = this.settingsProvider.getOpenSettings()\n const args = await this.getOpenArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async publish(): Promise {\n const settings = this.settingsProvider.getPublishSettings()\n const args = await this.getPublishArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async addAsset(): Promise {\n const settings = this.settingsProvider.getAddAssetSettings()\n const args = await this.getAddAssetArguments(settings)\n\n return await this.executeTool(args)\n }\n\n protected async getCommonArguments(settings: CommonSettings): Promise {\n const builder = new ArgumentsBuilder()\n\n builder.addKeyValue('owner', settings.owner)\n builder.addKeyValue('repository', settings.repository)\n builder.addKeyValue('token', settings.token)\n\n settings.targetDirectory = await this.getRepoDir(settings)\n\n builder.addKeyValue('targetDirectory', settings.targetDirectory)\n\n if (settings.logFilePath) {\n builder.addKeyValue('logFilePath', settings.logFilePath)\n }\n\n return builder.build()\n }\n\n protected async getCreateArguments(settings: CreateSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('create').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n if (settings.name) {\n builder.addKeyValue('name', settings.name)\n }\n if (settings.targetcommitish) {\n builder.addKeyValue('targetcommitish', settings.targetcommitish)\n }\n\n if (settings.inputFilePath) {\n if (await this.buildAgent.fileExists(settings.inputFilePath)) {\n builder.addKeyValue('inputFilePath', settings.inputFilePath)\n } else {\n throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`)\n }\n }\n if (settings.isPreRelease) {\n builder.addFlag('pre')\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getDiscardArguments(settings: DiscardSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('discard').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getCloseArguments(settings: CloseSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('close').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getOpenArguments(settings: OpenSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('open').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getPublishArguments(settings: PublishSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('publish').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getAddAssetArguments(settings: AddAssetSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('addasset').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getRepoDir(settings: CommonSettings): Promise {\n return await this.getRepoPath(settings.targetDirectory)\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands } from './models'\nimport { GitReleaseManagerTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitReleaseManagerTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitReleaseManagerTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'addasset':\n return await this.addAsset()\n case 'open':\n return await this.open()\n case 'close':\n return await this.close()\n case 'create':\n return await this.create()\n case 'discard':\n return await this.discard()\n case 'publish':\n return await this.publish()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitReleaseManager setup successfully')\n }\n\n private async create(): Promise {\n return this.safeExecute(async () => await this.tool.create(), 'GitReleaseManager created release successfully')\n }\n\n private async discard(): Promise {\n return this.safeExecute(async () => await this.tool.discard(), 'GitReleaseManager discarded release successfully')\n }\n\n private async close(): Promise {\n return this.safeExecute(async () => await this.tool.close(), 'GitReleaseManager closed release successfully')\n }\n\n private async open(): Promise {\n return this.safeExecute(async () => await this.tool.open(), 'GitReleaseManager opened release successfully')\n }\n\n private async publish(): Promise {\n return this.safeExecute(async () => await this.tool.publish(), 'GitReleaseManager published release successfully')\n }\n\n private async addAsset(): Promise {\n return this.safeExecute(async () => await this.tool.addAsset(), 'GitReleaseManager added assets to release successfully')\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"gitreleasemanager.mjs","sources":["../../../src/tools/gitreleasemanager/settings.ts","../../../src/tools/gitreleasemanager/tool.ts","../../../src/tools/gitreleasemanager/runner.ts"],"sourcesContent":["import { type ISettingsProvider, SettingsProvider } from '@tools/common'\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nexport interface IGitReleaseManagerSettingsProvider extends ISettingsProvider {\n getCreateSettings(): CreateSettings\n\n getDiscardSettings(): DiscardSettings\n\n getCloseSettings(): CloseSettings\n\n getOpenSettings(): OpenSettings\n\n getPublishSettings(): PublishSettings\n\n getAddAssetSettings(): AddAssetSettings\n\n getCommonSettings(): CommonSettings\n}\n\nexport class GitReleaseManagerSettingsProvider extends SettingsProvider implements IGitReleaseManagerSettingsProvider {\n getCreateSettings(): CreateSettings {\n const name = this.buildAgent.getInput('name')\n const inputFilePath = this.buildAgent.getInput('inputFilePath')\n const isPreRelease = this.buildAgent.getBooleanInput('isPreRelease')\n const targetcommitish = this.buildAgent.getInput('targetcommitish')\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n name,\n inputFilePath,\n isPreRelease,\n targetcommitish,\n assets\n }\n }\n\n getDiscardSettings(): DiscardSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getCloseSettings(): CloseSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getOpenSettings(): OpenSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getPublishSettings(): PublishSettings {\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings\n }\n }\n\n getAddAssetSettings(): AddAssetSettings {\n const assets = this.buildAgent.getListInput('assets')\n\n const commonSettings = this.getCommonSettings()\n return {\n ...commonSettings,\n assets\n }\n }\n\n getCommonSettings(): CommonSettings {\n const milestone = this.buildAgent.getInput('milestone')\n const owner = this.buildAgent.getInput('owner')\n const repository = this.buildAgent.getInput('repository')\n const token = this.buildAgent.getInput('token')\n const targetDirectory = this.buildAgent.getInput('targetDirectory')\n const logFilePath = this.buildAgent.getInput('logFilePath')\n\n return {\n owner,\n repository,\n token,\n targetDirectory,\n milestone,\n logFilePath\n }\n }\n}\n","import * as path from 'path'\n\nimport { ArgumentsBuilder, DotnetTool } from '@tools/common'\nimport { type ExecResult } from '@agents/common'\n\nimport {\n type AddAssetSettings,\n type CloseSettings,\n type CreateSettings,\n type DiscardSettings,\n type OpenSettings,\n type PublishSettings,\n type CommonSettings\n} from './models'\nimport { GitReleaseManagerSettingsProvider, IGitReleaseManagerSettingsProvider } from './settings'\n\nexport class GitReleaseManagerTool extends DotnetTool {\n get packageName(): string {\n return 'GitReleaseManager.Tool'\n }\n\n get toolName(): string {\n return 'dotnet-gitreleasemanager'\n }\n\n get toolPathVariable(): string {\n return 'GITRELEASEMANAGER_PATH'\n }\n\n get versionRange(): string | null {\n return '>=0.19.0 <0.21.0'\n }\n\n get settingsProvider(): IGitReleaseManagerSettingsProvider {\n return new GitReleaseManagerSettingsProvider(this.buildAgent)\n }\n\n async create(): Promise {\n const settings = this.settingsProvider.getCreateSettings()\n const args = await this.getCreateArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async discard(): Promise {\n const settings = this.settingsProvider.getDiscardSettings()\n const args = await this.getDiscardArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async close(): Promise {\n const settings = this.settingsProvider.getCloseSettings()\n const args = await this.getCloseArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async open(): Promise {\n const settings = this.settingsProvider.getOpenSettings()\n const args = await this.getOpenArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async publish(): Promise {\n const settings = this.settingsProvider.getPublishSettings()\n const args = await this.getPublishArguments(settings)\n\n return await this.executeTool(args)\n }\n\n async addAsset(): Promise {\n const settings = this.settingsProvider.getAddAssetSettings()\n const args = await this.getAddAssetArguments(settings)\n\n return await this.executeTool(args)\n }\n\n protected async getCommonArguments(settings: CommonSettings): Promise {\n const builder = new ArgumentsBuilder()\n\n builder.addKeyValue('owner', settings.owner)\n builder.addKeyValue('repository', settings.repository)\n builder.addKeyValue('token', settings.token)\n\n settings.targetDirectory = await this.getRepoDir(settings)\n\n builder.addKeyValue('targetDirectory', settings.targetDirectory)\n\n if (settings.logFilePath) {\n builder.addKeyValue('logFilePath', settings.logFilePath)\n }\n\n return builder.build()\n }\n\n protected async getCreateArguments(settings: CreateSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('create').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n if (settings.name) {\n builder.addKeyValue('name', settings.name)\n }\n if (settings.targetcommitish) {\n builder.addKeyValue('targetcommitish', settings.targetcommitish)\n }\n\n if (settings.inputFilePath) {\n if (await this.buildAgent.fileExists(settings.inputFilePath)) {\n builder.addKeyValue('inputFilePath', settings.inputFilePath)\n } else {\n throw new Error(`GitReleaseManager inputFilePath not found at ${settings.inputFilePath}`)\n }\n }\n if (settings.isPreRelease) {\n builder.addFlag('pre')\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getDiscardArguments(settings: DiscardSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('discard').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getCloseArguments(settings: CloseSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('close').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getOpenArguments(settings: OpenSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('open').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('milestone', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getPublishArguments(settings: PublishSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('publish').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n\n return builder.build()\n }\n\n protected async getAddAssetArguments(settings: AddAssetSettings): Promise {\n const builder = new ArgumentsBuilder().addArgument('addasset').addArguments(await this.getCommonArguments(settings))\n\n if (settings.milestone) {\n builder.addKeyValue('tagName', settings.milestone)\n }\n if (settings.assets && settings.assets.length > 0) {\n settings.assets = settings.assets.map(asset => {\n return path.join(settings.targetDirectory, asset)\n })\n\n builder.addKeyValue('assets', settings.assets.join(','))\n }\n\n return builder.build()\n }\n\n protected async getRepoDir(settings: CommonSettings): Promise {\n return await this.getRepoPath(settings.targetDirectory)\n }\n}\n","import { type ExecResult, type IBuildAgent } from '@agents/common'\nimport { type Commands } from './models'\nimport { GitReleaseManagerTool } from './tool'\nimport { RunnerBase } from '../common/runner'\n\nexport class Runner extends RunnerBase {\n protected readonly tool: GitReleaseManagerTool\n\n constructor(protected readonly buildAgent: IBuildAgent) {\n super(buildAgent)\n this.tool = new GitReleaseManagerTool(this.buildAgent)\n }\n\n async run(command: Commands): Promise {\n switch (command) {\n case 'setup':\n return await this.setup()\n case 'addasset':\n return await this.addAsset()\n case 'open':\n return await this.open()\n case 'close':\n return await this.close()\n case 'create':\n return await this.create()\n case 'discard':\n return await this.discard()\n case 'publish':\n return await this.publish()\n }\n }\n\n private async setup(): Promise {\n return this.safeExecute(async () => {\n await this.tool.install()\n return { code: 0 }\n }, 'GitReleaseManager setup successfully')\n }\n\n private async create(): Promise {\n return this.safeExecute(async () => await this.tool.create(), 'GitReleaseManager created release successfully')\n }\n\n private async discard(): Promise {\n return this.safeExecute(async () => await this.tool.discard(), 'GitReleaseManager discarded release successfully')\n }\n\n private async close(): Promise {\n return this.safeExecute(async () => await this.tool.close(), 'GitReleaseManager closed release successfully')\n }\n\n private async open(): Promise {\n return this.safeExecute(async () => await this.tool.open(), 'GitReleaseManager opened release successfully')\n }\n\n private async publish(): Promise {\n return this.safeExecute(async () => await this.tool.publish(), 'GitReleaseManager published release successfully')\n }\n\n private async addAsset(): Promise {\n return this.safeExecute(async () => await this.tool.addAsset(), 'GitReleaseManager added assets to release successfully')\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/docs/examples/azure/gitreleasemanager/setup.md b/docs/examples/azure/gitreleasemanager/setup.md index 02b27e692..36d98c711 100644 --- a/docs/examples/azure/gitreleasemanager/setup.md +++ b/docs/examples/azure/gitreleasemanager/setup.md @@ -10,7 +10,7 @@ The Setup GitReleaseManager action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 0.19.x or exact version like 0.19.0. + description: Required version in the form of 0.20.x or exact version like 0.20.0. required: true default: '' includePrerelease: @@ -25,37 +25,37 @@ ignoreFailedSources: ### Example 1 -Install the latest GitReleaseManager 0.19.x version. +Install the latest GitReleaseManager 0.20.x version. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.19.x' + versionSpec: '0.20.x' ``` ### Example 2 -Install specific GitReleaseManager version 0.19.0. +Install specific GitReleaseManager version 0.20.0. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.19.0' + versionSpec: '0.20.0' ``` ### Example 3 -Install the latest GitReleaseManager 0.19.x version even it there is a cached version matching the versionSpec. +Install the latest GitReleaseManager 0.20.x version even it there is a cached version matching the versionSpec. ```yaml steps: - task: gitreleasemanager/setup@3.2.0 displayName: Install GitReleaseManager inputs: - versionSpec: '0.19.x' + versionSpec: '0.20.x' preferLatestVersion: true ``` diff --git a/docs/examples/azure/gitversion/command.md b/docs/examples/azure/gitversion/command.md index f62f999cc..da5d131ae 100644 --- a/docs/examples/azure/gitversion/command.md +++ b/docs/examples/azure/gitversion/command.md @@ -13,7 +13,7 @@ steps: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` These steps are omitted from the examples for brevity. diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index 7c32c0667..8572815d2 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -13,7 +13,7 @@ steps: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` These steps are omitted from the examples for brevity. @@ -281,7 +281,7 @@ jobs: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version @@ -351,7 +351,7 @@ jobs: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version @@ -442,7 +442,7 @@ stages: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - task: gitversion/execute@3.2.0 displayName: Determine Version diff --git a/docs/examples/azure/gitversion/setup.md b/docs/examples/azure/gitversion/setup.md index 823455d57..22023e564 100644 --- a/docs/examples/azure/gitversion/setup.md +++ b/docs/examples/azure/gitversion/setup.md @@ -10,7 +10,7 @@ The Setup GitVersion task accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 6.2.x or exact version like 6.2.0. + description: Required version in the form of 6.3.x or exact version like 6.3.0. required: true default: '' includePrerelease: @@ -48,7 +48,7 @@ steps: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` ### Example 2 @@ -72,7 +72,7 @@ steps: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' includePrerelease: true ``` @@ -85,6 +85,6 @@ steps: - task: gitversion/setup@3.2.0 displayName: Install GitVersion inputs: - versionSpec: '6.2.x' + versionSpec: '6.3.x' preferLatestVersion: true ``` diff --git a/docs/examples/github/gitreleasemanager/setup.md b/docs/examples/github/gitreleasemanager/setup.md index 07a948e3f..22dd00e39 100644 --- a/docs/examples/github/gitreleasemanager/setup.md +++ b/docs/examples/github/gitreleasemanager/setup.md @@ -10,7 +10,7 @@ The Setup GitReleaseManager action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 0.19.x or exact version like 0.19.0. + description: Required version in the form of 0.20.x or exact version like 0.20.0. required: true default: '' includePrerelease: @@ -25,37 +25,37 @@ ignoreFailedSources: ### Example 1 -Install the latest GitReleaseManager 0.19.x version. +Install the latest GitReleaseManager 0.20.x version. ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.19.x' + versionSpec: '0.20.x' ``` ### Example 2 -Install specific GitReleaseManager version 0.19.0. +Install specific GitReleaseManager version 0.20.0. ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.19.0' + versionSpec: '0.20.0' ``` ### Example 3 -Install the latest GitReleaseManager 0.19.x version even it there is a cached version matching the versionSpec.~~~~ +Install the latest GitReleaseManager 0.20.x version even it there is a cached version matching the versionSpec.~~~~ ```yaml steps: - name: Install GitReleaseManager uses: gittools/actions/gitreleasemanager/setup@v3.2.0 with: - versionSpec: '0.19.x' + versionSpec: '0.20.x' preferLatestVersion: true ``` diff --git a/docs/examples/github/gitversion/command.md b/docs/examples/github/gitversion/command.md index a9d450224..eb4af9fc3 100644 --- a/docs/examples/github/gitversion/command.md +++ b/docs/examples/github/gitversion/command.md @@ -15,7 +15,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` These steps are omitted from the examples for brevity. diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index 932a5a974..21c6e4635 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -15,7 +15,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` These steps are omitted from the examples for brevity. @@ -275,7 +275,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Determine Version id: version_step # step id used as reference for output values @@ -365,7 +365,7 @@ jobs: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' - name: Determine Version id: version_step # step id used as reference for output values diff --git a/docs/examples/github/gitversion/setup.md b/docs/examples/github/gitversion/setup.md index 477fdccce..ab0f63398 100644 --- a/docs/examples/github/gitversion/setup.md +++ b/docs/examples/github/gitversion/setup.md @@ -10,7 +10,7 @@ The Setup GitVersion action accepts the following inputs: ```yaml versionSpec: - description: Required version in the form of 6.2.x or exact version like 6.2.0. + description: Required version in the form of 6.3.x or exact version like 6.3.0. required: true default: '' includePrerelease: @@ -47,7 +47,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' ``` ### Example 2 @@ -71,7 +71,7 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' includePrerelease: true ``` @@ -84,6 +84,6 @@ steps: - name: Install GitVersion uses: gittools/actions/gitversion/setup@v3.2.0 with: - versionSpec: '6.2.x' + versionSpec: '6.3.x' preferLatestVersion: true ``` diff --git a/docs/versions.md b/docs/versions.md index b46cd0f26..c51eb828e 100644 --- a/docs/versions.md +++ b/docs/versions.md @@ -4,4 +4,4 @@ |------------------|------------------|--------------------|--------------------|:-------------------------:| | v1.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.19.0` | `>=0.10.0 <0.20.0` | 2.220.0 | | v2.x | `>=5.2.0 <6.1.0` | `>=0.10.0 <0.20.0` | `>=0.20.0` | 3.224.0 | -| v3.x | `>=5.2.0 <7.0.0` | `>=0.19.0 <0.20.0` | `>=0.20.0` | 3.224.0 | +| v3.x | `>=5.2.0 <7.0.0` | `>=0.19.0 <0.21.0` | `>=0.20.0` | 3.224.0 | diff --git a/envs/gitversion/setup/azure.env b/envs/gitversion/setup/azure.env index f2a19454c..bed388637 100644 --- a/envs/gitversion/setup/azure.env +++ b/envs/gitversion/setup/azure.env @@ -4,4 +4,4 @@ AGENT_TOOLSDIRECTORY=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.2.x +INPUT_VERSIONSPEC=6.3.x diff --git a/envs/gitversion/setup/github.env b/envs/gitversion/setup/github.env index ebcefec15..c742f4658 100644 --- a/envs/gitversion/setup/github.env +++ b/envs/gitversion/setup/github.env @@ -4,4 +4,4 @@ RUNNER_TOOL_CACHE=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.2.x +INPUT_VERSIONSPEC=6.3.x diff --git a/envs/gitversion/setup/local.env b/envs/gitversion/setup/local.env index a9407f1eb..531171d6e 100644 --- a/envs/gitversion/setup/local.env +++ b/envs/gitversion/setup/local.env @@ -4,4 +4,4 @@ AGENT_TOOLS_DIR=./.test/tools INPUT_IGNOREFAILEDSOURCES=true INPUT_INCLUDEPRERELEASE=false INPUT_PREFERLATESTVERSION=false -INPUT_VERSIONSPEC=6.2.x +INPUT_VERSIONSPEC=6.3.x diff --git a/gitreleasemanager/setup/action.yml b/gitreleasemanager/setup/action.yml index ca58a2f10..9c0739184 100644 --- a/gitreleasemanager/setup/action.yml +++ b/gitreleasemanager/setup/action.yml @@ -9,7 +9,7 @@ runs: main: main.mjs inputs: versionSpec: - description: Required version in the form of 0.19.x or exact version like 0.19.0 + description: Required version in the form of 0.20.x or exact version like 0.20.0 required: true default: '' includePrerelease: diff --git a/gitversion/setup/action.yml b/gitversion/setup/action.yml index 255e64b3f..0a9997a6d 100644 --- a/gitversion/setup/action.yml +++ b/gitversion/setup/action.yml @@ -10,7 +10,7 @@ runs: inputs: versionSpec: - description: Required version in the form of 6.2.x or exact version like 6.2.0 + description: Required version in the form of 6.3.x or exact version like 6.3.0 required: true default: '' includePrerelease: diff --git a/src/__tests__/tools/common/settings.spec.ts b/src/__tests__/tools/common/settings.spec.ts index ff4545e1d..0fc1c55a1 100644 --- a/src/__tests__/tools/common/settings.spec.ts +++ b/src/__tests__/tools/common/settings.spec.ts @@ -6,7 +6,7 @@ import { expectValidSettings } from './utils' describe('SettingsProvider', () => { it('should return SetupSettings', () => { const settings: SetupSettings = { - versionSpec: '6.2.x', + versionSpec: '6.3.x', includePrerelease: false, ignoreFailedSources: true, preferLatestVersion: false diff --git a/src/__tests__/tools/gitreleasemanager/runner.spec.ts b/src/__tests__/tools/gitreleasemanager/runner.spec.ts index 0b12ea42e..bdbe07ad7 100644 --- a/src/__tests__/tools/gitreleasemanager/runner.spec.ts +++ b/src/__tests__/tools/gitreleasemanager/runner.spec.ts @@ -14,7 +14,7 @@ describe('GitReleaseManager Runner', () => { const toolPathVariable = 'GITRELEASEMANAGER_PATH' const toolName = 'dotnet-gitreleasemanager' - const versionSpec = '0.19.x' + const versionSpec = '0.20.x' function testOnAgent(agent: IBuildAgent): void { let version: string diff --git a/src/__tests__/tools/gitreleasemanager/tool.spec.ts b/src/__tests__/tools/gitreleasemanager/tool.spec.ts index 5ba502a09..7bcd05a8c 100644 --- a/src/__tests__/tools/gitreleasemanager/tool.spec.ts +++ b/src/__tests__/tools/gitreleasemanager/tool.spec.ts @@ -72,7 +72,7 @@ describe('GitReleaseManagerTool', () => { }) it('should return correct version range', () => { - expect(tool.versionRange).toBe('>=0.10.0 <0.20.0') + expect(tool.versionRange).toBe('>=0.19.0 <0.21.0') }) it('should have settings provider defined', () => { diff --git a/src/__tests__/tools/gitversion/runner.spec.ts b/src/__tests__/tools/gitversion/runner.spec.ts index 59eb798ac..c78831a06 100644 --- a/src/__tests__/tools/gitversion/runner.spec.ts +++ b/src/__tests__/tools/gitversion/runner.spec.ts @@ -16,7 +16,7 @@ describe('GitVersion Runner', () => { const toolPathVariable = 'GITVERSION_PATH' const toolName = 'dotnet-gitversion' - const versionSpec = '6.2.x' + const versionSpec = '6.3.x' function testOnAgent(agent: IBuildAgent): void { let version: string diff --git a/src/tools/gitreleasemanager/tool.ts b/src/tools/gitreleasemanager/tool.ts index a22be560c..89e8851b3 100644 --- a/src/tools/gitreleasemanager/tool.ts +++ b/src/tools/gitreleasemanager/tool.ts @@ -28,7 +28,7 @@ export class GitReleaseManagerTool extends DotnetTool { } get versionRange(): string | null { - return '>=0.10.0 <0.20.0' + return '>=0.19.0 <0.21.0' } get settingsProvider(): IGitReleaseManagerSettingsProvider { From 51d325634925d7d9ce0a7efc2c586c0bc2b9eee6 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Fri, 25 Apr 2025 16:02:31 +0200 Subject: [PATCH 108/108] Corrects grammar in comments Corrects the grammar in the comments related to the `version_step` id within various workflow files and documentation to use "a reference" instead of "reference". --- .azure/example-10.yml | 2 +- .azure/example-8.yml | 2 +- .azure/example-9.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/example-8.yml | 2 +- .github/workflows/example-9.yml | 2 +- .github/workflows/prerelease.yml | 2 +- .github/workflows/release.yml | 2 +- docs/examples/azure/gitversion/execute.md | 20 ++++++++++---------- docs/examples/github/gitversion/execute.md | 16 ++++++++-------- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.azure/example-10.yml b/.azure/example-10.yml index 04998f785..07f2ca794 100644 --- a/.azure/example-10.yml +++ b/.azure/example-10.yml @@ -26,7 +26,7 @@ stages: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false diff --git a/.azure/example-8.yml b/.azure/example-8.yml index b8b28d9bd..61c395966 100644 --- a/.azure/example-8.yml +++ b/.azure/example-8.yml @@ -23,7 +23,7 @@ jobs: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false diff --git a/.azure/example-9.yml b/.azure/example-9.yml index 3a43b1d09..97b559445 100644 --- a/.azure/example-9.yml +++ b/.azure/example-9.yml @@ -23,7 +23,7 @@ jobs: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30efaa3c3..0dd38b6e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,7 +68,7 @@ jobs: targetPath: './' arguments: '/format {Major}.{Minor}' - name: gitversion/execute - id: gitversion # step id used as reference for output values + id: gitversion # step id used as a reference for output values uses: ./gitversion/execute with: targetPath: './' diff --git a/.github/workflows/example-8.yml b/.github/workflows/example-8.yml index 0ff8c8c72..2a5a89f50 100644 --- a/.github/workflows/example-8.yml +++ b/.github/workflows/example-8.yml @@ -22,7 +22,7 @@ jobs: versionSpec: '6.3.x' - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 - run: | diff --git a/.github/workflows/example-9.yml b/.github/workflows/example-9.yml index 522d27a76..3be81d213 100644 --- a/.github/workflows/example-9.yml +++ b/.github/workflows/example-9.yml @@ -28,7 +28,7 @@ jobs: versionSpec: '6.3.x' - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 GitVersion_v6_cross_job_consumer_without_prefix: diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 5b8b3e72e..055588cb4 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -31,7 +31,7 @@ jobs: with: versionSpec: '6.3.x' - name: Use GitVersion - id: gitversion # step id used as reference for output values + id: gitversion # step id used as a reference for output values uses: ./gitversion/execute - name: Publish To Azure Marketplace id: publish-azure diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 08b6f06f2..ac4d2a13e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: with: versionSpec: '0.20.x' - name: Use GitVersion - id: gitversion # step id used as reference for output values + id: gitversion # step id used as a reference for output values uses: ./gitversion/execute - name: Update Release Notes uses: ./gitreleasemanager/create diff --git a/docs/examples/azure/gitversion/execute.md b/docs/examples/azure/gitversion/execute.md index 8572815d2..a6790aea7 100644 --- a/docs/examples/azure/gitversion/execute.md +++ b/docs/examples/azure/gitversion/execute.md @@ -121,7 +121,7 @@ steps: # gitversion/setup@3.2.0 task omitted for brevity. - task: gitversion/execute@3.2.0 - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values displayName: Determine Version ``` @@ -138,7 +138,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: useConfigFile: true @@ -168,7 +168,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: useConfigFile: true configFilePath: 'VersionConfig.yml' @@ -187,7 +187,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: disableCache: true disableNormalization: true @@ -206,7 +206,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: updateAssemblyInfo: true ``` @@ -224,7 +224,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false @@ -244,7 +244,7 @@ steps: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: updateProjectFiles: true ``` @@ -285,7 +285,7 @@ jobs: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false @@ -355,7 +355,7 @@ jobs: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false @@ -446,7 +446,7 @@ stages: - task: gitversion/execute@3.2.0 displayName: Determine Version - name: version_step # step id used as reference for output values + name: version_step # step id used as a reference for output values inputs: overrideConfig: | update-build-number=false diff --git a/docs/examples/github/gitversion/execute.md b/docs/examples/github/gitversion/execute.md index 21c6e4635..17265b27a 100644 --- a/docs/examples/github/gitversion/execute.md +++ b/docs/examples/github/gitversion/execute.md @@ -123,7 +123,7 @@ steps: # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 ``` @@ -137,7 +137,7 @@ steps: ```yaml steps: - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 with: useConfigFile: true @@ -166,7 +166,7 @@ steps: # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 with: useConfigFile: true @@ -185,7 +185,7 @@ steps: # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 with: disableCache: true @@ -221,7 +221,7 @@ steps: # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 with: overrideConfig: | @@ -241,7 +241,7 @@ steps: # gittools/actions/gitversion/setup@v3.2.0 action omitted for brevity. - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 with: updateProjectFiles: true @@ -278,7 +278,7 @@ jobs: versionSpec: '6.3.x' - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 - run: | @@ -368,7 +368,7 @@ jobs: versionSpec: '6.3.x' - name: Determine Version - id: version_step # step id used as reference for output values + id: version_step # step id used as a reference for output values uses: gittools/actions/gitversion/execute@v3.2.0 GitVersion_v6_cross_job_consumer_without_prefix: