Compare commits

...

17 Commits

Author SHA1 Message Date
Azure SDK Bot
78de0b7c25
LogGroupStart should have local build output (#6867)
Co-authored-by: Patrick Hallisey <pahallis@microsoft.com>
2025-12-08 23:26:27 -08:00
Azure SDK Bot
884ff2fbab
Sync eng/common directory with azure-sdk-tools for PR 13267 (#6866)
* Updated artifactJson input to artifacts input

* Prioritized service directory from artifact object over the parameter input

* Returned error when service directory is not provided for the old usage

* Removed redudant line

* Initilized the variable in a loop

---------

Co-authored-by: ray chen <raychen@microsoft.com>
2025-12-08 17:37:27 -08:00
dependabot[bot]
a2082c3e5b
Bump github.com/microsoft/vcpkg from master to 2025.10.17 (#6810)
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2025.10.17. This release includes the previously tagged commit.
- [Release notes](https://github.com/microsoft/vcpkg/releases)
- [Commits](4334d8b4c8...74e6536215)

---
updated-dependencies:
- dependency-name: github.com/microsoft/vcpkg
  dependency-version: 2025.10.17
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05 13:16:54 -08:00
Azure SDK Bot
b5ae8c9d8a
Sync eng/common directory with azure-sdk-tools for PR 13202 (#6861)
* Added optional artifact list to filter the package info to be returned

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* return full package info if the input artifact list is empty

* Fixed hashset issue

* Added artifacts parameter

---------

Co-authored-by: ray chen <raychen@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-05 10:42:15 -08:00
Azure SDK Bot
0055aa5f95
Bump @azure-tools/typespec-client-generator-cli (#6844)
Bumps [@azure-tools/typespec-client-generator-cli](https://github.com/Azure/azure-sdk-tools) from 0.30.0 to 0.31.0.
- [Release notes](https://github.com/Azure/azure-sdk-tools/releases)
- [Commits](https://github.com/Azure/azure-sdk-tools/commits)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05 08:43:44 -08:00
Azure SDK Bot
bd2e0f09ff
Bump cspell from 9.3.2 to 9.4.0 in /eng/common/spelling (#6859)
Bumps [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) from 9.3.2 to 9.4.0.
- [Release notes](https://github.com/streetsidesoftware/cspell/releases)
- [Changelog](https://github.com/streetsidesoftware/cspell/blob/main/packages/cspell/CHANGELOG.md)
- [Commits](https://github.com/streetsidesoftware/cspell/commits/v9.4.0/packages/cspell)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 13:35:51 -08:00
Azure SDK Bot
8d08a098ef
Fix unhelpful error when no stress packages are found (#6798)
Co-authored-by: Ben Broderick Phillips <bebroder@microsoft.com>
2025-12-04 15:10:03 -05:00
Azure SDK Bot
d857c1c7d1
Sync eng/common directory with azure-sdk-tools for PR 13142 (#6855)
* quotes

* generalize

* cant use trigger as a job

* Update eng/common/pipelines/templates/jobs/ai-eval-job.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* target repo name fix

* compile time expression

* compile time expression

* show params for pipeline

* fix the pipeline variables

* another fix

* fix variables

---------

Co-authored-by: Juan Ospina <70209456+jeo02@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-04 11:30:03 -08:00
Ronnie Geraghty
f1ccfabd25
Fixing table in the README (#6852) 2025-12-04 10:53:01 -08:00
Azure SDK Bot
be8cf03ed0
Sync eng/common directory with azure-sdk-tools for PR 13193 (#6856)
* Fix property name for skipVerifyChangeLog

* Apply suggestion from @raych1

* Refactor ShouldVerifyChangeLog function condition

* Apply suggestion from @raych1

---------

Co-authored-by: Ray Chen <raychen@microsoft.com>
2025-12-04 10:17:01 -08:00
Daniel Jurek
b1a3020bf3
Use auth for cloning (#6858) 2025-12-04 09:11:08 -08:00
Azure SDK Bot
fe2bbcd162
Remove redundant usage of SpecProjectPath (#6854)
Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2025-12-03 11:50:43 -08:00
Azure SDK Bot
243b4de513
Sync eng/common directory with azure-sdk-tools for PR 13102 (#6851)
* Added forRelease input parameter

* Added 'forRelease' to template

* Added log

---------

Co-authored-by: ray chen <raychen@microsoft.com>
2025-12-02 14:34:01 -08:00
Daniel Jurek
20ee0acdf5
learn.microsoft.com docs onboarding engsys (#6818)
* Add metadata fetching

* Update docindex.yml to use new params and variables

* Add onboarding logic and update .gitignore to allow eng/scripts/docs edits

* Test: point to different branch

* Skip onboarding legacy moniker

* Add docs to release process

* REVERT: Test eng/common changes to Update-DocsMsPackages.ps1

* Remove nightly branch work, those require hosted docs

* Make CHANGELOG.md comply with rules

* Fix relevant spelling issues

* TEST: Add GitHub token

* Branch

* push branch

* Set DefinitionId

* Test branch

* Token

* Remove unnecessary condition

* Commitish

* Specify monikers

* Revert test-related changes
2025-12-02 13:26:51 -08:00
Azure SDK Bot
6378718b66
Sync eng/common directory with azure-sdk-tools for PR 13005 (#6839)
* Add field for Spec Project Path property

* Reorder properties

* Cleanup

* Logging

* Move SpecProjectPath into Package-Properties.ps1

* Update SpecProjectPath

* Fix accidental removal of $title

* Create or update with SpecProjectPath

* Revert logic, cannot test

* Revert logic, cannot test

* Revert irrelevant file

* Retain title

* Review feedback

* Review feedback

---------

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
2025-12-02 12:10:35 -08:00
Azure SDK Bot
512b4e31d2
Sync eng/common directory with azure-sdk-tools for PR 13097 (#6849)
* Add New-ChangelogContent and Set-ChangeLogEntryContent functions with tests

Co-authored-by: haolingdong-msft <87355844+haolingdong-msft@users.noreply.github.com>

* Fix string interpolation pattern for consistency

Co-authored-by: haolingdong-msft <87355844+haolingdong-msft@users.noreply.github.com>

* Refactor regex into shared helper and add .Trim() for consistency

Co-authored-by: weshaggard <9010698+weshaggard@users.noreply.github.com>

* Rename New-ChangelogContent to Parse-ChangelogContent

Co-authored-by: weshaggard <9010698+weshaggard@users.noreply.github.com>

* Update Remove-EmptySections to use Get-SectionHeaderRegex helper

Co-authored-by: weshaggard <9010698+weshaggard@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: haolingdong-msft <87355844+haolingdong-msft@users.noreply.github.com>
Co-authored-by: weshaggard <9010698+weshaggard@users.noreply.github.com>
2025-12-01 15:50:35 -08:00
Azure SDK Bot
e70a8a79c2
Increment version for storage releases (#6848)
* Increment package version after release of azure-storage-common

* Increment package version after release of azure-storage-blobs

* Increment package version after release of azure-storage-files-datalake

* Increment package version after release of azure-storage-files-shares

* Increment package version after release of azure-storage-queues
2025-12-01 14:19:10 +08:00
39 changed files with 1116 additions and 506 deletions

1
.gitignore vendored
View File

@ -351,6 +351,7 @@ build/
#Doxygen
[Dd]ocs/
!eng/scripts/docs
# vscode
**/.vscode/*

13
.vscode/cspell.json vendored
View File

@ -310,6 +310,19 @@
"zulu"
],
"overrides": [
{
"filename": "**/eng/pipelines/docindex.yml",
"words": [
"msdocs",
"SDKCI"
]
},
{
"filename": "**/eng/pipelines/templates/stages/archetype-cpp-release.yml",
"words": [
"docsms"
]
},
{
"filename": "CMakePresets.json",
"words": [

View File

@ -15,83 +15,34 @@ parameters:
default: 'tools/azsdk-cli/Azure.Sdk.Tools.Cli.Evaluations'
- name: OpenAIEndPoint
type: string
default: 'https://ai-prmarottai3149546654251245.openai.azure.com/'
default: 'https://openai-shared.openai.azure.com/'
- name: Model
type: string
default: 'gpt-5'
- name: ToolsRepoName
type: string
default: 'azure-sdk-tools'
- name: ToolsRepoOwner
- name: EvalRepoOwner
type: string
default: 'Azure'
- name: EvalRepoName
type: string
default: 'azure-sdk-tools'
- name: EvalRepoCommit
type: string
default: 'main'
jobs:
- job: Run_Eval
variables:
- template: /eng/pipelines/templates/variables/globals.yml
- template: /eng/pipelines/templates/variables/image.yml
displayName: 'Run AI Eval'
pool:
name: $(LINUXPOOL)
image: $(LINUXVMIMAGE)
os: linux
steps:
- task: UseDotNet@2
displayName: "Use .NET SDK 9.0.x"
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
version: 9.0.x
performMultiLevelLookup: true
- task: UseDotNet@2
displayName: "Use .NET SDK 8.0.x"
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
version: 8.0.x
performMultiLevelLookup: true
- template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
parameters:
SkipCheckoutNone: true
Repositories:
- Name: $(Build.Repository.Name)
Commitish: $(Build.SourceVersion)
WorkingDirectory: $(System.DefaultWorkingDirectory)/$(Build.Repository.Name)
- Name: ${{ parameters.ToolsRepoOwner }}/${{ parameters.ToolsRepoName }}
WorkingDirectory: $(System.DefaultWorkingDirectory)/${{ parameters.ToolsRepoName }}
Paths:
- 'tools/**'
- eng/common/**
- .github/copilot-instructions.md
- task: AzureCLI@2
displayName: 'Run eval'
inputs:
azureSubscription: opensource-api-connection
scriptType: 'bash'
scriptLocation: 'inlineScript'
workingDirectory: '${{ parameters.ToolsRepoName }}/${{ parameters.EvalProject }}'
inlineScript: |
echo "Logged in to Azure"
echo "Running eval in project ${{ parameters.ToolsRepoName }}/${{ parameters.EvalProject }}"
dotnet test /p:ArtifactsPackagesDir=$(Build.ArtifactStagingDirectory) --logger trx
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_MULTILEVEL_LOOKUP: 0
AZURE_OPENAI_MODEL_DEPLOYMENT_NAME: ${{ parameters.Model }}
AZURE_OPENAI_ENDPOINT: ${{ parameters.OpenAIEndPoint }}
REPOSITORY_NAME: $(Build.Repository.Name)
COPILOT_INSTRUCTIONS_PATH_MCP_EVALS: $(System.DefaultWorkingDirectory)/$(Build.Repository.Name)/.github/copilot-instructions.md
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/*.trx'
testRunTitle: $(System.JobDisplayName)
testResultsFormat: 'VSTest'
mergeTestResults: true
variables:
TargetRepoOwner: ${{ split(variables['Build.Repository.Name'], '/')[0] }}
TargetRepoName: ${{ split(variables['Build.Repository.Name'], '/')[1] }}
TargetRepoCommit: ${{ variables['Build.SourceVersion'] }}
extends:
template: /eng/common/pipelines/templates/jobs/ai-eval-job.yml
parameters:
EvalProject: ${{ parameters.EvalProject }}
OpenAIEndPoint: ${{ parameters.OpenAIEndPoint }}
Model: ${{ parameters.Model }}
EvalRepoOwner: ${{ parameters.EvalRepoOwner }}
EvalRepoName: ${{ parameters.EvalRepoName }}
EvalRepoCommit: ${{ parameters.EvalRepoCommit }}
TargetRepoOwner: $(TargetRepoOwner)
TargetRepoName: $(TargetRepoName)
TargetRepoCommit: $(TargetRepoCommit)

View File

@ -0,0 +1,100 @@
parameters:
- name: EvalProject
type: string
default: 'tools/azsdk-cli/Azure.Sdk.Tools.Cli.Evaluations'
- name: OpenAIEndPoint
type: string
default: 'https://openai-shared.openai.azure.com/'
- name: Model
type: string
default: 'gpt-5'
# Repository where evals are located
- name: EvalRepoOwner
type: string
default: 'Azure'
- name: EvalRepoName
type: string
default: 'azure-sdk-tools'
- name: EvalRepoCommit
type: string
default: 'main'
# Target repository for copilot instructions
- name: TargetRepoOwner
type: string
- name: TargetRepoName
type: string
- name: TargetRepoCommit
type: string
jobs:
- job: Run_Eval
variables:
- template: /eng/pipelines/templates/variables/globals.yml
- template: /eng/pipelines/templates/variables/image.yml
displayName: 'Run AI Eval'
pool:
name: $(LINUXPOOL)
image: $(LINUXVMIMAGE)
os: linux
steps:
- checkout: none
- task: UseDotNet@2
displayName: "Use .NET SDK 9.0.x"
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
version: 9.0.x
performMultiLevelLookup: true
- task: UseDotNet@2
displayName: "Use .NET SDK 8.0.x"
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
version: 8.0.x
performMultiLevelLookup: true
- template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
parameters:
SkipCheckoutNone: true
Repositories:
- Name: ${{ parameters.EvalRepoOwner }}/${{ parameters.EvalRepoName }}
Commitish: ${{ parameters.EvalRepoCommit }}
WorkingDirectory: $(System.DefaultWorkingDirectory)/${{ parameters.EvalRepoName }}
- Name: ${{ parameters.TargetRepoOwner }}/${{ parameters.TargetRepoName }}
Commitish: ${{ parameters.TargetRepoCommit }}
WorkingDirectory: $(System.DefaultWorkingDirectory)/${{ parameters.TargetRepoName }}
Paths:
- 'tools/**'
- 'eng/common/**'
- '.github/copilot-instructions.md'
- task: AzureCLI@2
displayName: 'Run eval'
condition: and(succeeded(), ne(variables['Skip.Eval'], 'true'))
inputs:
azureSubscription: opensource-api-connection
scriptType: 'bash'
scriptLocation: 'inlineScript'
workingDirectory: '$(System.DefaultWorkingDirectory)/${{ parameters.EvalRepoName }}/${{ parameters.EvalProject }}'
inlineScript: |
echo "Logged in to Azure"
echo "Running eval"
dotnet test --logger trx
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_MULTILEVEL_LOOKUP: 0
AZURE_OPENAI_MODEL_DEPLOYMENT_NAME: ${{ parameters.Model }}
AZURE_OPENAI_ENDPOINT: ${{ parameters.OpenAIEndPoint }}
REPOSITORY_NAME: ${{ parameters.TargetRepoName }}
COPILOT_INSTRUCTIONS_PATH_MCP_EVALS: $(System.DefaultWorkingDirectory)/${{ parameters.TargetRepoName }}/.github/copilot-instructions.md
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/*.trx'
testRunTitle: $(System.JobDisplayName)
testResultsFormat: 'VSTest'
mergeTestResults: true

View File

@ -2,6 +2,7 @@
# is used when this pipeline is going to be generating and publishing daily dev builds.
parameters:
ServiceDirectory: ''
Artifacts: []
Condition: succeeded()
steps:
- ${{if ne(parameters.ServiceDirectory, '')}}:
@ -11,6 +12,7 @@ steps:
arguments: >
-ServiceDirectory ${{parameters.ServiceDirectory}}
-OutDirectory $(Build.ArtifactStagingDirectory)/PackageInfo
-artifactList @('${{ replace(convertToJson(parameters.Artifacts), '''', '`''') }}' | ConvertFrom-Json | Select-Object -ExpandProperty name)
pwsh: true
workingDirectory: $(Pipeline.Workspace)
displayName: Dump Package properties

View File

@ -14,9 +14,9 @@ parameters:
- name: TestPipeline
type: boolean
default: false
- name: ArtifactsJson
type: string
default: ''
- name: Artifacts
type: object
default: []
steps:
- ${{ if eq(parameters.TestPipeline, true) }}:
@ -31,5 +31,5 @@ steps:
-PackageNames '${{ coalesce(parameters.PackageName, parameters.PackageNames) }}'
-ServiceDirectory '${{ parameters.ServiceDirectory }}'
-TagSeparator '${{ parameters.TagSeparator }}'
-ArtifactsJson '${{ parameters.ArtifactsJson }}'
-Artifacts @('${{ replace(convertToJson(parameters.Artifacts), '''', '`''') }}' | ConvertFrom-Json)
pwsh: true

View File

@ -4,6 +4,9 @@ parameters:
- name: Condition
type: string
default: succeeded()
- name: ForRelease
type: boolean
default: false
steps:
- task: Powershell@2
@ -11,6 +14,7 @@ steps:
filePath: $(Build.SourcesDirectory)/eng/common/scripts/Verify-ChangeLogs.ps1
arguments: >
-PackagePropertiesFolder '${{ parameters.PackagePropertiesFolder }}'
-ForRelease $${{ parameters.ForRelease }}
pwsh: true
displayName: Verify ChangeLogEntries
condition: ${{ parameters.Condition }}

View File

@ -8,6 +8,15 @@ $CHANGELOG_UNRELEASED_STATUS = "(Unreleased)"
$CHANGELOG_DATE_FORMAT = "yyyy-MM-dd"
$RecommendedSectionHeaders = @("Features Added", "Breaking Changes", "Bugs Fixed", "Other Changes")
# Helper function to build the section header regex pattern
function Get-SectionHeaderRegex {
param(
[Parameter(Mandatory = $true)]
[string]$InitialAtxHeader
)
return "^${InitialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}"
}
# Returns a Collection of changeLogEntry object containing changelog info for all versions present in the gived CHANGELOG
function Get-ChangeLogEntries {
param (
@ -49,7 +58,7 @@ function Get-ChangeLogEntriesFromContent {
$initialAtxHeader = $matches["HeaderLevel"]
}
$sectionHeaderRegex = "^${initialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}"
$sectionHeaderRegex = Get-SectionHeaderRegex -InitialAtxHeader $initialAtxHeader
$changeLogEntries | Add-Member -NotePropertyName "InitialAtxHeader" -NotePropertyValue $initialAtxHeader
$releaseTitleAtxHeader = $initialAtxHeader + "#"
$headerLines = @()
@ -301,7 +310,7 @@ function Remove-EmptySections {
$InitialAtxHeader = "#"
)
$sectionHeaderRegex = "^${InitialAtxHeader}${SECTION_HEADER_REGEX_SUFFIX}"
$sectionHeaderRegex = Get-SectionHeaderRegex -InitialAtxHeader $InitialAtxHeader
$releaseContent = $ChangeLogEntry.ReleaseContent
if ($releaseContent.Count -gt 0)
@ -460,3 +469,135 @@ function Confirm-ChangeLogForRelease {
}
return $ChangeLogStatus.IsValid
}
function Parse-ChangelogContent {
<#
.SYNOPSIS
Parses raw changelog text into structured content with sections.
.DESCRIPTION
Takes raw changelog text and parses it into structured arrays containing
ReleaseContent (all lines) and Sections (organized by section headers).
This function only generates content structure without modifying any files.
.PARAMETER ChangelogText
The new changelog text containing sections (e.g., "### Breaking Changes", "### Features Added").
.PARAMETER InitialAtxHeader
The markdown header level used in the changelog (e.g., "#" for H1, "##" for H2).
Defaults to "#".
.OUTPUTS
PSCustomObject with ReleaseContent and Sections properties.
.EXAMPLE
$content = Parse-ChangelogContent -ChangelogText $changelogText -InitialAtxHeader "#"
$content.ReleaseContent # Array of all lines
$content.Sections # Hashtable of section name to content lines
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$ChangelogText,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$InitialAtxHeader = "#"
)
Write-Verbose "Parsing changelog text into structured content..."
# Parse the new changelog content into lines
$changelogLines = $ChangelogText -split "`r?`n"
# Initialize content structure
$releaseContent = @()
$sections = @{}
# Add an empty line after the version header
$releaseContent += ""
# Parse the changelog content
# InitialAtxHeader represents the markdown header level (e.g., "#" for H1, "##" for H2)
# Section headers are two levels deeper than the changelog title
# (e.g., "### Breaking Changes" if InitialAtxHeader is "#")
$currentSection = $null
$sectionHeaderRegex = Get-SectionHeaderRegex -InitialAtxHeader $InitialAtxHeader
foreach ($line in $changelogLines) {
if ($line.Trim() -match $sectionHeaderRegex) {
$currentSection = $matches["sectionName"].Trim()
$sections[$currentSection] = @()
$releaseContent += $line
Write-Verbose " Found section: $currentSection"
}
elseif ($currentSection) {
$sections[$currentSection] += $line
$releaseContent += $line
}
else {
$releaseContent += $line
}
}
Write-Verbose " Parsed $($sections.Count) section(s)"
# Return structured content
return [PSCustomObject]@{
ReleaseContent = $releaseContent
Sections = $sections
}
}
function Set-ChangeLogEntryContent {
<#
.SYNOPSIS
Updates a changelog entry with new content.
.DESCRIPTION
Takes a changelog entry object and new changelog text, parses the text into
structured content, and updates the entry's ReleaseContent and Sections properties.
.PARAMETER ChangeLogEntry
The changelog entry object to update (from Get-ChangeLogEntries).
.PARAMETER NewContent
The new changelog text containing sections.
.PARAMETER InitialAtxHeader
The markdown header level used in the changelog. Defaults to "#".
.OUTPUTS
The updated changelog entry object.
.EXAMPLE
$entries = Get-ChangeLogEntries -ChangeLogLocation $changelogPath
$entry = $entries["1.0.0"]
Set-ChangeLogEntryContent -ChangeLogEntry $entry -NewContent $newText -InitialAtxHeader $entries.InitialAtxHeader
Set-ChangeLogContent -ChangeLogLocation $changelogPath -ChangeLogEntries $entries
#>
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[ValidateNotNull()]
[PSCustomObject]$ChangeLogEntry,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$NewContent,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$InitialAtxHeader = "#"
)
# Parse the new content into structured format
$parsedContent = Parse-ChangelogContent -ChangelogText $NewContent -InitialAtxHeader $InitialAtxHeader
# Update the entry with the parsed content
$ChangeLogEntry.ReleaseContent = $parsedContent.ReleaseContent
$ChangeLogEntry.Sections = $parsedContent.Sections
return $ChangeLogEntry
}

View File

@ -268,6 +268,7 @@ function FindPackageWorkItem($lang, $packageName, $version, $outputCommand = $tr
$fields += "Custom.Generated"
$fields += "Custom.RoadmapState"
$fields += "Microsoft.VSTS.Common.StateChangeDate"
$fields += "Custom.SpecProjectPath"
$fieldList = ($fields | ForEach-Object { "[$_]"}) -join ", "
$query = "SELECT ${fieldList} FROM WorkItems WHERE [Work Item Type] = 'Package'"
@ -1256,7 +1257,8 @@ function Update-DevOpsReleaseWorkItem {
[string]$packageNewLibrary = "true",
[string]$relatedWorkItemId = $null,
[string]$tag = $null,
[bool]$inRelease = $true
[bool]$inRelease = $true,
[string]$specProjectPath = ""
)
if (!(Get-Command az -ErrorAction SilentlyContinue)) {
@ -1280,6 +1282,7 @@ function Update-DevOpsReleaseWorkItem {
RepoPath = $packageRepoPath
Type = $packageType
New = $packageNewLibrary
SpecProjectPath = $specProjectPath
};
if (!$plannedDate) {
@ -1326,6 +1329,16 @@ function Update-DevOpsReleaseWorkItem {
}
$updatedWI = UpdatePackageVersions $workItem -plannedVersions $plannedVersions
if ((!$workItem.fields.ContainsKey('Custom.SpecProjectPath') -and $packageInfo.SpecProjectPath) -or
($workItem.fields.ContainsKey('Custom.SpecProjectPath') -and ($workItem.fields['Custom.SpecProjectPath'] -ne $packageInfo.SpecProjectPath))
) {
Write-Host "Updating SpecProjectPath to '$($packageInfo.SpecProjectPath)' for work item [$($workItem.id)]"
UpdateWorkItem `
-id $workItem.id `
-fields "`"Custom.SpecProjectPath=$($packageInfo.SpecProjectPath)`"" `
-outputCommand $false
}
Write-Host "Release tracking item is at https://dev.azure.com/azure-sdk/Release/_workitems/edit/$($updatedWI.id)/"
return $true
}

View File

@ -22,6 +22,10 @@ class PackageProps {
[HashTable]$ArtifactDetails
[HashTable]$CIParameters
# Path from root of azure-rest-api-specs repo to spec project (read from
# tsp-location.yaml if it exists in the package directory)
[string]$SpecProjectPath
PackageProps([string]$name, [string]$version, [string]$directoryPath, [string]$serviceDirectory) {
$this.Initialize($name, $version, $directoryPath, $serviceDirectory)
}
@ -61,6 +65,13 @@ class PackageProps {
$this.ChangeLogPath = $null
}
if (Test-Path (Join-Path $directoryPath 'tsp-location.yaml')) {
$tspLocation = LoadFrom-Yaml (Join-Path $directoryPath 'tsp-location.yaml')
if ($tspLocation -and $tspLocation.directory) {
$this.SpecProjectPath = $tspLocation.directory
}
}
$this.CIParameters = @{"CIMatrixConfigs" = @()}
$this.InitializeCIArtifacts()
}

View File

@ -30,7 +30,11 @@ package properties JSON file. If the package properties JSON file already
exists, read the Version property from the existing package properties JSON file
and set that as the Version property for the new output. This has the effect of
"adding" a DevVersion property to the file which could be different from the
Verison property in that file.
Version property in that file.
.PARAMETER artifactList
Optional array of artifact names to filter the package properties. Only packages
with artifact names matching entries in this list will be processed.
#>
[CmdletBinding()]
@ -39,7 +43,8 @@ Param (
[Parameter(Mandatory = $True)]
[string] $outDirectory,
[string] $prDiff,
[switch] $addDevVersion
[switch] $addDevVersion,
[array] $artifactList
)
. (Join-Path $PSScriptRoot common.ps1)
@ -132,6 +137,38 @@ if (-not (Test-Path -Path $outDirectory))
New-Item -ItemType Directory -Force -Path $outDirectory | Out-Null
}
if ($artifactList)
{
# Filter out null, empty, or whitespace-only entries
$filteredArtifacts = @($artifactList | Where-Object { -not [string]::IsNullOrWhiteSpace($_) })
if ($filteredArtifacts.Count -eq 0)
{
Write-Warning "Artifact list contains no valid entries"
}
else
{
Write-Host "Filtering package properties to match artifact list: $($filteredArtifacts -join ', ')"
$artifactSet = New-Object 'System.Collections.Generic.HashSet[string]' ([System.StringComparer]::OrdinalIgnoreCase)
foreach ($artifact in $filteredArtifacts) {
$artifactSet.Add($artifact) | Out-Null
}
# Warn about packages missing ArtifactName property
$missingArtifactName = $allPackageProperties | Where-Object { $_.PSObject.Properties.Name -notcontains 'ArtifactName' }
foreach ($pkg in $missingArtifactName) {
Write-Warning "Package '$($pkg.PackageName)' does not have an 'ArtifactName' property and will be excluded from artifact filtering."
}
$allPackageProperties = $allPackageProperties | Where-Object { $_.ArtifactName -and $artifactSet.Contains($_.ArtifactName) }
if (!$allPackageProperties)
{
Write-Error "No packages found matching the provided artifact list"
exit 1
}
}
}
foreach ($pkg in $allPackageProperties)
{
if ($pkg.Name)
@ -144,6 +181,7 @@ foreach ($pkg in $allPackageProperties)
if (-not [System.String]::IsNullOrEmpty($pkg.Group)) {
Write-Host "GroupId: $($pkg.Group)"
}
Write-Host "Spec Project Path: $($pkg.SpecProjectPath)"
Write-Host "Release date: $($pkg.ReleaseStatus)"
$configFilePrefix = $pkg.Name

View File

@ -5,63 +5,83 @@ param (
[string]$BuildID,
[Parameter(mandatory = $false)]
[string]$PackageNames = "",
[Parameter(mandatory = $true)]
[Parameter(mandatory = $false)]
# ServiceDirectory is required when using PackageNames,
# or when Artifacts do not include their own ServiceDirectory property.
[string]$ServiceDirectory,
[Parameter(mandatory = $false)]
[string]$TagSeparator = "_",
[Parameter(mandatory = $false)]
[string]$ArtifactsJson = ""
[object[]]$Artifacts = @()
)
. (Join-Path $PSScriptRoot common.ps1)
# Ensure Artifacts is always an array
$Artifacts = @($Artifacts)
Write-Host "PackageNames: $PackageNames"
Write-Host "ServiceDirectory: $ServiceDirectory"
Write-Host "BuildID: $BuildID"
Write-Host "ArtifactsJson: $ArtifactsJson"
Write-Host "Artifacts count: $($Artifacts.Count)"
$packageNamesArray = @()
$artifacts = $null
# If ArtifactsJson is provided, extract package names from it
if (![String]::IsNullOrWhiteSpace($ArtifactsJson)) {
Write-Host "Using ArtifactsJson to determine package names"
if ($Artifacts -and $Artifacts.Count -gt 0) {
# When using Artifacts, process each artifact with its name and groupId (if applicable)
try {
$artifacts = $ArtifactsJson | ConvertFrom-Json
$packageNamesArray = $artifacts | ForEach-Object { $_.name }
Write-Host "Extracted package names from ArtifactsJson: $($packageNamesArray -join ', ')"
}
catch {
LogError "Failed to parse ArtifactsJson: $($_.Exception.Message)"
exit 1
}
}
elseif (![String]::IsNullOrWhiteSpace($PackageNames)) {
$packageNamesArray = $PackageNames.Split(',')
}
else {
LogError "Either PackageNames or ArtifactsJson must be provided."
exit 1
}
foreach ($artifact in $Artifacts) {
# Validate required properties
if (-not (Get-Member -InputObject $artifact -Name 'name' -MemberType Properties)) {
LogError "Artifact is missing required 'name' property."
exit 1
}
if ($artifacts) {
# When using ArtifactsJson, process each artifact with its name and groupId (if applicable)
try {
foreach ($artifact in $artifacts) {
$packageName = $artifact.name
if ([String]::IsNullOrWhiteSpace($packageName)) {
LogError "Artifact 'name' property is null or empty."
exit 1
}
$artifactServiceDirectory = $null
# Check for ServiceDirectory property
if (Get-Member -InputObject $artifact -Name 'ServiceDirectory' -MemberType Properties) {
if (![String]::IsNullOrWhiteSpace($artifact.ServiceDirectory)) {
$artifactServiceDirectory = $artifact.ServiceDirectory
}
}
if ([String]::IsNullOrWhiteSpace($artifactServiceDirectory)) {
$artifactServiceDirectory = $ServiceDirectory
}
# Validate ServiceDirectory is available
if ([String]::IsNullOrWhiteSpace($artifactServiceDirectory)) {
LogError "ServiceDirectory is required but not provided for artifact '$packageName'. Provide it via script parameter or artifact property."
exit 1
}
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
$prefix = "$packageName$TagSeparator"
if ($Language -eq "java") {
# Check for groupId property
if (-not (Get-Member -InputObject $artifact -Name 'groupId' -MemberType Properties)) {
LogError "Artifact '$packageName' is missing required 'groupId' property for Java language."
exit 1
}
$groupId = $artifact.groupId
Write-Host "Processing $packageName with groupId $groupId"
if ([String]::IsNullOrWhiteSpace($groupId)) {
LogError "GroupId is missing for package $packageName."
exit 1
}
Write-Host "Processing $packageName with groupId $groupId"
# Use groupId+artifactName format for tag prefix (e.g., "com.azure.v2+azure-sdk-template_")
$prefix = "$groupId+$packageName$TagSeparator"
}
else {
Write-Host "Processing $packageName"
}
Write-Host "Get Latest Tag : git tag -l $prefix*"
$latestTags = git tag -l "$prefix*"
@ -87,21 +107,27 @@ if ($artifacts) {
if ($Language -ne "java") {
SetPackageVersion -PackageName $packageName `
-Version $newVersion.ToString() `
-ServiceDirectory $ServiceDirectory
-ServiceDirectory $artifactServiceDirectory
} else {
SetPackageVersion -PackageName $packageName `
-Version $newVersion.ToString() `
-ServiceDirectory $ServiceDirectory `
-ServiceDirectory $artifactServiceDirectory `
-GroupId $groupId
}
}
}
catch {
LogError "Failed to process ArtifactsJson: $ArtifactsJson, exception: $($_.Exception.Message)"
LogError "Failed to process Artifacts: exception: $($_.Exception.Message)"
exit 1
}
} else {
} elseif (![String]::IsNullOrWhiteSpace($PackageNames)) {
# Fallback to original logic when using PackageNames string
if ([String]::IsNullOrWhiteSpace($ServiceDirectory)) {
LogError "ServiceDirectory is required when using PackageNames."
exit 1
}
$packageNamesArray = $PackageNames.Split(',')
foreach ($packageName in $packageNamesArray) {
Write-Host "Processing $packageName"
$newVersion = [AzureEngSemanticVersion]::new("1.0.0")
@ -131,4 +157,7 @@ if ($artifacts) {
-Version $newVersion.ToString() `
-ServiceDirectory $ServiceDirectory
}
} else {
LogError "Either PackageNames or Artifacts must be provided."
exit 1
}

View File

@ -155,7 +155,8 @@ function CreateUpdatePackageWorkItem($pkgInfo)
-packageNewLibrary $pkgInfo.IsNewSDK `
-serviceName "unknown" `
-packageDisplayName "unknown" `
-inRelease $IsReleaseBuild
-inRelease $IsReleaseBuild `
-specProjectPath $pkgInfo.SpecProjectPath
if (-not $result)
{

View File

@ -1,7 +1,8 @@
# Wrapper Script for ChangeLog Verification in a PR
[CmdletBinding()]
param (
[String]$PackagePropertiesFolder
[String]$PackagePropertiesFolder,
[boolean]$ForRelease = $False
)
Set-StrictMode -Version 3
@ -10,8 +11,10 @@ Set-StrictMode -Version 3
function ShouldVerifyChangeLog ($PkgArtifactDetails) {
if ($PkgArtifactDetails) {
if ($PkgArtifactDetails.PSObject.Properties["skipVerifyChangeLog"] -eq $true) {
return $false
if ($PkgArtifactDetails.PSObject.Properties.Name -contains "skipVerifyChangeLog") {
if ($PkgArtifactDetails.skipVerifyChangeLog) {
return $false
}
}
return $true
@ -33,7 +36,9 @@ foreach($propertiesFile in $packageProperties) {
continue
}
$validChangeLog = Confirm-ChangeLogEntry -ChangeLogLocation $PackageProp.ChangeLogPath -VersionString $PackageProp.Version -ForRelease $false
Write-Host "Verifying changelog for $($PackageProp.Name)"
$validChangeLog = Confirm-ChangeLogEntry -ChangeLogLocation $PackageProp.ChangeLogPath -VersionString $PackageProp.Version -ForRelease $ForRelease
if (-not $validChangeLog) {
$allPassing = $false

View File

@ -94,6 +94,9 @@ function LogGroupStart() {
elseif (Test-SupportsGitHubLogging) {
Write-Host "::group::$args"
}
else {
Write-Host "> $args"
}
}
function LogGroupEnd() {

View File

@ -31,8 +31,10 @@ function FindStressPackages(
$filters['stressTest'] = 'true'
$packages = @()
$chartFiles = Get-ChildItem -Recurse -Filter 'Chart.yaml' $directory
Write-Host "Found chart files:"
Write-Host ($chartFiles -join "`n")
if ($chartFiles) {
Write-Host "Found chart files:"
Write-Host ($chartFiles -join "`n")
}
if (!$MatrixFileName) {
$MatrixFileName = 'scenarios-matrix.yaml'

View File

@ -172,6 +172,10 @@ function DeployStressTests(
-MatrixFilters $MatrixFilters `
-MatrixReplace $MatrixReplace `
-MatrixNonSparseParameters $MatrixNonSparseParameters)
if (!$pkgs -or !$pkgs.Length) {
Write-Warning "No stress test packages found in $searchDirectory"
exit 0
}
Write-Host "" "Found $($pkgs.Length) stress test packages:"
Write-Host $pkgs.Directory ""
foreach ($pkg in $pkgs) {

View File

@ -8,25 +8,25 @@
"name": "cspell-version-pin",
"version": "1.0.0",
"dependencies": {
"cspell": "^9.3.2"
"cspell": "^9.4.0"
}
},
"node_modules/@cspell/cspell-bundled-dicts": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.3.2.tgz",
"integrity": "sha512-OmKzq/0FATHU671GKMzBrTyLdm25Wnziva7h4ylumVn1wnwWsXGef5bgXD7iuApqfqH9SzxsU0NtTB8m8vwEHQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.4.0.tgz",
"integrity": "sha512-Hm2gpMg/lRv4fKtiO2NfBiaJdFZVVb1V1a+IVhlD9qCuObLhCt60Oze2kD1dQzhbaIX756cs/eyxa5bQ5jihhQ==",
"dependencies": {
"@cspell/dict-ada": "^4.1.1",
"@cspell/dict-al": "^1.1.1",
"@cspell/dict-aws": "^4.0.16",
"@cspell/dict-bash": "^4.2.2",
"@cspell/dict-companies": "^3.2.7",
"@cspell/dict-cpp": "^6.0.14",
"@cspell/dict-cpp": "^6.0.15",
"@cspell/dict-cryptocurrencies": "^5.0.5",
"@cspell/dict-csharp": "^4.0.7",
"@cspell/dict-css": "^4.0.18",
"@cspell/dict-dart": "^2.3.1",
"@cspell/dict-data-science": "^2.0.11",
"@cspell/dict-data-science": "^2.0.12",
"@cspell/dict-django": "^4.1.5",
"@cspell/dict-docker": "^1.1.16",
"@cspell/dict-dotnet": "^5.0.10",
@ -44,7 +44,7 @@
"@cspell/dict-golang": "^6.0.24",
"@cspell/dict-google": "^1.0.9",
"@cspell/dict-haskell": "^4.0.6",
"@cspell/dict-html": "^4.0.12",
"@cspell/dict-html": "^4.0.13",
"@cspell/dict-html-symbol-entities": "^4.0.4",
"@cspell/dict-java": "^5.0.12",
"@cspell/dict-julia": "^1.1.1",
@ -54,20 +54,20 @@
"@cspell/dict-lorem-ipsum": "^4.0.5",
"@cspell/dict-lua": "^4.0.8",
"@cspell/dict-makefile": "^1.0.5",
"@cspell/dict-markdown": "^2.0.12",
"@cspell/dict-markdown": "^2.0.13",
"@cspell/dict-monkeyc": "^1.0.11",
"@cspell/dict-node": "^5.0.8",
"@cspell/dict-npm": "^5.2.22",
"@cspell/dict-npm": "^5.2.25",
"@cspell/dict-php": "^4.1.0",
"@cspell/dict-powershell": "^5.0.15",
"@cspell/dict-public-licenses": "^2.0.15",
"@cspell/dict-python": "^4.2.21",
"@cspell/dict-python": "^4.2.23",
"@cspell/dict-r": "^2.1.1",
"@cspell/dict-ruby": "^5.0.9",
"@cspell/dict-rust": "^4.0.12",
"@cspell/dict-scala": "^5.0.8",
"@cspell/dict-shell": "^1.1.2",
"@cspell/dict-software-terms": "^5.1.13",
"@cspell/dict-software-terms": "^5.1.15",
"@cspell/dict-sql": "^2.2.1",
"@cspell/dict-svelte": "^1.0.7",
"@cspell/dict-swift": "^2.0.6",
@ -81,28 +81,28 @@
}
},
"node_modules/@cspell/cspell-json-reporter": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.3.2.tgz",
"integrity": "sha512-YRgpeHN9uY8kUlIw9q+8zJ0tRTAJMbfBTGzCq9Puah09NeMWlRMFPUkXVrkdic6NA7etboZ+zEdoZwRO9EmhiA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.4.0.tgz",
"integrity": "sha512-TpHY7t13xNhcZF9bwOfgVIhcyPDamMnxU/TBYhf4mPtXPLrZ5gBTg3UZh0/9Zn3naMjmJtngdsLvB2wai9xBlQ==",
"dependencies": {
"@cspell/cspell-types": "9.3.2"
"@cspell/cspell-types": "9.4.0"
},
"engines": {
"node": ">=20"
}
},
"node_modules/@cspell/cspell-pipe": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.3.2.tgz",
"integrity": "sha512-REF7ibG79WLEynIMUss/IRDCdYEb1nlE1rj/gt2CbPFzLa6t5MRwW2lajEvXS6/WgbMtsTVHAWi3ALqJzCwxng==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.4.0.tgz",
"integrity": "sha512-cI0sUe7SB99hJB1T6PhH/MpSrnml1kOekTCE+VH3Eb7zkVP5/mwJXs8BlufdvwBona+Cgkx6jeWlhFpxLc39Yg==",
"engines": {
"node": ">=20"
}
},
"node_modules/@cspell/cspell-resolver": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.3.2.tgz",
"integrity": "sha512-jLN2Aa/vxm8+IBvTd884SwPEfjxnDwIEPBT3hmqgLlKuUHQ3FMG27lsM4Ik9L2KWBXMgV/wGz4BaxfhKI41Ttw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.4.0.tgz",
"integrity": "sha512-o9gbbdXlhxG2rqtGqQ7xZ8MGDDsPLbskBnTeuA++ix4Ch/HdjrBNmKReIGAEqJPfP+JGgoEKqFISHUDKAJ/ygQ==",
"dependencies": {
"global-directory": "^4.0.1"
},
@ -111,17 +111,17 @@
}
},
"node_modules/@cspell/cspell-service-bus": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.3.2.tgz",
"integrity": "sha512-/rB8LazM0JzKL+AvZa5fEpLutmwy5QFMpzw8HJd+rDGkzb5r79hURWSRo84QArgaskUqA9XlOHSieDE9pt+WAA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.4.0.tgz",
"integrity": "sha512-UottRlFPN6FGUfojx5HtUPZTeYXg2rf2HvO/HLh0KicirVYO16vFxTevg9MyOvw1EXSsDRz8ECANjiE7fnzBCQ==",
"engines": {
"node": ">=20"
}
},
"node_modules/@cspell/cspell-types": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.3.2.tgz",
"integrity": "sha512-l4H8bMAmdzCbXHO8y1JZiAKszrPEiuLFKWrbhCacHF0iP+PIc/yuQp7cO70m0p70vArRfih6kgGyHFaCy47CfA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.4.0.tgz",
"integrity": "sha512-vSpd50OfmthBH0aRFRLA2zJFtwli3ntHA0WAOJ8tIMLUCJgF3udooRXFeX3wR8ri69C9mc3864LC4inyRC/E9w==",
"engines": {
"node": ">=20"
}
@ -155,9 +155,9 @@
"integrity": "sha512-fEyr3LmpFKTaD0LcRhB4lfW1AmULYBqzg4gWAV0dQCv06l+TsA+JQ+3pZJbUcoaZirtgsgT3dL3RUjmGPhUH0A=="
},
"node_modules/@cspell/dict-cpp": {
"version": "6.0.14",
"resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.14.tgz",
"integrity": "sha512-dkmpSwvVfVdtoZ4mW/CK2Ep1v8mJlp6uiKpMNbSMOdJl4kq28nQS4vKNIX3B2bJa0Ha5iHHu+1mNjiLeO3g7Xg=="
"version": "6.0.15",
"resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.15.tgz",
"integrity": "sha512-N7MKK3llRNoBncygvrnLaGvmjo4xzVr5FbtAc9+MFGHK6/LeSySBupr1FM72XDaVSIsmBEe7sDYCHHwlI9Jb2w=="
},
"node_modules/@cspell/dict-cryptocurrencies": {
"version": "5.0.5",
@ -180,9 +180,9 @@
"integrity": "sha512-xoiGnULEcWdodXI6EwVyqpZmpOoh8RA2Xk9BNdR7DLamV/QMvEYn8KJ7NlRiTSauJKPNkHHQ5EVHRM6sTS7jdg=="
},
"node_modules/@cspell/dict-data-science": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.11.tgz",
"integrity": "sha512-Dt+83nVCcF+dQyvFSaZjCKt1H5KbsVJFtH2X7VUfmIzQu8xCnV1fUmkhBzGJ+NiFs99Oy9JA6I9EjeqExzXk7g=="
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.12.tgz",
"integrity": "sha512-vI/mg6cI28IkFcpeINS7cm5M9HWemmXSTnxJiu3nmc4VAGx35SXIEyuLGBcsVzySvDablFYf4hsEpmg1XpVsUQ=="
},
"node_modules/@cspell/dict-django": {
"version": "4.1.5",
@ -270,9 +270,9 @@
"integrity": "sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ=="
},
"node_modules/@cspell/dict-html": {
"version": "4.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.12.tgz",
"integrity": "sha512-JFffQ1dDVEyJq6tCDWv0r/RqkdSnV43P2F/3jJ9rwLgdsOIXwQbXrz6QDlvQLVvNSnORH9KjDtenFTGDyzfCaA=="
"version": "4.0.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.13.tgz",
"integrity": "sha512-vHzk2xfqQYPvoXtQtywa6ekIonPrUEwe2uftjry3UNRNl89TtzLJVSkiymKJ3WMb+W/DwKXKIb1tKzcIS8ccIg=="
},
"node_modules/@cspell/dict-html-symbol-entities": {
"version": "4.0.4",
@ -320,12 +320,12 @@
"integrity": "sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ=="
},
"node_modules/@cspell/dict-markdown": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.12.tgz",
"integrity": "sha512-ufwoliPijAgWkD/ivAMC+A9QD895xKiJRF/fwwknQb7kt7NozTLKFAOBtXGPJAB4UjhGBpYEJVo2elQ0FCAH9A==",
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.13.tgz",
"integrity": "sha512-rFeGikf+lVlywEp7giATUfi8myFeee6jqgbUgtdIdl/OBmRBPe5m7mKNk7yMItMZe8ICrwMxFwJy5OeTnrr6QA==",
"peerDependencies": {
"@cspell/dict-css": "^4.0.18",
"@cspell/dict-html": "^4.0.12",
"@cspell/dict-html": "^4.0.13",
"@cspell/dict-html-symbol-entities": "^4.0.4",
"@cspell/dict-typescript": "^3.2.3"
}
@ -341,9 +341,9 @@
"integrity": "sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg=="
},
"node_modules/@cspell/dict-npm": {
"version": "5.2.22",
"resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.22.tgz",
"integrity": "sha512-bepGmmRv7KmxULqfw88G9wxkpIAQA96YyrfKpfg4RHnQLxpmzoRnZGtK5S9JH7Hlf5LEd1gkOF7dtCE6cek67w=="
"version": "5.2.25",
"resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.25.tgz",
"integrity": "sha512-jxhVxM3+ilxbum/N2ejAvVuvet1OrGeW1fD7GagAkHU/2zlzINZkJLDtXk6v1WHUjigfhiAsois3puobv/2A1A=="
},
"node_modules/@cspell/dict-php": {
"version": "4.1.0",
@ -361,11 +361,11 @@
"integrity": "sha512-cJEOs901H13Pfy0fl4dCD1U+xpWIMaEPq8MeYU83FfDZvellAuSo4GqWCripfIqlhns/L6+UZEIJSOZnjgy7Wg=="
},
"node_modules/@cspell/dict-python": {
"version": "4.2.21",
"resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.21.tgz",
"integrity": "sha512-M9OgwXWhpZqEZqKU2psB2DFsT8q5SwEahkQeIpNIRWIErjwG7I9yYhhfvPz6s5gMCMhhb3hqcPJTnmdgqGrQyg==",
"version": "4.2.23",
"resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.23.tgz",
"integrity": "sha512-c0C//tmG4PZWeONtTBPXa6q0ylfz3/BgEcHAR1L0BPWjNUIzTyx9J+hEIUCPYf7eAPeYjaDuTvYlg11igXXE4Q==",
"dependencies": {
"@cspell/dict-data-science": "^2.0.11"
"@cspell/dict-data-science": "^2.0.12"
}
},
"node_modules/@cspell/dict-r": {
@ -394,9 +394,9 @@
"integrity": "sha512-WqOUvnwcHK1X61wAfwyXq04cn7KYyskg90j4lLg3sGGKMW9Sq13hs91pqrjC44Q+lQLgCobrTkMDw9Wyl9nRFA=="
},
"node_modules/@cspell/dict-software-terms": {
"version": "5.1.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.13.tgz",
"integrity": "sha512-bmWMOpqzCmmKFHM9hFC6o+GP20t2+uTuwksR3a6crHQqvNv3revzwQHorsWvSYx75xsdcvRYrAz7PqPEV/FG1g=="
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.15.tgz",
"integrity": "sha512-93VqazVvVtHuKY7seGxbfdtrnPBgZ/hZ/NmFFkBRhkRL6NavaQ6U2QsHpnlVEZN5km3DmaQy1X4ZcvNoSTK/ZQ=="
},
"node_modules/@cspell/dict-sql": {
"version": "2.2.1",
@ -434,11 +434,11 @@
"integrity": "sha512-XibBIxBlVosU06+M6uHWkFeT0/pW5WajDRYdXG2CgHnq85b0TI/Ks0FuBJykmsgi2CAD3Qtx8UHFEtl/DSFnAQ=="
},
"node_modules/@cspell/dynamic-import": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.3.2.tgz",
"integrity": "sha512-au7FyuIHUNI2r9sO3pUBKVTeD/v7c9x/nPUStaAK1bG4rdKt4w+/jUY2IaldAraW5w29z528BboXbiV87SM1kw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.4.0.tgz",
"integrity": "sha512-d2fjLjzrKGUIn5hWK8gMuyAh2pqXSxBqOHpU1jR3jxbrO3MilunKNijaSstv7CZn067Jpc36VfaKQodaXNZzUA==",
"dependencies": {
"@cspell/url": "9.3.2",
"@cspell/url": "9.4.0",
"import-meta-resolve": "^4.2.0"
},
"engines": {
@ -446,29 +446,40 @@
}
},
"node_modules/@cspell/filetypes": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.3.2.tgz",
"integrity": "sha512-0bUxQlmJPRHZrRQD7adbc4lFizO8tGD/6+1cBgU3kV3+NVrpr12y4jU8twCSChhYibZyPr7bnvhkM3cQgb8RzA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.4.0.tgz",
"integrity": "sha512-RMrYHkvPF0tHVFM+T4voEhX9sfYQrd/mnNbf6+O4CWUyLCz4NQ5H9yOgEIJwEcLu4y3NESGXFef/Jn5xo0CUfg==",
"engines": {
"node": ">=20"
}
},
"node_modules/@cspell/strong-weak-map": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.3.2.tgz",
"integrity": "sha512-pFcmOTWCoFMRETb9PCkCmaiZiLb5i2qOZmGH/p/tFEH8kIYhMGfhaulnXwKwS+Ke6PKceQd2YL98bGmo8hL4aQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.4.0.tgz",
"integrity": "sha512-ui7mlXYmqElS/SmRubPBNWdkQVWgWbB6rjCurc+0owYXlnweItAMHTxC8mCWM/Au22SF1dB/JR8QBELFXLkTjQ==",
"engines": {
"node": ">=20"
}
},
"node_modules/@cspell/url": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.3.2.tgz",
"integrity": "sha512-TobUlZl7Z7VehhNOMNAg1ABuGizieseftlG94OZJ934JptOhK8TC/1o2ldKrbDH50jyt6E7rPTMV2BW/vWuTzQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.4.0.tgz",
"integrity": "sha512-nt88P6m20AaVbqMxsyPf8KqyWPaFEW2UANi0ijBxc2xTkD2KiUovxfZUYW6NMU9XBYZlovT5LztkEhst2yBcSA==",
"engines": {
"node": ">=20"
}
},
"node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/array-timsort": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz",
@ -551,24 +562,25 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cspell": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell/-/cspell-9.3.2.tgz",
"integrity": "sha512-3xFyVSTYrYa/QJzLfzsCRMkMXqOsytP8E26DuGrVMJQoLPFmbOXNNtnMu4wrtr17QVloxpvutW77U4vb2L/LDQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell/-/cspell-9.4.0.tgz",
"integrity": "sha512-ZvXO+EY/G0/msu7jwRiVk0sXL/zB7DMJLBvjSUrK82uVbDoDxHwXxUuOz2UVnk2+J61//ldIZrjxVK8KMvaJlg==",
"dependencies": {
"@cspell/cspell-json-reporter": "9.3.2",
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/dynamic-import": "9.3.2",
"@cspell/url": "9.3.2",
"@cspell/cspell-json-reporter": "9.4.0",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"@cspell/dynamic-import": "9.4.0",
"@cspell/url": "9.4.0",
"ansi-regex": "^6.2.2",
"chalk": "^5.6.2",
"chalk-template": "^1.1.2",
"commander": "^14.0.2",
"cspell-config-lib": "9.3.2",
"cspell-dictionary": "9.3.2",
"cspell-gitignore": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-io": "9.3.2",
"cspell-lib": "9.3.2",
"cspell-config-lib": "9.4.0",
"cspell-dictionary": "9.4.0",
"cspell-gitignore": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-io": "9.4.0",
"cspell-lib": "9.4.0",
"fast-json-stable-stringify": "^2.1.0",
"flatted": "^3.3.3",
"semver": "^7.7.3",
@ -586,27 +598,27 @@
}
},
"node_modules/cspell-config-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.3.2.tgz",
"integrity": "sha512-zXhmA4rqgWQRTVijI+g/mgiep76TvTO4d+P3CHwcqLG57BKVzoW+jkO4qDLC+Neh4b8+CcNWEIr3w16BfuEJAA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.4.0.tgz",
"integrity": "sha512-CvQKSmK/DRIf3LpNx2sZth65pHW2AHngZqLkH3DTwnAPbiCAsE0XvCrVhvDfCNu/6uJIaa+NVHSs8GOf//DHBQ==",
"dependencies": {
"@cspell/cspell-types": "9.3.2",
"@cspell/cspell-types": "9.4.0",
"comment-json": "^4.4.1",
"smol-toml": "^1.5.2",
"yaml": "^2.8.1"
"yaml": "^2.8.2"
},
"engines": {
"node": ">=20"
}
},
"node_modules/cspell-dictionary": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.3.2.tgz",
"integrity": "sha512-E3YhOhZzZt1a+AEbFV2B3THCyZ576PDg0mDNUDrU1Y65SyIhf4DC6itfPoAb6R3FI/DI218RqWZg/FTT8lJ2gA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.4.0.tgz",
"integrity": "sha512-c2qscanRZChoHZFYI7KpvBMdy8i6wNwl2EflcNRrFiFOq67t9CgxLe54PafaqhrHGpBc8nElaZKciLvjj6Uscw==",
"dependencies": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"cspell-trie-lib": "9.3.2",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"cspell-trie-lib": "9.4.0",
"fast-equals": "^5.3.3"
},
"engines": {
@ -614,13 +626,13 @@
}
},
"node_modules/cspell-gitignore": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.3.2.tgz",
"integrity": "sha512-G2bLR+Dfb9GX4Sdm75GfCCa9V/sQYkRbLckuCuVmJxvcDB0xfczAtb6TfAXIziF3oUI6cOB1g+PoNLWBelcK5w==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.4.0.tgz",
"integrity": "sha512-HMrzLmJBUMSpaMMkltlTAz/aVOrHxixyhKfg5WbFCJ5JYZO6Qu3/JU3wRoOFoud9449wRjLkvrGmbbL2+vO6Lw==",
"dependencies": {
"@cspell/url": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-io": "9.3.2"
"@cspell/url": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-io": "9.4.0"
},
"bin": {
"cspell-gitignore": "bin.mjs"
@ -630,11 +642,11 @@
}
},
"node_modules/cspell-glob": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.3.2.tgz",
"integrity": "sha512-TuSupENEKyOCupOUZ3vnPxaTOghxY/rD1JIkb8e5kjzRprYVilO/rYqEk/52iLwJVd+4Npe8fNhR3KhU7u/UUg==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.4.0.tgz",
"integrity": "sha512-Q87Suj9oXrhoKck15qWorCizBjMNxG/k3NjnhKIAMrF+PdUa1Mpl0MOD+hqV1Wvwh1UHcIMYCP3bR3XpBbNx+Q==",
"dependencies": {
"@cspell/url": "9.3.2",
"@cspell/url": "9.4.0",
"picomatch": "^4.0.3"
},
"engines": {
@ -642,12 +654,12 @@
}
},
"node_modules/cspell-grammar": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.3.2.tgz",
"integrity": "sha512-ysonrFu9vJvF/derDlEjUfmvLeCfNOWPh00t6Yh093AKrJFoWQiyaS/5bEN/uB5/n1sa4k3ItnWvuTp3+YuZsA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.4.0.tgz",
"integrity": "sha512-ie7OQ4Neflo+61bMzoLR7GtlZfMBAm2KL1U4iNqh15wUE5fDbvXeN15H5lu+gcO8BwYvC5wxZknw1x62/J8+3Q==",
"dependencies": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2"
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0"
},
"bin": {
"cspell-grammar": "bin.mjs"
@ -657,37 +669,37 @@
}
},
"node_modules/cspell-io": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.3.2.tgz",
"integrity": "sha512-ahoULCp0j12TyXXmIcdO/7x65A/2mzUQO1IkOC65OXEbNT+evt0yswSO5Nr1F6kCHDuEKc46EZWwsYAzj78pMg==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.4.0.tgz",
"integrity": "sha512-8w30dqlO54H9w6WGlvZhHI5kytVbF3bYPqKJAZLWKEO36L2mdpf6/abx/FA4yVLJ56wmH1x0N0ZK32wNRl5C6A==",
"dependencies": {
"@cspell/cspell-service-bus": "9.3.2",
"@cspell/url": "9.3.2"
"@cspell/cspell-service-bus": "9.4.0",
"@cspell/url": "9.4.0"
},
"engines": {
"node": ">=20"
}
},
"node_modules/cspell-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.3.2.tgz",
"integrity": "sha512-kdk11kib68zNANNICuOA8h4oA9kENQUAdeX/uvT4+7eHbHHV8WSgjXm4k4o/pRIbg164UJTX/XxKb/65ftn5jw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.4.0.tgz",
"integrity": "sha512-ajjioE59IEDNUPawfaBpiMfGC32iKPkuYd4T9ftguuef8VvyKRifniiUi1nxwGgAhzSfxHvWs7qdT+29Pp5TMQ==",
"dependencies": {
"@cspell/cspell-bundled-dicts": "9.3.2",
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-resolver": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/dynamic-import": "9.3.2",
"@cspell/filetypes": "9.3.2",
"@cspell/strong-weak-map": "9.3.2",
"@cspell/url": "9.3.2",
"@cspell/cspell-bundled-dicts": "9.4.0",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-resolver": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"@cspell/dynamic-import": "9.4.0",
"@cspell/filetypes": "9.4.0",
"@cspell/strong-weak-map": "9.4.0",
"@cspell/url": "9.4.0",
"clear-module": "^4.1.2",
"cspell-config-lib": "9.3.2",
"cspell-dictionary": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-grammar": "9.3.2",
"cspell-io": "9.3.2",
"cspell-trie-lib": "9.3.2",
"cspell-config-lib": "9.4.0",
"cspell-dictionary": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-grammar": "9.4.0",
"cspell-io": "9.4.0",
"cspell-trie-lib": "9.4.0",
"env-paths": "^3.0.0",
"gensequence": "^8.0.8",
"import-fresh": "^3.3.1",
@ -701,12 +713,12 @@
}
},
"node_modules/cspell-trie-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.3.2.tgz",
"integrity": "sha512-1Af7Mq9jIccFQyJl/ZCcqQbtJwuDqpQVkk8xfs/92x4OI6gW1iTVRMtsrh0RTw1HZoR8aQD7tRRCiLPf/D+UiQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.4.0.tgz",
"integrity": "sha512-bySJTm8XDiJAoC1MDo4lE/KpSNxydo13ZETC8TF7Hb3rbWI1c6o5eZ4+i/tkG3M94OvKV91+MeAvoMCe7GGgAw==",
"dependencies": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"gensequence": "^8.0.8"
},
"engines": {
@ -937,34 +949,37 @@
}
},
"node_modules/yaml": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14.6"
},
"funding": {
"url": "https://github.com/sponsors/eemeli"
}
}
},
"dependencies": {
"@cspell/cspell-bundled-dicts": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.3.2.tgz",
"integrity": "sha512-OmKzq/0FATHU671GKMzBrTyLdm25Wnziva7h4ylumVn1wnwWsXGef5bgXD7iuApqfqH9SzxsU0NtTB8m8vwEHQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-9.4.0.tgz",
"integrity": "sha512-Hm2gpMg/lRv4fKtiO2NfBiaJdFZVVb1V1a+IVhlD9qCuObLhCt60Oze2kD1dQzhbaIX756cs/eyxa5bQ5jihhQ==",
"requires": {
"@cspell/dict-ada": "^4.1.1",
"@cspell/dict-al": "^1.1.1",
"@cspell/dict-aws": "^4.0.16",
"@cspell/dict-bash": "^4.2.2",
"@cspell/dict-companies": "^3.2.7",
"@cspell/dict-cpp": "^6.0.14",
"@cspell/dict-cpp": "^6.0.15",
"@cspell/dict-cryptocurrencies": "^5.0.5",
"@cspell/dict-csharp": "^4.0.7",
"@cspell/dict-css": "^4.0.18",
"@cspell/dict-dart": "^2.3.1",
"@cspell/dict-data-science": "^2.0.11",
"@cspell/dict-data-science": "^2.0.12",
"@cspell/dict-django": "^4.1.5",
"@cspell/dict-docker": "^1.1.16",
"@cspell/dict-dotnet": "^5.0.10",
@ -982,7 +997,7 @@
"@cspell/dict-golang": "^6.0.24",
"@cspell/dict-google": "^1.0.9",
"@cspell/dict-haskell": "^4.0.6",
"@cspell/dict-html": "^4.0.12",
"@cspell/dict-html": "^4.0.13",
"@cspell/dict-html-symbol-entities": "^4.0.4",
"@cspell/dict-java": "^5.0.12",
"@cspell/dict-julia": "^1.1.1",
@ -992,20 +1007,20 @@
"@cspell/dict-lorem-ipsum": "^4.0.5",
"@cspell/dict-lua": "^4.0.8",
"@cspell/dict-makefile": "^1.0.5",
"@cspell/dict-markdown": "^2.0.12",
"@cspell/dict-markdown": "^2.0.13",
"@cspell/dict-monkeyc": "^1.0.11",
"@cspell/dict-node": "^5.0.8",
"@cspell/dict-npm": "^5.2.22",
"@cspell/dict-npm": "^5.2.25",
"@cspell/dict-php": "^4.1.0",
"@cspell/dict-powershell": "^5.0.15",
"@cspell/dict-public-licenses": "^2.0.15",
"@cspell/dict-python": "^4.2.21",
"@cspell/dict-python": "^4.2.23",
"@cspell/dict-r": "^2.1.1",
"@cspell/dict-ruby": "^5.0.9",
"@cspell/dict-rust": "^4.0.12",
"@cspell/dict-scala": "^5.0.8",
"@cspell/dict-shell": "^1.1.2",
"@cspell/dict-software-terms": "^5.1.13",
"@cspell/dict-software-terms": "^5.1.15",
"@cspell/dict-sql": "^2.2.1",
"@cspell/dict-svelte": "^1.0.7",
"@cspell/dict-swift": "^2.0.6",
@ -1016,35 +1031,35 @@
}
},
"@cspell/cspell-json-reporter": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.3.2.tgz",
"integrity": "sha512-YRgpeHN9uY8kUlIw9q+8zJ0tRTAJMbfBTGzCq9Puah09NeMWlRMFPUkXVrkdic6NA7etboZ+zEdoZwRO9EmhiA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-9.4.0.tgz",
"integrity": "sha512-TpHY7t13xNhcZF9bwOfgVIhcyPDamMnxU/TBYhf4mPtXPLrZ5gBTg3UZh0/9Zn3naMjmJtngdsLvB2wai9xBlQ==",
"requires": {
"@cspell/cspell-types": "9.3.2"
"@cspell/cspell-types": "9.4.0"
}
},
"@cspell/cspell-pipe": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.3.2.tgz",
"integrity": "sha512-REF7ibG79WLEynIMUss/IRDCdYEb1nlE1rj/gt2CbPFzLa6t5MRwW2lajEvXS6/WgbMtsTVHAWi3ALqJzCwxng=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-9.4.0.tgz",
"integrity": "sha512-cI0sUe7SB99hJB1T6PhH/MpSrnml1kOekTCE+VH3Eb7zkVP5/mwJXs8BlufdvwBona+Cgkx6jeWlhFpxLc39Yg=="
},
"@cspell/cspell-resolver": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.3.2.tgz",
"integrity": "sha512-jLN2Aa/vxm8+IBvTd884SwPEfjxnDwIEPBT3hmqgLlKuUHQ3FMG27lsM4Ik9L2KWBXMgV/wGz4BaxfhKI41Ttw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-resolver/-/cspell-resolver-9.4.0.tgz",
"integrity": "sha512-o9gbbdXlhxG2rqtGqQ7xZ8MGDDsPLbskBnTeuA++ix4Ch/HdjrBNmKReIGAEqJPfP+JGgoEKqFISHUDKAJ/ygQ==",
"requires": {
"global-directory": "^4.0.1"
}
},
"@cspell/cspell-service-bus": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.3.2.tgz",
"integrity": "sha512-/rB8LazM0JzKL+AvZa5fEpLutmwy5QFMpzw8HJd+rDGkzb5r79hURWSRo84QArgaskUqA9XlOHSieDE9pt+WAA=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-9.4.0.tgz",
"integrity": "sha512-UottRlFPN6FGUfojx5HtUPZTeYXg2rf2HvO/HLh0KicirVYO16vFxTevg9MyOvw1EXSsDRz8ECANjiE7fnzBCQ=="
},
"@cspell/cspell-types": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.3.2.tgz",
"integrity": "sha512-l4H8bMAmdzCbXHO8y1JZiAKszrPEiuLFKWrbhCacHF0iP+PIc/yuQp7cO70m0p70vArRfih6kgGyHFaCy47CfA=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-9.4.0.tgz",
"integrity": "sha512-vSpd50OfmthBH0aRFRLA2zJFtwli3ntHA0WAOJ8tIMLUCJgF3udooRXFeX3wR8ri69C9mc3864LC4inyRC/E9w=="
},
"@cspell/dict-ada": {
"version": "4.1.1",
@ -1075,9 +1090,9 @@
"integrity": "sha512-fEyr3LmpFKTaD0LcRhB4lfW1AmULYBqzg4gWAV0dQCv06l+TsA+JQ+3pZJbUcoaZirtgsgT3dL3RUjmGPhUH0A=="
},
"@cspell/dict-cpp": {
"version": "6.0.14",
"resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.14.tgz",
"integrity": "sha512-dkmpSwvVfVdtoZ4mW/CK2Ep1v8mJlp6uiKpMNbSMOdJl4kq28nQS4vKNIX3B2bJa0Ha5iHHu+1mNjiLeO3g7Xg=="
"version": "6.0.15",
"resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-6.0.15.tgz",
"integrity": "sha512-N7MKK3llRNoBncygvrnLaGvmjo4xzVr5FbtAc9+MFGHK6/LeSySBupr1FM72XDaVSIsmBEe7sDYCHHwlI9Jb2w=="
},
"@cspell/dict-cryptocurrencies": {
"version": "5.0.5",
@ -1100,9 +1115,9 @@
"integrity": "sha512-xoiGnULEcWdodXI6EwVyqpZmpOoh8RA2Xk9BNdR7DLamV/QMvEYn8KJ7NlRiTSauJKPNkHHQ5EVHRM6sTS7jdg=="
},
"@cspell/dict-data-science": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.11.tgz",
"integrity": "sha512-Dt+83nVCcF+dQyvFSaZjCKt1H5KbsVJFtH2X7VUfmIzQu8xCnV1fUmkhBzGJ+NiFs99Oy9JA6I9EjeqExzXk7g=="
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-2.0.12.tgz",
"integrity": "sha512-vI/mg6cI28IkFcpeINS7cm5M9HWemmXSTnxJiu3nmc4VAGx35SXIEyuLGBcsVzySvDablFYf4hsEpmg1XpVsUQ=="
},
"@cspell/dict-django": {
"version": "4.1.5",
@ -1190,9 +1205,9 @@
"integrity": "sha512-ib8SA5qgftExpYNjWhpYIgvDsZ/0wvKKxSP+kuSkkak520iPvTJumEpIE+qPcmJQo4NzdKMN8nEfaeci4OcFAQ=="
},
"@cspell/dict-html": {
"version": "4.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.12.tgz",
"integrity": "sha512-JFffQ1dDVEyJq6tCDWv0r/RqkdSnV43P2F/3jJ9rwLgdsOIXwQbXrz6QDlvQLVvNSnORH9KjDtenFTGDyzfCaA=="
"version": "4.0.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.13.tgz",
"integrity": "sha512-vHzk2xfqQYPvoXtQtywa6ekIonPrUEwe2uftjry3UNRNl89TtzLJVSkiymKJ3WMb+W/DwKXKIb1tKzcIS8ccIg=="
},
"@cspell/dict-html-symbol-entities": {
"version": "4.0.4",
@ -1240,9 +1255,9 @@
"integrity": "sha512-4vrVt7bGiK8Rx98tfRbYo42Xo2IstJkAF4tLLDMNQLkQ86msDlYSKG1ZCk8Abg+EdNcFAjNhXIiNO+w4KflGAQ=="
},
"@cspell/dict-markdown": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.12.tgz",
"integrity": "sha512-ufwoliPijAgWkD/ivAMC+A9QD895xKiJRF/fwwknQb7kt7NozTLKFAOBtXGPJAB4UjhGBpYEJVo2elQ0FCAH9A==",
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-markdown/-/dict-markdown-2.0.13.tgz",
"integrity": "sha512-rFeGikf+lVlywEp7giATUfi8myFeee6jqgbUgtdIdl/OBmRBPe5m7mKNk7yMItMZe8ICrwMxFwJy5OeTnrr6QA==",
"requires": {}
},
"@cspell/dict-monkeyc": {
@ -1256,9 +1271,9 @@
"integrity": "sha512-AirZcN2i84ynev3p2/1NCPEhnNsHKMz9zciTngGoqpdItUb2bDt1nJBjwlsrFI78GZRph/VaqTVFwYikmncpXg=="
},
"@cspell/dict-npm": {
"version": "5.2.22",
"resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.22.tgz",
"integrity": "sha512-bepGmmRv7KmxULqfw88G9wxkpIAQA96YyrfKpfg4RHnQLxpmzoRnZGtK5S9JH7Hlf5LEd1gkOF7dtCE6cek67w=="
"version": "5.2.25",
"resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.2.25.tgz",
"integrity": "sha512-jxhVxM3+ilxbum/N2ejAvVuvet1OrGeW1fD7GagAkHU/2zlzINZkJLDtXk6v1WHUjigfhiAsois3puobv/2A1A=="
},
"@cspell/dict-php": {
"version": "4.1.0",
@ -1276,11 +1291,11 @@
"integrity": "sha512-cJEOs901H13Pfy0fl4dCD1U+xpWIMaEPq8MeYU83FfDZvellAuSo4GqWCripfIqlhns/L6+UZEIJSOZnjgy7Wg=="
},
"@cspell/dict-python": {
"version": "4.2.21",
"resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.21.tgz",
"integrity": "sha512-M9OgwXWhpZqEZqKU2psB2DFsT8q5SwEahkQeIpNIRWIErjwG7I9yYhhfvPz6s5gMCMhhb3hqcPJTnmdgqGrQyg==",
"version": "4.2.23",
"resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.2.23.tgz",
"integrity": "sha512-c0C//tmG4PZWeONtTBPXa6q0ylfz3/BgEcHAR1L0BPWjNUIzTyx9J+hEIUCPYf7eAPeYjaDuTvYlg11igXXE4Q==",
"requires": {
"@cspell/dict-data-science": "^2.0.11"
"@cspell/dict-data-science": "^2.0.12"
}
},
"@cspell/dict-r": {
@ -1309,9 +1324,9 @@
"integrity": "sha512-WqOUvnwcHK1X61wAfwyXq04cn7KYyskg90j4lLg3sGGKMW9Sq13hs91pqrjC44Q+lQLgCobrTkMDw9Wyl9nRFA=="
},
"@cspell/dict-software-terms": {
"version": "5.1.13",
"resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.13.tgz",
"integrity": "sha512-bmWMOpqzCmmKFHM9hFC6o+GP20t2+uTuwksR3a6crHQqvNv3revzwQHorsWvSYx75xsdcvRYrAz7PqPEV/FG1g=="
"version": "5.1.15",
"resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-5.1.15.tgz",
"integrity": "sha512-93VqazVvVtHuKY7seGxbfdtrnPBgZ/hZ/NmFFkBRhkRL6NavaQ6U2QsHpnlVEZN5km3DmaQy1X4ZcvNoSTK/ZQ=="
},
"@cspell/dict-sql": {
"version": "2.2.1",
@ -1349,28 +1364,33 @@
"integrity": "sha512-XibBIxBlVosU06+M6uHWkFeT0/pW5WajDRYdXG2CgHnq85b0TI/Ks0FuBJykmsgi2CAD3Qtx8UHFEtl/DSFnAQ=="
},
"@cspell/dynamic-import": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.3.2.tgz",
"integrity": "sha512-au7FyuIHUNI2r9sO3pUBKVTeD/v7c9x/nPUStaAK1bG4rdKt4w+/jUY2IaldAraW5w29z528BboXbiV87SM1kw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-9.4.0.tgz",
"integrity": "sha512-d2fjLjzrKGUIn5hWK8gMuyAh2pqXSxBqOHpU1jR3jxbrO3MilunKNijaSstv7CZn067Jpc36VfaKQodaXNZzUA==",
"requires": {
"@cspell/url": "9.3.2",
"@cspell/url": "9.4.0",
"import-meta-resolve": "^4.2.0"
}
},
"@cspell/filetypes": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.3.2.tgz",
"integrity": "sha512-0bUxQlmJPRHZrRQD7adbc4lFizO8tGD/6+1cBgU3kV3+NVrpr12y4jU8twCSChhYibZyPr7bnvhkM3cQgb8RzA=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/filetypes/-/filetypes-9.4.0.tgz",
"integrity": "sha512-RMrYHkvPF0tHVFM+T4voEhX9sfYQrd/mnNbf6+O4CWUyLCz4NQ5H9yOgEIJwEcLu4y3NESGXFef/Jn5xo0CUfg=="
},
"@cspell/strong-weak-map": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.3.2.tgz",
"integrity": "sha512-pFcmOTWCoFMRETb9PCkCmaiZiLb5i2qOZmGH/p/tFEH8kIYhMGfhaulnXwKwS+Ke6PKceQd2YL98bGmo8hL4aQ=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-9.4.0.tgz",
"integrity": "sha512-ui7mlXYmqElS/SmRubPBNWdkQVWgWbB6rjCurc+0owYXlnweItAMHTxC8mCWM/Au22SF1dB/JR8QBELFXLkTjQ=="
},
"@cspell/url": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.3.2.tgz",
"integrity": "sha512-TobUlZl7Z7VehhNOMNAg1ABuGizieseftlG94OZJ934JptOhK8TC/1o2ldKrbDH50jyt6E7rPTMV2BW/vWuTzQ=="
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/@cspell/url/-/url-9.4.0.tgz",
"integrity": "sha512-nt88P6m20AaVbqMxsyPf8KqyWPaFEW2UANi0ijBxc2xTkD2KiUovxfZUYW6NMU9XBYZlovT5LztkEhst2yBcSA=="
},
"ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="
},
"array-timsort": {
"version": "1.0.3",
@ -1425,24 +1445,25 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cspell": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell/-/cspell-9.3.2.tgz",
"integrity": "sha512-3xFyVSTYrYa/QJzLfzsCRMkMXqOsytP8E26DuGrVMJQoLPFmbOXNNtnMu4wrtr17QVloxpvutW77U4vb2L/LDQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell/-/cspell-9.4.0.tgz",
"integrity": "sha512-ZvXO+EY/G0/msu7jwRiVk0sXL/zB7DMJLBvjSUrK82uVbDoDxHwXxUuOz2UVnk2+J61//ldIZrjxVK8KMvaJlg==",
"requires": {
"@cspell/cspell-json-reporter": "9.3.2",
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/dynamic-import": "9.3.2",
"@cspell/url": "9.3.2",
"@cspell/cspell-json-reporter": "9.4.0",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"@cspell/dynamic-import": "9.4.0",
"@cspell/url": "9.4.0",
"ansi-regex": "^6.2.2",
"chalk": "^5.6.2",
"chalk-template": "^1.1.2",
"commander": "^14.0.2",
"cspell-config-lib": "9.3.2",
"cspell-dictionary": "9.3.2",
"cspell-gitignore": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-io": "9.3.2",
"cspell-lib": "9.3.2",
"cspell-config-lib": "9.4.0",
"cspell-dictionary": "9.4.0",
"cspell-gitignore": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-io": "9.4.0",
"cspell-lib": "9.4.0",
"fast-json-stable-stringify": "^2.1.0",
"flatted": "^3.3.3",
"semver": "^7.7.3",
@ -1450,84 +1471,84 @@
}
},
"cspell-config-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.3.2.tgz",
"integrity": "sha512-zXhmA4rqgWQRTVijI+g/mgiep76TvTO4d+P3CHwcqLG57BKVzoW+jkO4qDLC+Neh4b8+CcNWEIr3w16BfuEJAA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-config-lib/-/cspell-config-lib-9.4.0.tgz",
"integrity": "sha512-CvQKSmK/DRIf3LpNx2sZth65pHW2AHngZqLkH3DTwnAPbiCAsE0XvCrVhvDfCNu/6uJIaa+NVHSs8GOf//DHBQ==",
"requires": {
"@cspell/cspell-types": "9.3.2",
"@cspell/cspell-types": "9.4.0",
"comment-json": "^4.4.1",
"smol-toml": "^1.5.2",
"yaml": "^2.8.1"
"yaml": "^2.8.2"
}
},
"cspell-dictionary": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.3.2.tgz",
"integrity": "sha512-E3YhOhZzZt1a+AEbFV2B3THCyZ576PDg0mDNUDrU1Y65SyIhf4DC6itfPoAb6R3FI/DI218RqWZg/FTT8lJ2gA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-9.4.0.tgz",
"integrity": "sha512-c2qscanRZChoHZFYI7KpvBMdy8i6wNwl2EflcNRrFiFOq67t9CgxLe54PafaqhrHGpBc8nElaZKciLvjj6Uscw==",
"requires": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"cspell-trie-lib": "9.3.2",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"cspell-trie-lib": "9.4.0",
"fast-equals": "^5.3.3"
}
},
"cspell-gitignore": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.3.2.tgz",
"integrity": "sha512-G2bLR+Dfb9GX4Sdm75GfCCa9V/sQYkRbLckuCuVmJxvcDB0xfczAtb6TfAXIziF3oUI6cOB1g+PoNLWBelcK5w==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-9.4.0.tgz",
"integrity": "sha512-HMrzLmJBUMSpaMMkltlTAz/aVOrHxixyhKfg5WbFCJ5JYZO6Qu3/JU3wRoOFoud9449wRjLkvrGmbbL2+vO6Lw==",
"requires": {
"@cspell/url": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-io": "9.3.2"
"@cspell/url": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-io": "9.4.0"
}
},
"cspell-glob": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.3.2.tgz",
"integrity": "sha512-TuSupENEKyOCupOUZ3vnPxaTOghxY/rD1JIkb8e5kjzRprYVilO/rYqEk/52iLwJVd+4Npe8fNhR3KhU7u/UUg==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-9.4.0.tgz",
"integrity": "sha512-Q87Suj9oXrhoKck15qWorCizBjMNxG/k3NjnhKIAMrF+PdUa1Mpl0MOD+hqV1Wvwh1UHcIMYCP3bR3XpBbNx+Q==",
"requires": {
"@cspell/url": "9.3.2",
"@cspell/url": "9.4.0",
"picomatch": "^4.0.3"
}
},
"cspell-grammar": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.3.2.tgz",
"integrity": "sha512-ysonrFu9vJvF/derDlEjUfmvLeCfNOWPh00t6Yh093AKrJFoWQiyaS/5bEN/uB5/n1sa4k3ItnWvuTp3+YuZsA==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-9.4.0.tgz",
"integrity": "sha512-ie7OQ4Neflo+61bMzoLR7GtlZfMBAm2KL1U4iNqh15wUE5fDbvXeN15H5lu+gcO8BwYvC5wxZknw1x62/J8+3Q==",
"requires": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2"
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0"
}
},
"cspell-io": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.3.2.tgz",
"integrity": "sha512-ahoULCp0j12TyXXmIcdO/7x65A/2mzUQO1IkOC65OXEbNT+evt0yswSO5Nr1F6kCHDuEKc46EZWwsYAzj78pMg==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-9.4.0.tgz",
"integrity": "sha512-8w30dqlO54H9w6WGlvZhHI5kytVbF3bYPqKJAZLWKEO36L2mdpf6/abx/FA4yVLJ56wmH1x0N0ZK32wNRl5C6A==",
"requires": {
"@cspell/cspell-service-bus": "9.3.2",
"@cspell/url": "9.3.2"
"@cspell/cspell-service-bus": "9.4.0",
"@cspell/url": "9.4.0"
}
},
"cspell-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.3.2.tgz",
"integrity": "sha512-kdk11kib68zNANNICuOA8h4oA9kENQUAdeX/uvT4+7eHbHHV8WSgjXm4k4o/pRIbg164UJTX/XxKb/65ftn5jw==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-9.4.0.tgz",
"integrity": "sha512-ajjioE59IEDNUPawfaBpiMfGC32iKPkuYd4T9ftguuef8VvyKRifniiUi1nxwGgAhzSfxHvWs7qdT+29Pp5TMQ==",
"requires": {
"@cspell/cspell-bundled-dicts": "9.3.2",
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-resolver": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/dynamic-import": "9.3.2",
"@cspell/filetypes": "9.3.2",
"@cspell/strong-weak-map": "9.3.2",
"@cspell/url": "9.3.2",
"@cspell/cspell-bundled-dicts": "9.4.0",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-resolver": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"@cspell/dynamic-import": "9.4.0",
"@cspell/filetypes": "9.4.0",
"@cspell/strong-weak-map": "9.4.0",
"@cspell/url": "9.4.0",
"clear-module": "^4.1.2",
"cspell-config-lib": "9.3.2",
"cspell-dictionary": "9.3.2",
"cspell-glob": "9.3.2",
"cspell-grammar": "9.3.2",
"cspell-io": "9.3.2",
"cspell-trie-lib": "9.3.2",
"cspell-config-lib": "9.4.0",
"cspell-dictionary": "9.4.0",
"cspell-glob": "9.4.0",
"cspell-grammar": "9.4.0",
"cspell-io": "9.4.0",
"cspell-trie-lib": "9.4.0",
"env-paths": "^3.0.0",
"gensequence": "^8.0.8",
"import-fresh": "^3.3.1",
@ -1538,12 +1559,12 @@
}
},
"cspell-trie-lib": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.3.2.tgz",
"integrity": "sha512-1Af7Mq9jIccFQyJl/ZCcqQbtJwuDqpQVkk8xfs/92x4OI6gW1iTVRMtsrh0RTw1HZoR8aQD7tRRCiLPf/D+UiQ==",
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-9.4.0.tgz",
"integrity": "sha512-bySJTm8XDiJAoC1MDo4lE/KpSNxydo13ZETC8TF7Hb3rbWI1c6o5eZ4+i/tkG3M94OvKV91+MeAvoMCe7GGgAw==",
"requires": {
"@cspell/cspell-pipe": "9.3.2",
"@cspell/cspell-types": "9.3.2",
"@cspell/cspell-pipe": "9.4.0",
"@cspell/cspell-types": "9.4.0",
"gensequence": "^8.0.8"
}
},
@ -1678,9 +1699,9 @@
"integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ=="
},
"yaml": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
"integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
"integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="
}
}
}

View File

@ -2,6 +2,6 @@
"name": "cspell-version-pin",
"version": "1.0.0",
"dependencies": {
"cspell": "^9.3.2"
"cspell": "^9.4.0"
}
}

View File

@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"@azure-tools/typespec-client-generator-cli": "0.30.0"
"@azure-tools/typespec-client-generator-cli": "0.31.0"
}
},
"node_modules/@autorest/codemodel": {
@ -189,9 +189,9 @@
}
},
"node_modules/@azure-tools/typespec-client-generator-cli": {
"version": "0.30.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-cli/-/typespec-client-generator-cli-0.30.0.tgz",
"integrity": "sha512-UmVypW8o0PtgydCpAdoByWPSNAf0kgGSE4WjyGyFSYJZIfwrQ6Nvv1LuFAYZQxaM6ZYRNZKB92QmpXiNnWKxoA==",
"version": "0.31.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-cli/-/typespec-client-generator-cli-0.31.0.tgz",
"integrity": "sha512-ukz9IROlYhr0TAXeVLT6oHb/SbZyDFp+rTKYw5XblNBJChLiq+PDalrjyWXsSF8J15TfKS4vixEOc+LZUQQb0A==",
"license": "MIT",
"dependencies": {
"@autorest/core": "^3.10.2",
@ -332,7 +332,6 @@
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
"js-tokens": "^4.0.0",
@ -347,7 +346,6 @@
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
"integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=6.9.0"
}
@ -357,7 +355,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz",
"integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/figures": "^1.0.13",
@ -382,7 +379,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.16.tgz",
"integrity": "sha512-j1a5VstaK5KQy8Mu8cHmuQvN1Zc62TbLhjJxwHvKPPKEoowSF6h/0UdOpA9DNdWZ+9Inq73+puRq1df6OJ8Sag==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8"
@ -404,7 +400,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz",
"integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/figures": "^1.0.13",
"@inquirer/type": "^3.0.8",
@ -432,7 +427,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz",
"integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/external-editor": "^1.0.1",
@ -455,7 +449,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz",
"integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8",
@ -478,7 +471,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz",
"integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"chardet": "^2.1.0",
"iconv-lite": "^0.6.3"
@ -500,7 +492,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
"integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
}
@ -510,7 +501,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz",
"integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8"
@ -532,7 +522,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz",
"integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8"
@ -554,7 +543,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz",
"integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8",
@ -577,7 +565,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.4.tgz",
"integrity": "sha512-MuxVZ1en1g5oGamXV3DWP89GEkdD54alcfhHd7InUW5BifAdKQEK9SLFa/5hlWbvuhMPlobF0WAx7Okq988Jxg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/checkbox": "^4.2.2",
"@inquirer/confirm": "^5.1.16",
@ -607,7 +594,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz",
"integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/type": "^3.0.8",
@ -630,7 +616,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz",
"integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/figures": "^1.0.13",
@ -654,7 +639,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz",
"integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==",
"license": "MIT",
"peer": true,
"dependencies": {
"@inquirer/core": "^10.2.0",
"@inquirer/figures": "^1.0.13",
@ -679,7 +663,6 @@
"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
"integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -697,7 +680,6 @@
"resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
"integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
"license": "ISC",
"peer": true,
"dependencies": {
"minipass": "^7.0.4"
},
@ -725,7 +707,6 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@ -739,7 +720,6 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 8"
}
@ -749,7 +729,6 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@ -763,7 +742,6 @@
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
"integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -824,7 +802,6 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -837,7 +814,6 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},
@ -850,7 +826,6 @@
"resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
"integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
"license": "ISC",
"peer": true,
"dependencies": {
"string-width": "^7.2.0",
"strip-ansi": "^7.1.0",
@ -864,15 +839,13 @@
"version": "10.5.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz",
"integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/@typespec/compiler/node_modules/prettier": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz",
"integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==",
"license": "MIT",
"peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@ -888,7 +861,6 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
@ -906,7 +878,6 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-regex": "^6.0.1"
},
@ -922,7 +893,6 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
@ -940,7 +910,6 @@
"resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
"integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
"license": "MIT",
"peer": true,
"dependencies": {
"cliui": "^9.0.1",
"escalade": "^3.1.1",
@ -958,7 +927,6 @@
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
"integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
"license": "ISC",
"peer": true,
"engines": {
"node": "^20.19.0 || ^22.12.0 || >=23"
}
@ -1130,7 +1098,6 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"license": "MIT",
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@ -1147,7 +1114,6 @@
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"type-fest": "^0.21.3"
},
@ -1206,7 +1172,6 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"license": "MIT",
"peer": true,
"dependencies": {
"fill-range": "^7.1.1"
},
@ -1248,15 +1213,13 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
"integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/chownr": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
"integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
"license": "BlueOak-1.0.0",
"peer": true,
"engines": {
"node": ">=18"
}
@ -1266,7 +1229,6 @@
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
"integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
"license": "ISC",
"peer": true,
"engines": {
"node": ">= 12"
}
@ -1381,7 +1343,6 @@
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz",
"integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==",
"license": "MIT",
"peer": true,
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
@ -1402,15 +1363,13 @@
"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==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@ -1436,15 +1395,13 @@
"url": "https://opencollective.com/fastify"
}
],
"license": "BSD-3-Clause",
"peer": true
"license": "BSD-3-Clause"
},
"node_modules/fastq": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
"license": "ISC",
"peer": true,
"dependencies": {
"reusify": "^1.0.4"
}
@ -1454,7 +1411,6 @@
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"license": "MIT",
"peer": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@ -1476,7 +1432,6 @@
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
"integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -1489,7 +1444,6 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"license": "ISC",
"peer": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@ -1502,7 +1456,6 @@
"resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
"integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@sindresorhus/merge-streams": "^2.1.0",
"fast-glob": "^3.3.3",
@ -1555,7 +1508,6 @@
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
"peer": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
@ -1568,7 +1520,6 @@
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
"integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 4"
}
@ -1578,7 +1529,6 @@
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -1597,7 +1547,6 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"license": "MIT",
"peer": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@ -1610,7 +1559,6 @@
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.12.0"
}
@ -1620,7 +1568,6 @@
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
"integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -1632,8 +1579,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.1",
@ -1651,8 +1597,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/lodash": {
"version": "4.17.21",
@ -1665,7 +1610,6 @@
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 8"
}
@ -1675,7 +1619,6 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"license": "MIT",
"peer": true,
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@ -1689,7 +1632,6 @@
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"license": "ISC",
"peer": true,
"engines": {
"node": ">=16 || 14 >=14.17"
}
@ -1699,7 +1641,6 @@
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz",
"integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==",
"license": "MIT",
"peer": true,
"dependencies": {
"minipass": "^7.1.2"
},
@ -1712,7 +1653,6 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
"license": "MIT",
"peer": true,
"bin": {
"mkdirp": "dist/cjs/src/bin.js"
},
@ -1734,7 +1674,6 @@
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
"license": "MIT",
"peer": true,
"bin": {
"mustache": "bin/mustache"
}
@ -1744,7 +1683,6 @@
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
"license": "ISC",
"peer": true,
"engines": {
"node": "^18.17.0 || >=20.5.0"
}
@ -1754,7 +1692,6 @@
"resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
"integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -1766,15 +1703,13 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8.6"
},
@ -1846,8 +1781,7 @@
"url": "https://feross.org/support"
}
],
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/require-directory": {
"version": "2.1.1",
@ -1863,7 +1797,6 @@
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -1882,7 +1815,6 @@
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
"license": "MIT",
"peer": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@ -1907,7 +1839,6 @@
}
],
"license": "MIT",
"peer": true,
"dependencies": {
"queue-microtask": "^1.2.2"
}
@ -1916,8 +1847,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.2",
@ -1936,7 +1866,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"license": "ISC",
"peer": true,
"engines": {
"node": ">=14"
},
@ -1964,7 +1893,6 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=14.16"
},
@ -2036,7 +1964,6 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz",
"integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==",
"license": "ISC",
"peer": true,
"dependencies": {
"@isaacs/fs-minipass": "^4.0.0",
"chownr": "^3.0.0",
@ -2054,7 +1981,6 @@
"resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-0.3.0.tgz",
"integrity": "sha512-qNsTkX9K8hi+FHDfHmf22e/OGuXmfBm9RqNismxBrnSmZVJKegQ+HYYXT+R7Ha8F/YSm2Y34vmzD4cxMu2u95g==",
"license": "MIT",
"peer": true,
"dependencies": {
"temporal-spec": "0.3.0"
}
@ -2063,8 +1989,7 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-0.3.0.tgz",
"integrity": "sha512-n+noVpIqz4hYgFSMOSiINNOUOMFtV5cZQNCmmszA6GiVFVRt3G7AqVyhXjhCSmowvQn+NsGn+jMDMKJYHd3bSQ==",
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/title-case": {
"version": "3.0.3",
@ -2080,7 +2005,6 @@
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"is-number": "^7.0.0"
},
@ -2099,7 +2023,6 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"license": "(MIT OR CC0-1.0)",
"peer": true,
"engines": {
"node": ">=10"
},
@ -2112,7 +2035,6 @@
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
"integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},
@ -2134,7 +2056,6 @@
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
"integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
"license": "MIT",
"peer": true,
"dependencies": {
"vscode-languageserver-protocol": "3.17.5"
},
@ -2147,7 +2068,6 @@
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
"integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
"license": "MIT",
"peer": true,
"dependencies": {
"vscode-jsonrpc": "8.2.0",
"vscode-languageserver-types": "3.17.5"
@ -2158,7 +2078,6 @@
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
"integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=14.0.0"
}
@ -2167,22 +2086,19 @@
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
"integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/vscode-languageserver-types": {
"version": "3.17.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
"integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@ -2197,7 +2113,6 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -2207,7 +2122,6 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@ -2229,7 +2143,6 @@
"resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
"integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
"license": "BlueOak-1.0.0",
"peer": true,
"engines": {
"node": ">=18"
}
@ -2278,7 +2191,6 @@
"resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
"integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
"license": "MIT",
"peer": true,
"engines": {
"node": ">=18"
},

View File

@ -1,5 +1,5 @@
{
"dependencies": {
"@azure-tools/typespec-client-generator-cli": "0.30.0"
"@azure-tools/typespec-client-generator-cli": "0.31.0"
}
}

View File

@ -1,4 +1,101 @@
trigger: none
parameters:
- name: StartMainSDKCIRun
displayName: |
Kick off the main SDK CI docs run when manually running the pipeline
type: boolean
default: false
variables:
- template: /eng/pipelines/templates/variables/globals.yml
- template: /eng/pipelines/templates/variables/image.yml
jobs:
- template: /eng/common/pipelines/templates/jobs/docindex.yml
- job: UpdateDocsMsBuildConfig
pool:
name: $(LINUXPOOL)
demands: ImageOverride -equals $(LINUXVMIMAGE)
variables:
DocRepoLocation: $(Pipeline.Workspace)/docs
DocRepoOwner: MicrosoftDocs
DocRepoName: azure-docs-sdk-cpp
steps:
# Sync docs repo (this can be sparse)
- template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
parameters:
# TODO: Remove when C++ docs repo goes public
TokenToUseForAuth: $(azuresdk-github-pat)
SkipCheckoutNone: true
Paths:
- ci-configs/
- metadata/
- docs-ref-mapping/
- docs-ref-services/
Repositories:
- Name: $(DocRepoOwner)/$(DocRepoName)
WorkingDirectory: $(DocRepoLocation)
- task: Powershell@2
inputs:
pwsh: true
filePath: eng/common/scripts/Update-DocsMsPackages.ps1
arguments: -DocRepoLocation $(DocRepoLocation) -SkipLegacyOnboarding
displayName: Update Docs Onboarding for main branch
- task: Powershell@2
inputs:
pwsh: true
filePath: eng/common/scripts/Service-Level-Readme-Automation.ps1
arguments: >-
-DocRepoLocation $(DocRepoLocation)
-Monikers @('latest','preview')
displayName: Generate Service Level Readme for main branch
- task: Powershell@2
inputs:
pwsh: true
filePath: eng/common/scripts/Update-DocsMsToc.ps1
arguments: >-
-DocRepoLocation $(DocRepoLocation)
-OutputLocation $(DocRepoLocation)/docs-ref-mapping/reference-unified.yml
displayName: Generate ToC for main branch
- task: Powershell@2
inputs:
pwsh: true
filePath: eng/common/scripts/Verify-RequiredDocsJsonMembers.ps1
arguments: >-
-DocRepoLocation $(DocRepoLocation)
displayName: Verify Required Docs Json Members
# Push changes to docs repo
- template: /eng/common/pipelines/templates/steps/set-default-branch.yml
parameters:
WorkingDirectory: $(DocRepoLocation)
- template: /eng/common/pipelines/templates/steps/git-push-changes.yml
parameters:
BaseRepoBranch: $(DefaultBranch)
BaseRepoOwner: $(DocRepoOwner)
CommitMsg: "Update docs CI configuration Build: $(System.CollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
TargetRepoName: $(DocRepoName)
TargetRepoOwner: $(DocRepoOwner)
WorkingDirectory: $(DocRepoLocation)
- task: AzureCLI@2
displayName: Queue Docs CI build
condition: and(succeeded(), or(eq(variables['Build.Reason'], 'Schedule'), eq(${{ parameters.StartMainSDKCIRun }}, true)))
inputs:
azureSubscription: msdocs-apidrop-connection
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
$accessToken = az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" --query "accessToken" --output tsv
eng/common/scripts/Queue-Pipeline.ps1 `
-Organization "apidrop" `
-Project "Content%20CI" `
-DefinitionId 8056 `
-BearerToken $accessToken

View File

@ -8,6 +8,9 @@ parameters:
IntegrationDependsOn:
- PrePublishBuild
TargetDocRepoOwner: MicrosoftDocs
TargetDocRepoName: azure-docs-sdk-cpp
stages:
- ${{if and(eq(variables['Build.Reason'], 'Manual'), eq(variables['System.TeamProject'], 'internal'))}}:
- ${{ each artifact in parameters.Artifacts }}:
@ -115,6 +118,40 @@ stages:
FolderForUpload: '$(Pipeline.Workspace)/docs/${{ artifact.Name }}'
TargetLanguage: 'cpp'
ArtifactLocation: '$(Pipeline.Workspace)/packages/${{artifact.Name}}'
- job: PublishDocsMs
displayName: Docs.MS Release
condition: and(succeeded(), ne(variables['Skip.PublishDocs'], 'true'))
# C++ learn docs are generated from hosted doxygen docs so this
# can only run after the static docs have been published.
dependsOn: PublishDocs
pool:
name: $(LINUXPOOL)
image: $(LINUXVMIMAGE)
os: linux
steps:
- template: /eng/common/pipelines/templates/steps/sparse-checkout.yml
parameters:
Paths:
- sdk/**/*.md
- .github/CODEOWNERS
- download: current
- template: /eng/common/pipelines/templates/steps/update-docsms-metadata.yml
parameters:
PackageInfoLocations:
- $(Pipeline.Workspace)/packages/PackageInfo/${{artifact.name}}.json
RepoId: Azure/azure-sdk-for-cpp
WorkingDirectory: $(System.DefaultWorkingDirectory)
TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}}
TargetDocRepoName: ${{parameters.TargetDocRepoName}}
Language: cpp
SparseCheckoutPaths:
- docs-ref-services/
- metadata/
- ci-configs/packages-latest.json
- ci-configs/packages-preview.json
- ${{ if ne(artifact.skipPublishVcpkg, 'true') }}:
- job: PublishVcpkg

View File

@ -3,6 +3,10 @@ $LanguageDisplayName = "C++"
$PackageRepository = "CPP"
$packagePattern = "package-info.json"
$MetadataUri = "https://raw.githubusercontent.com/Azure/azure-sdk/main/_data/releases/latest/cpp-packages.csv"
$GithubUri = "https://github.com/Azure/azure-sdk-for-cpp"
$PackageRepositoryUri = "https://github.com/microsoft/vcpkg/tree/master/ports"
. "$PSScriptRoot/docs/Docs-ToC.ps1"
$VersionRegex = '(#define AZURE_\w+_VERSION_MAJOR )(?<major>[0-9]+)(\s+#define AZURE_\w+_VERSION_MINOR )(?<minor>[0-9]+)(\s+#define AZURE_\w+_VERSION_PATCH )(?<patch>[0-9]+)(\s+#define AZURE_\w+_VERSION_PRERELEASE )"(?<prerelease>[a-zA-Z0-9.]*)"';
function Get-VersionHppLocation ($ServiceDirectory, $PackageName) {
@ -11,6 +15,30 @@ function Get-VersionHppLocation ($ServiceDirectory, $PackageName) {
return $versionHppLocation
}
function Get-cpp-DocsMsMetadataForPackage($PackageInfo) {
$readmeName = $PackageInfo.Name.ToLower()
# Readme names (which are used in the URL) should not include redundant terms
# when viewed in URL form. For example:
# https://docs.microsoft.com/en-us/dotnet/api/overview/azure/storage.blobs-readme
# Note how the end of the URL doesn't look like:
# ".../azure/azure.storage.blobs-readme"
# This logic eliminates a preceding "azure-" in the readme filename.
# "azure-storage-blobs" -> "storage-blobs"
if ($readmeName.StartsWith('azure-')) {
$readmeName = $readmeName.Substring(6)
}
Write-Host "Docs.ms Readme name: $($readmeName)"
New-Object PSObject -Property @{
DocsMsReadMeName = $readmeName
LatestReadMeLocation = 'docs-ref-services/latest'
PreviewReadMeLocation = 'docs-ref-services/preview'
Suffix = ''
}
}
function Get-cpp-PackageInfoFromRepo($pkgPath, $serviceDirectory)
{
$pkgName = Split-Path -Leaf $pkgPath

View File

@ -0,0 +1,60 @@
. "$PSScriptRoot/Docs-ToC.ps1"
# $SetDocsPackageOnboarding = "Set-${Language}-DocsPackageOnboarding"
function Set-cpp-DocsPackageOnboarding($moniker, $metadata, $docRepoLocation, $packageSourceOverride) {
$onboardingFile = GetOnboardingFile `
-docRepoLocation $docRepoLocation `
-moniker $moniker
$onboardingSpec = Get-Content $onboardingFile -Raw | ConvertFrom-Json -AsHashtable
$packagesToOnboard = @()
foreach ($package in $metadata) {
$packageSpec = [ordered]@{
name = $package.Name
tool = 'cpp-doxygen-1.9.1'
url = "https://azuresdkdocs.z19.web.core.windows.net/cpp/$($package.Name)/$($package.Version)/annotated.html"
}
$packagesToOnboard += $packageSpec
}
$onboardingSpec['packages'] = $packagesToOnboard
Set-Content `
-Path $onboardingFile `
-Value ($onboardingSpec | ConvertTo-Json -Depth 100)
}
# $GetDocsPackagesAlreadyOnboarded = "Get-${Language}-DocsPackagesAlreadyOnboarded"
function Get-cpp-DocsPackagesAlreadyOnboarded($docRepoLocation, $moniker) {
$packageOnboardingFile = GetOnboardingFile `
-docRepoLocation $DocRepoLocation `
-moniker $moniker
$onboardedPackages = @{}
$onboardingSpec = ConvertFrom-Json (Get-Content $packageOnboardingFile -Raw)
foreach ($spec in $onboardingSpec.packages) {
$packageInfo = GetPackageInfoFromDocsMsConfig $spec
$onboardedPackages[$packageInfo.Name] = $packageInfo
}
return $onboardedPackages
}
function GetPackageInfoFromDocsMsConfig($spec) {
if (!$spec) {
throw "Spec must not be empty"
}
# "https://azuresdkdocs.z19.web.core.windows.net/cpp/azure-security-attestation/1.1.0/annotated.html" => 1.1.0
$version = $spec.url.Split('/')[-2]
if (!$version) {
throw "Could not determine version from URL: $($spec.url)"
}
return @{
Name = $spec.name
Version = $version
}
}

View File

@ -0,0 +1,85 @@
function GetOnboardingFile($docRepoLocation, $moniker) {
$packageOnboardingFile = "$docRepoLocation/ci-configs/packages-latest.json"
if ("preview" -eq $moniker) {
$packageOnboardingFile = "$docRepoLocation/ci-configs/packages-preview.json"
}
return $packageOnboardingFile
}
# $GetOnboardedDocsMsPackagesFn = "Get-${Language}-OnboardedDocsMsPackages"
function Get-cpp-OnboardedDocsMsPackages($DocRepoLocation) {
$packageOnboardingFiles = @(
"$DocRepoLocation/ci-configs/packages-latest.json",
"$DocRepoLocation/ci-configs/packages-preview.json")
$onboardedPackages = @{}
foreach ($file in $packageOnboardingFiles) {
$onboardingSpec = ConvertFrom-Json (Get-Content $file -Raw)
foreach ($spec in $onboardingSpec.packages) {
$packageName = $spec.name
$onboardedPackages[$packageName] = $null
}
}
return $onboardedPackages
}
# $GetOnboardedDocsMsPackagesForMonikerFn = "Get-${Language}-OnboardedDocsMsPackagesForMoniker"
function Get-cpp-OnboardedDocsMsPackagesForMoniker($DocRepoLocation, $moniker) {
$packageOnboardingFile = GetOnboardingFile `
-docRepoLocation $DocRepoLocation `
-moniker $moniker
$onboardedPackages = @{}
$onboardingSpec = ConvertFrom-Json (Get-Content $packageOnboardingFile -Raw)
foreach ($spec in $onboardingSpec.packages) {
$jsonFile = "$DocRepoLocation/metadata/$($moniker)/$($spec.name).json"
if (Test-Path $jsonFile) {
$onboardedPackages[$spec.name] = ConvertFrom-Json (Get-Content $jsonFile -Raw)
}
else {
$onboardedPackages[$spec.name] = $null
}
}
return $onboardedPackages
}
# $GetPackageLevelReadmeFn = "Get-${Language}-PackageLevelReadme"
function Get-cpp-PackageLevelReadme($packageMetadata) {
return GetPackageReadmeName -packageMetadata $packageMetadata
}
function GetPackageReadmeName($packageMetadata) {
# Fallback to get package-level readme name if metadata file info does not exist
$packageLevelReadmeName = $packageMetadata.Package.ToLower().Replace('azure-', '')
# If there is a metadata json for the package use the DocsMsReadmeName from
# the metadata function
if ($packageMetadata.PSObject.Members.Name -contains "FileMetadata") {
$readmeMetadata = &$GetDocsMsMetadataForPackageFn -PackageInfo $packageMetadata.FileMetadata
$packageLevelReadmeName = $readmeMetadata.DocsMsReadMeName
}
return $packageLevelReadmeName
}
# $GetDocsMsTocDataFn = "Get-${Language}-DocsMsTocData"
function Get-cpp-DocsMsTocData($packageMetadata, $docRepoLocation) {
$packageLevelReadmeName = GetPackageReadmeName -packageMetadata $packageMetadata
$packageTocHeader = GetDocsTocDisplayName $packageMetadata
$output = [PSCustomObject]@{
PackageLevelReadmeHref = "~/docs-ref-services/{moniker}/$packageLevelReadmeName-readme.md"
PackageTocHeader = $packageTocHeader
TocChildren = @($packageMetadata.Package)
}
return $output
}
# $GetRepositoryLinkFn = "Get-${Language}-RepositoryLink"
function Get-cpp-RepositoryLink($packageInfo) {
return "$PackageRepositoryUri/$($packageInfo.Package)-cpp"
}

View File

@ -79,12 +79,12 @@ Three main ways of troubleshooting failures are:
### SDK Log Messages
The simplest way to enable logs is to set `AZURE_LOG_LEVEL` environment variable to one of the values:
|`AZURE_LOG_LEVEL`|`Azure::Core::Diagnostics::Logger::Level`|Log message level
|-|-|-
|`4`, or `error`, or `err`|`Error`|Logging level for failures that the application is unlikely to recover from.
|`3`, or `warning`, or `warn`|`Warning`|Logging level when a function fails to perform its intended task.
|`2`, or `informational`, or `information`, or `info`|`Informational`|Logging level when a function operates normally.
|`1`, or `verbose`, or `debug`|`Verbose`|Logging level for detailed troubleshooting scenarios.
|`AZURE_LOG_LEVEL`|`Azure::Core::Diagnostics::Logger::Level`|Log message level|
|-|-|-|
|`4`, or `error`, or `err`|`Error`|Logging level for failures that the application is unlikely to recover from.|
|`3`, or `warning`, or `warn`|`Warning`|Logging level when a function fails to perform its intended task.|
|`2`, or `informational`, or `information`, or `info`|`Informational`|Logging level when a function operates normally.|
|`1`, or `verbose`, or `debug`|`Verbose`|Logging level for detailed troubleshooting scenarios.|
Then, log messages will be printed to console (`stderr`).
Note that `stderr` messages can be redirected into a log file like this:

View File

@ -1,5 +1,15 @@
# Release History
## 12.16.0-beta.2 (Unreleased)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
## 12.16.0-beta.1 (2025-11-27)
### Features Added

View File

@ -11,7 +11,7 @@
#define AZURE_STORAGE_BLOBS_VERSION_MAJOR 12
#define AZURE_STORAGE_BLOBS_VERSION_MINOR 16
#define AZURE_STORAGE_BLOBS_VERSION_PATCH 0
#define AZURE_STORAGE_BLOBS_VERSION_PRERELEASE "beta.1"
#define AZURE_STORAGE_BLOBS_VERSION_PRERELEASE "beta.2"
#define AZURE_STORAGE_BLOBS_VERSION_ITOA_HELPER(i) #i
#define AZURE_STORAGE_BLOBS_VERSION_ITOA(i) AZURE_STORAGE_BLOBS_VERSION_ITOA_HELPER(i)

View File

@ -1,5 +1,15 @@
# Release History
## 12.12.0-beta.2 (Unreleased)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
## 12.12.0-beta.1 (2025-11-27)
### Features Added

View File

@ -13,7 +13,7 @@
#define AZURE_STORAGE_COMMON_VERSION_MAJOR 12
#define AZURE_STORAGE_COMMON_VERSION_MINOR 12
#define AZURE_STORAGE_COMMON_VERSION_PATCH 0
#define AZURE_STORAGE_COMMON_VERSION_PRERELEASE "beta.1"
#define AZURE_STORAGE_COMMON_VERSION_PRERELEASE "beta.2"
#define AZURE_STORAGE_COMMON_VERSION_ITOA_HELPER(i) #i
#define AZURE_STORAGE_COMMON_VERSION_ITOA(i) AZURE_STORAGE_COMMON_VERSION_ITOA_HELPER(i)

View File

@ -1,5 +1,15 @@
# Release History
## 12.14.0-beta.2 (Unreleased)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
## 12.14.0-beta.1 (2025-11-27)
### Features Added

View File

@ -11,7 +11,7 @@
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_MAJOR 12
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_MINOR 14
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_PATCH 0
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_PRERELEASE "beta.1"
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_PRERELEASE "beta.2"
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_ITOA_HELPER(i) #i
#define AZURE_STORAGE_FILES_DATALAKE_VERSION_ITOA(i) \

View File

@ -1,5 +1,15 @@
# Release History
## 12.16.0-beta.2 (Unreleased)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
## 12.16.0-beta.1 (2025-11-27)
### Features Added

View File

@ -11,7 +11,7 @@
#define AZURE_STORAGE_FILES_SHARES_VERSION_MAJOR 12
#define AZURE_STORAGE_FILES_SHARES_VERSION_MINOR 16
#define AZURE_STORAGE_FILES_SHARES_VERSION_PATCH 0
#define AZURE_STORAGE_FILES_SHARES_VERSION_PRERELEASE "beta.1"
#define AZURE_STORAGE_FILES_SHARES_VERSION_PRERELEASE "beta.2"
#define AZURE_STORAGE_FILES_SHARES_VERSION_ITOA_HELPER(i) #i
#define AZURE_STORAGE_FILES_SHARES_VERSION_ITOA(i) AZURE_STORAGE_FILES_SHARES_VERSION_ITOA_HELPER(i)

View File

@ -1,5 +1,15 @@
# Release History
## 12.6.0-beta.2 (Unreleased)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
## 12.6.0-beta.1 (2025-11-27)
### Features Added

View File

@ -11,7 +11,7 @@
#define AZURE_STORAGE_QUEUES_VERSION_MAJOR 12
#define AZURE_STORAGE_QUEUES_VERSION_MINOR 6
#define AZURE_STORAGE_QUEUES_VERSION_PATCH 0
#define AZURE_STORAGE_QUEUES_VERSION_PRERELEASE "beta.1"
#define AZURE_STORAGE_QUEUES_VERSION_PRERELEASE "beta.2"
#define AZURE_STORAGE_QUEUES_VERSION_ITOA_HELPER(i) #i
#define AZURE_STORAGE_QUEUES_VERSION_ITOA(i) AZURE_STORAGE_QUEUES_VERSION_ITOA_HELPER(i)

View File

@ -2,6 +2,8 @@
## 1.0.0 (Unreleased)
### Other Changes
* Validate template project ahead of release
## 1.0.0-beta.25 (2021-01-12)

View File

@ -1,7 +1,7 @@
{
"name": "azure-sdk-for-cpp",
"version": "1.5.0",
"builtin-baseline": "4334d8b4c8916018600212ab4dd4bbdc343065d1",
"builtin-baseline": "74e6536215718009aae747d86d84b78376bf9e09",
"dependencies": [
{
"name": "curl"