diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 34b5d4f0ab..dd55f4b394 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -65,6 +65,9 @@ env: # URL to get source code for building the image IMAGE_SRC: https://github.com/radius-project/radius + # bicep-types ACR url for uploading Radius Bicep types + BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io' + jobs: build-and-push-cli: name: Build ${{ matrix.target_os }}_${{ matrix.target_arch }} binaries @@ -259,6 +262,50 @@ jobs: echo ${{ secrets.GITHUB_TOKEN }} | helm registry login -u ${{ github.actor }} --password-stdin ${{ env.OCI_REGISTRY }} helm push ${{ env.ARTIFACT_DIR }}/${{ env.HELM_PACKAGE_DIR }}/radius-${{ env.CHART_VERSION }}.tgz oci://${{ env.OCI_REGISTRY }}/${{ env.OCI_REPOSITORY }} + build-and-push-bicep-types: + name: Publish Radius bicep types to ACR + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Parse release version and set environment variables + run: python ./.github/scripts/get_release_version.py + - name: Set up Go ${{ env.GOVER }} + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GOVER }} + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '18' + - name: Generate Bicep extensibility types from OpenAPI specs + run: | + make generate-bicep-types VERSION=${{ env.REL_CHANNEL == 'edge' && 'latest' || env.REL_CHANNEL }} + - name: Upload Radius Bicep types artifacts + uses: actions/upload-artifact@v4 + with: + name: radius-bicep-types + path: ./hack/bicep-types-radius/generated + if-no-files-found: error + - name: 'Login via Azure CLI' + if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')) + uses: azure/login@v2 + with: + client-id: ${{ secrets.BICEPTYPES_CLIENT_ID }} + tenant-id: ${{ secrets.BICEPTYPES_TENANT_ID }} + subscription-id: ${{ secrets.BICEPTYPES_SUBSCRIPTION_ID }} + - name: Setup and verify bicep CLI + if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')) + run: | + curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep + sudo mv ./bicep /usr/local/bin/bicep + bicep --version + - name: Publish bicep types + if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')) + run: | + bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.BICEP_TYPES_REGISTRY }}/radius:${{ env.REL_CHANNEL == 'edge' && 'latest' || env.REL_CHANNEL }} --force + publish-release: name: Publish GitHub Release needs: ["build-and-push-cli"] diff --git a/.github/workflows/functional-test-cloud.yaml b/.github/workflows/functional-test-cloud.yaml index d33a850c1d..e85f76e8b7 100644 --- a/.github/workflows/functional-test-cloud.yaml +++ b/.github/workflows/functional-test-cloud.yaml @@ -90,6 +90,8 @@ env: TF_RECIPE_PRIVATE_GIT_SOURCE: "git::https://github.com/radius-project/terraform-private-modules//kubernetes-redis" # The number of failed tests to report. ISSUE_CREATE_THRESHOLD: 2 + # bicep-types ACR url for uploading Radius Bicep types + BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io' jobs: build: @@ -348,10 +350,51 @@ jobs: append: true message: | :x: Test recipe publishing failed + + publish-test-bicep-types: + name: Publish Radius bicep types to ACR + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Parse release version and set environment variables + run: python ./.github/scripts/get_release_version.py + - name: Set up Go ${{ env.GOVER }} + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GOVER }} + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '18' + - name: Generate Bicep extensibility types from OpenAPI specs + run: | + make generate-bicep-types VERSION=${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} + - name: Upload Radius Bicep types artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.name }}_radius_bicep_types + path: ./hack/bicep-types-radius/generated + if-no-files-found: error + - name: 'Login via Azure CLI' + uses: azure/login@v2 + with: + client-id: ${{ secrets.BICEPTYPES_CLIENT_ID }} + tenant-id: ${{ secrets.BICEPTYPES_TENANT_ID }} + subscription-id: ${{ secrets.BICEPTYPES_SUBSCRIPTION_ID }} + - name: Setup and verify bicep CLI + run: | + curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep + sudo mv ./bicep /usr/local/bin/bicep + bicep --version + - name: Publish bicep types + run: | + bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} --force tests: name: Run ${{ matrix.name }} functional tests - needs: build + needs: [build, publish-test-bicep-types] if: github.event_name == 'repository_dispatch' || (github.event_name == 'schedule' && github.repository == 'radius-project/radius') || github.event_name == 'workflow_run' strategy: fail-fast: true @@ -593,7 +636,29 @@ jobs: - name: Publish Terraform test recipes run: | make publish-test-terraform-recipes - + - name: Generate test bicepconfig.json + run: | + if [[ "${{ env.REL_VERSION }}" == "edge" ]]; then + RADIUS_VERSION="latest" + else + RADIUS_VERSION="${{ env.REL_VERSION }}" + fi + cat < ./test/bicepconfig.json + { + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:$RADIUS_VERSION", + "aws": "br:${{ env.BICEP_TYPES_REGISTRY }}/aws:latest" + }, + "cloud": { + "credentialPrecedence": ["Environment"] + } + } + EOF - name: Run functional tests run: | # Ensure rad cli is in path before running tests. diff --git a/.github/workflows/functional-test-noncloud.yaml b/.github/workflows/functional-test-noncloud.yaml index 2fd8e98e73..b1eef1e1e7 100644 --- a/.github/workflows/functional-test-noncloud.yaml +++ b/.github/workflows/functional-test-noncloud.yaml @@ -80,6 +80,8 @@ env: LOCAL_REGISTRY_SERVER: "localhost" # Local Docker registry port LOCAL_REGISTRY_PORT: "5000" + # bicep-types ACR url for uploading Radius Bicep types + BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io' jobs: build: @@ -125,8 +127,7 @@ jobs: # Set output variables to be used in the other jobs echo "REL_VERSION=pr-${UNIQUE_ID}" >> $GITHUB_OUTPUT echo "DE_IMAGE=${{ env.DE_IMAGE }}" >> $GITHUB_OUTPUT - echo "DE_TAG=${{ env.DE_TAG }}" >> $GITHUB_OUTPUT - + echo "DE_TAG=${{ env.DE_TAG }}" >> $GITHUB_OUTPUT tests: name: Run ${{ matrix.name }} functional tests needs: build @@ -205,6 +206,22 @@ jobs: restore-keys: | ${{ runner.os }}-go- + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '18' + + - name: Generate Bicep extensibility types from OpenAPI specs + run: | + make generate-bicep-types VERSION=${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} + + - name: Upload Radius Bicep types artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.name }}_radius_bicep_types + path: ./hack/bicep-types-radius/generated + if-no-files-found: error + - name: Create a secure local registry id: create-local-registry uses: ./.github/actions/create-local-registry @@ -300,6 +317,41 @@ jobs: run: | make publish-test-terraform-recipes + - name: Setup and verify bicep CLI + run: | + curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep + sudo mv ./bicep /usr/local/bin/bicep + bicep --version + + - name: Publish bicep types + run: | + bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.LOCAL_REGISTRY_SERVER }}:${{ env.LOCAL_REGISTRY_PORT }}/radius:${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} --force + + - name: Generate test bicepconfig.json + run: | + if [[ "${{ env.REL_VERSION }}" == "edge" ]]; then + RADIUS_VERSION="latest" + else + RADIUS_VERSION="${{ env.REL_VERSION }}" + fi + cat < ./test/bicepconfig.json + { + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:${{ env.LOCAL_REGISTRY_SERVER }}:${{ env.LOCAL_REGISTRY_PORT }}/radius:$RADIUS_VERSION", + "aws": "br:${{ env.BICEP_TYPES_REGISTRY }}/aws:latest" + }, + "cloud": { + "credentialPrecedence": ["Environment"] + } + } + EOF + - name: Publish Bicep Test Recipes run: | export PATH=$GITHUB_WORKSPACE/bin:$PATH @@ -310,7 +362,7 @@ jobs: BICEP_RECIPE_TAG_VERSION: ${{ env.REL_VERSION }} TEMP_CERT_DIR: ${{ steps.create-local-registry.outputs.temp-cert-dir }} SSL_CERT_FILE: ${{ steps.create-local-registry.outputs.temp-cert-dir }}/certs/${{ env.LOCAL_REGISTRY_SERVER }}/client.crt - + - name: Run functional tests run: | # Ensure rad cli is in path before running tests. diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9e345caae1..cad5f69326 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -159,6 +159,13 @@ jobs: ref: main token: ${{ secrets.GH_RAD_CI_BOT_PAT }} path: dashboard + - name: Checkout radius-project/bicep-types-aws@main + uses: actions/checkout@v4 + with: + repository: radius-project/bicep-types-aws + ref: main + token: ${{ secrets.GH_RAD_CI_BOT_PAT }} + path: bicep-types-aws - name: Set up GitHub credentials run: | git config --global user.name "Radius CI Bot" @@ -226,3 +233,7 @@ jobs: if: success() && steps.release-branch-exists.outputs.result == 'false' run: | ./radius/.github/scripts/release-create-tag-and-branch.sh dashboard ${{ steps.get-version.outputs.release-version }} ${{ steps.get-version.outputs.release-branch-name }} + - name: Release radius-project/bicep-types-aws version ${{ steps.get-version.outputs.release-version }} + if: success() && steps.release-branch-exists.outputs.result == 'false' + run: | + ./radius/.github/scripts/release-create-tag-and-branch.sh bicep-types-aws ${{ steps.get-version.outputs.release-version }} ${{ steps.get-version.outputs.release-branch-name }} diff --git a/.github/workflows/validate-bicep.yaml b/.github/workflows/validate-bicep.yaml index cfcb5e045e..ea7fa50e2c 100644 --- a/.github/workflows/validate-bicep.yaml +++ b/.github/workflows/validate-bicep.yaml @@ -23,6 +23,9 @@ on: - main - release/* +permissions: + id-token: write # Required for requesting the JWT + concurrency: # Cancel the previously triggered build for only PR build. group: bicep-${{ github.event.pull_request.number || github.sha }} @@ -33,17 +36,15 @@ jobs: name: Validate Bicep Code runs-on: ubuntu-latest steps: + - name: Setup and verify bicep CLI + run: | + curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64 + chmod +x ./bicep + sudo mv ./bicep /usr/local/bin/bicep + bicep --version - name: Check out repo uses: actions/checkout@v4 - - name: Parse release version and set environment variables - run: python ./.github/scripts/get_release_version.py - - uses: oras-project/setup-oras@main - - name: Download rad-bicep - run: | - oras pull ghcr.io/radius-project/radius/bicep/rad-bicep/linux-x64:latest -o ./ - chmod +x rad-bicep - ./rad-bicep --version - name: Verify Bicep files run: ./build/validate-bicep.sh env: - BICEP_PATH: './rad-bicep' + BICEP_PATH: 'bicep' diff --git a/.gitignore b/.gitignore index e5db2846b6..de5d23cab4 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ vendor/ # Radius scaffolding app.bicep .rad/ +bicepconfig.json # Build Output bin/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..f96ac88eb5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "bicep-types"] + path = bicep-types + url = https://github.com/Azure/bicep-types diff --git a/.vscode/launch.json b/.vscode/launch.json index bc7805b00b..daf179be56 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -87,6 +87,21 @@ "RADIUSBACKENDURI": "http://localhost:9000", }, }, + { + "name": "Debug Bicep generator integration tests", + "type": "node", + "request": "launch", + "runtimeArgs": [ + "--inspect-brk", + "${workspaceRoot}/hack/bicep-types-radius/src/autorest.bicep/node_modules/.bin/jest", + "--runInBand", + "--no-cache" + ], + "cwd": "${workspaceFolder}/hack/bicep-types-radius/src/autorest.bicep/src", + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen", + "sourceMaps": true + }, ], "compounds": [ { diff --git a/README.md b/README.md index 3818068cae..95e247604e 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,6 @@ In addition, we have the below repositories. | [Samples](https://github.com/radius-project/samples) | This repository contains the source code for quickstarts, reference apps, and tutorials for Radius. | [Recipes](https://github.com/radius-project/recipes) | This repo contains commonly used Recipe templates for Radius Environments. | [Website](https://github.com/radius-project/website) | This repository contains the source code for the Radius website. -| [Bicep](https://github.com/radius-project/bicep) | This repository contains source code for Bicep, which is a DSL for deploying cloud resources types. | [AWS Bicep Types](https://github.com/radius-project/bicep-types-aws) | This repository contains the tooling for Bicep support for AWS resource types. diff --git a/bicep-types b/bicep-types new file mode 160000 index 0000000000..cd259b27f7 --- /dev/null +++ b/bicep-types @@ -0,0 +1 @@ +Subproject commit cd259b27f74712776ea53eb2d179560510e15318 diff --git a/bicepconfig.json b/bicepconfig.json new file mode 100644 index 0000000000..8dfaeb32b7 --- /dev/null +++ b/bicepconfig.json @@ -0,0 +1,14 @@ +{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:latest", + "aws": "br:biceptypes.azurecr.io/aws:latest" + }, + "cloud": { + "credentialPrecedence": ["Environment"] + } +} \ No newline at end of file diff --git a/build/generate.mk b/build/generate.mk index c646614b22..51996e3aec 100644 --- a/build/generate.mk +++ b/build/generate.mk @@ -116,11 +116,12 @@ generate-go: generate-mockgen-installed ## Generates go with 'go generate' (Mock generate-bicep-types: generate-node-installed ## Generate Bicep extensibility types @echo "$(ARROW) Generating Bicep extensibility types from OpenAPI specs..." @echo "$(ARROW) Build autorest.bicep..." - cd hack/bicep-types-radius/src/autorest.bicep; \ - npm ci && npm run build; \ - cd ../generator; \ + git submodule update --init --recursive; \ + npm --prefix bicep-types/src/bicep-types install; \ + npm --prefix bicep-types/src/bicep-types ci && npm --prefix bicep-types/src/bicep-types run build; \ + npm --prefix hack/bicep-types-radius/src/autorest.bicep ci && npm --prefix hack/bicep-types-radius/src/autorest.bicep run build; \ echo "Run generator from hack/bicep-types-radius/src/generator dir"; \ - npm ci && npm run generate -- --specs-dir ../../../../swagger --verbose + npm --prefix hack/bicep-types-radius/src/generator ci && npm --prefix hack/bicep-types-radius/src/generator run generate -- --specs-dir ../../../../swagger --release-version ${VERSION} --verbose # go-get-tool will 'go get' any package $2 and install it to $1. PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.. diff --git a/build/validate-bicep.sh b/build/validate-bicep.sh index 2d52a61c58..5d9865f83e 100755 --- a/build/validate-bicep.sh +++ b/build/validate-bicep.sh @@ -5,31 +5,61 @@ then exit 1 fi +WARNING_MSG="WARNING: The following experimental Bicep features" FILES=$(find . -type f -name "*.bicep") + +# Get the first bicep file with Radius and AWS extensions from the list to restore extensions +FIRST_FILE_RAD="" +FIRST_FILE_AWS="" +for F in $FILES +do + # Check if the file contains the word "extension radius" + if [ -z "$FIRST_FILE_RAD" ] && grep -q "extension radius" "$F"; then + FIRST_FILE_RAD="$F" + fi + # Check if the file contains the word "extension aws" + if [ -z "$FIRST_FILE_AWS" ] && grep -q "extension aws" "$F"; then + FIRST_FILE_AWS="$F" + fi + # Break the loop if both files are found + if [ -n "$FIRST_FILE_RAD" ] && [ -n "$FIRST_FILE_AWS" ]; then + break + fi +done + +# Restore the extensions once +echo "running Radius: $BICEP_PATH build $FIRST_FILE_RAD" +STDERR=$($BICEP_PATH build $FIRST_FILE_RAD --stdout 2>&1 1>/dev/null) +echo "Restoring Radius extension with response: $STDERR..." + +echo "running AWS: $BICEP_PATH build $FIRST_FILE_AWS" +STDERR=$($BICEP_PATH build $FIRST_FILE_AWS --stdout 2>&1 1>/dev/null) +echo "Restoring AWS extension with response: $STDERR..." + FAILURES=() for F in $FILES do echo "validating $F" - # We need to run the rad-bicep and fail in one of two cases: + # We need to run bicep and fail in one of two cases: # - non-zero exit code # - non-empty stderr # # We also don't want to dirty any files on disk. # # This complicated little block does that: - # - Compiled output (ARM templates) go to rad-bicep's stdout - # - rad-bicep's stdout goes to /dev/null - # - rad-bicep's stderr goes to the variable - if grep -q "import radius as radius" $F + # - Compiled output (ARM templates) go to bicep's stdout + # - bicep's stdout goes to /dev/null + # - bicep's stderr goes to the variable + if grep -q "extension" $F then exec 3>&1 - echo "running: $BICEP_PATH build $F" - STDERR=$($BICEP_PATH build $F --stdout 2>&1 1>/dev/null) + echo "running: $BICEP_PATH build --no-restore $F" + STDERR=$($BICEP_PATH build --no-restore $F --stdout 2>&1 1>/dev/null) EXITCODE=$? exec 3>&- fi - if [[ ! $EXITCODE -eq 0 || ! -z $STDERR ]] + if [[ ! $EXITCODE -eq 0 || ($STDERR != $WARNING_MSG* && $STDERR == *"Error"*) ]] then echo $STDERR FAILURES+=$F diff --git a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md index 836b47c518..d3cef90199 100644 --- a/docs/contributing/contributing-code/contributing-code-schema-changes/README.md +++ b/docs/contributing/contributing-code/contributing-code-schema-changes/README.md @@ -35,9 +35,7 @@ In order to update or create a new schema follow these steps: 1. Add any necessary changes to the Radius resource provider to support the newly added types. 1. Add any necessary tests, as needed. -1. Open a pull request in the Radius repo. - -Creating a pull request in the Radius repo that contains application model changes triggers an automated pull request in bicep repo with the bicep type changes. You will merge this in step 3. +1. Open a pull request in the Radius repo. ## Step 2: Update docs and samples @@ -45,9 +43,52 @@ Visit the [docs](https://github.com/radius-project/docs/) and [samples](https:// ## Step 3: Merge pull requests in order -⚠️ Make sure you have PRs open and ready to merge within the radius, bicep, docs, and samples repositories. Do not proceed until all the PRs are ready and approved. +⚠️ Make sure you have PRs open and ready to merge within the radius, docs, and samples repositories. Do not proceed until all the PRs are ready and approved. + +1. **Samples Repository**: Merging the PR in samples repo may not be straightforward, as we currently have a cyclic dependency between samples and radius repositories (_i.e "Test Quickstarts" task in samples pipeline run would fail as it runs on the main branch of Radius which doesn't have the latest changes as Radius PR is blocked on the samples PR for bicep files update._) You need to have a repo admin force merge the samples PR. +2. **Radius Repository**: After the PR from the samples repositories are merged, re-run the checks to make sure there are no failures to merge the Radius PR. +3. **Docs Repository**: Rerun any failed checks and merge the PR from docs repo with updated Bicep files changes. + +# Testing schema changes locally + +If you would like to test that your schema changes are compilable in a Bicep template, you can do so by publishing them to an OCI registry using the [Bicep CLI](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/). + +## Step 1: Download the Bicep CLI + +1. Follow the steps in the Bicep [documentation](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/install) to download Bicep + +## Step 2: Create an OCI compliant registry + +1. Create an OCI compliant registry of your choice. Keep the registry endpoint handy for the next steps. + +## Step 3: Upload the new schema types to an OCI registry +1. Run `make generate` to generate the OpenAPI spec and API clients: -1. **Bicep Repository**: Begin by merging the bicep repo PR. This will update the Bicep types which will allow the other PRs to properly build and be merged. -2. **Docs Repository**: Rerun any failed checks and merge the PR from docs repo with updated Bicep files changes. -3. **Samples Repository**: Merging the PR in samples repo may not be straightforward, as we currently have a cyclic dependency between samples and radius repositories (_i.e "Test Quickstarts" task in samples pipeline run would fail as it runs on the main branch of Radius which doesn't have the latest changes as Radius PR is blocked on the samples PR for bicep files update._) You need to have a repo admin force merge the samples PR. -4. **Radius Repository**: After the PRs from the bicep, docs and samples repositories are merged, re-run the checks to make sure there are no failures to merge the Radius PR. + ```bash + make generate + ``` + +1. `cd` into the `hack/bicep-types-radius/generated` folder +1. Run `bicep publish-provider --target ` to upload the schema changes to your OCI registry. The file uploaded will be the `index.json` file as it contains all references to the types schema. + + ```bash + bicep publish-extension index.json --target + ``` + +## Step 4: Update the `bicepconfig.json` to use your newly published types + +1. Update the `bicepconfig.json` file in the root folder to reference your new published types. + ```json + { + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:", + "aws": "br:" + } + } + ``` +1. Once Bicep restores the new extensions, you should be able to use the new schema changes in your Bicep templates. \ No newline at end of file diff --git a/docs/contributing/contributing-code/contributing-code-tests/running-functional-tests.md b/docs/contributing/contributing-code/contributing-code-tests/running-functional-tests.md index 80143faa6a..b730e90062 100644 --- a/docs/contributing/contributing-code/contributing-code-tests/running-functional-tests.md +++ b/docs/contributing/contributing-code/contributing-code-tests/running-functional-tests.md @@ -5,7 +5,7 @@ You can find the functional tests under `./test/functional`. A functional test ( These tests verify whether: - That Radius Environment can be created successfully. -- That Bicep templates of sample applications ca be deployed to the Radius Environment. +- That Bicep templates of sample applications can be deployed to the Radius Environment. ## Running via GitHub workflow diff --git a/docs/contributing/contributing-releases/README.md b/docs/contributing/contributing-releases/README.md index 53e1d240a7..df63872945 100644 --- a/docs/contributing/contributing-releases/README.md +++ b/docs/contributing/contributing-releases/README.md @@ -15,7 +15,6 @@ Each release belongs to a *channel* named `.`. Releases will only interact with assets from their channel. For example, the `0.1` `rad` CLI will: -- Download `rad-bicep` from the `0.1` channel - Create an environment using the `0.1` version of the RP and environment setup script > ⚠️ Compatibility ⚠️ diff --git a/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json index 97103f765c..a8fad28162 100644 --- a/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json +++ b/hack/bicep-types-radius/generated/applications/applications.core/2023-10-01-preview/types.json @@ -1 +1,3414 @@ -[{"1":{"Kind":1}},{"1":{"Kind":2}},{"1":{"Kind":3}},{"1":{"Kind":4}},{"1":{"Kind":5}},{"1":{"Kind":6}},{"1":{"Kind":7}},{"1":{"Kind":8}},{"6":{"Value":"Applications.Core/applications"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/applications","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":8,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":9,"Flags":10,"Description":"The resource api version"},"properties":{"Type":11,"Flags":1,"Description":"Application properties"},"tags":{"Type":46,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"ApplicationProperties","Properties":{"provisioningState":{"Type":19,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the application is linked to"},"extensions":{"Type":34,"Flags":0,"Description":"The application extension."},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[12,13,14,15,16,17,18]}},{"7":{"Name":"Extension","Discriminator":"kind","BaseProperties":{},"Elements":{"daprSidecar":21,"kubernetesMetadata":26,"kubernetesNamespace":30,"manualScaling":32}}},{"2":{"Name":"DaprSidecarExtension","Properties":{"appPort":{"Type":3,"Flags":0,"Description":"The Dapr appPort. Specifies the internal listening port for the application to handle requests from the Dapr sidecar."},"appId":{"Type":4,"Flags":1,"Description":"The Dapr appId. Specifies the identifier used by Dapr for service invocation."},"config":{"Type":4,"Flags":0,"Description":"Specifies the Dapr configuration to use for the resource."},"protocol":{"Type":24,"Flags":0,"Description":"The Dapr sidecar extension protocol"},"kind":{"Type":25,"Flags":1,"Description":"Discriminator property for Extension."}}}},{"6":{"Value":"http"}},{"6":{"Value":"grpc"}},{"5":{"Elements":[22,23]}},{"6":{"Value":"daprSidecar"}},{"2":{"Name":"KubernetesMetadataExtension","Properties":{"annotations":{"Type":27,"Flags":0,"Description":"Annotations to be applied to the Kubernetes resources output by the resource"},"labels":{"Type":28,"Flags":0,"Description":"Labels to be applied to the Kubernetes resources output by the resource"},"kind":{"Type":29,"Flags":1,"Description":"Discriminator property for Extension."}}}},{"2":{"Name":"KubernetesMetadataExtensionAnnotations","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"KubernetesMetadataExtensionLabels","Properties":{},"AdditionalProperties":4}},{"6":{"Value":"kubernetesMetadata"}},{"2":{"Name":"KubernetesNamespaceExtension","Properties":{"namespace":{"Type":4,"Flags":1,"Description":"The namespace of the application environment."},"kind":{"Type":31,"Flags":1,"Description":"Discriminator property for Extension."}}}},{"6":{"Value":"kubernetesNamespace"}},{"2":{"Name":"ManualScalingExtension","Properties":{"replicas":{"Type":3,"Flags":1,"Description":"Replica count."},"kind":{"Type":33,"Flags":1,"Description":"Discriminator property for Extension."}}}},{"6":{"Value":"manualScaling"}},{"3":{"ItemType":20}},{"2":{"Name":"ResourceStatus","Properties":{"compute":{"Type":36,"Flags":0,"Description":"Represents backing compute resource"},"recipe":{"Type":43,"Flags":2,"Description":"Recipe status at deployment time for a resource."},"outputResources":{"Type":45,"Flags":0,"Description":"Properties of an output resource"}}}},{"7":{"Name":"EnvironmentCompute","Discriminator":"kind","BaseProperties":{"resourceId":{"Type":4,"Flags":0,"Description":"The resource id of the compute resource for application environment."},"identity":{"Type":37,"Flags":0,"Description":"IdentitySettings is the external identity setting."}},"Elements":{"kubernetes":41}}},{"2":{"Name":"IdentitySettings","Properties":{"kind":{"Type":40,"Flags":1,"Description":"IdentitySettingKind is the kind of supported external identity setting"},"oidcIssuer":{"Type":4,"Flags":0,"Description":"The URI for your compute platform's OIDC issuer"},"resource":{"Type":4,"Flags":0,"Description":"The resource ID of the provisioned identity"}}}},{"6":{"Value":"undefined"}},{"6":{"Value":"azure.com.workload"}},{"5":{"Elements":[38,39]}},{"2":{"Name":"KubernetesCompute","Properties":{"namespace":{"Type":4,"Flags":1,"Description":"The namespace to use for the environment."},"kind":{"Type":42,"Flags":1,"Description":"Discriminator property for EnvironmentCompute."}}}},{"6":{"Value":"kubernetes"}},{"2":{"Name":"RecipeStatus","Properties":{"templateKind":{"Type":4,"Flags":1,"Description":"TemplateKind is the kind of the recipe template used by the portable resource upon deployment."},"templatePath":{"Type":4,"Flags":1,"Description":"TemplatePath is the path of the recipe consumed by the portable resource upon deployment."},"templateVersion":{"Type":4,"Flags":0,"Description":"TemplateVersion is the version number of the template."}}}},{"2":{"Name":"OutputResource","Properties":{"localId":{"Type":4,"Flags":0,"Description":"The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships."},"id":{"Type":4,"Flags":0,"Description":"The UCP resource ID of the underlying resource."},"radiusManaged":{"Type":2,"Flags":0,"Description":"Determines whether Radius manages the lifecycle of the underlying resource."}}}},{"3":{"ItemType":44}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"SystemData","Properties":{"createdBy":{"Type":4,"Flags":0,"Description":"The identity that created the resource."},"createdByType":{"Type":52,"Flags":0,"Description":"The type of identity that created the resource."},"createdAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource creation (UTC)."},"lastModifiedBy":{"Type":4,"Flags":0,"Description":"The identity that last modified the resource."},"lastModifiedByType":{"Type":57,"Flags":0,"Description":"The type of identity that created the resource."},"lastModifiedAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource last modification (UTC)"}}}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[48,49,50,51]}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[53,54,55,56]}},{"4":{"Name":"Applications.Core/applications@2023-10-01-preview","ScopeType":0,"Body":10}},{"6":{"Value":"Applications.Core/containers"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/containers","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":59,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":60,"Flags":10,"Description":"The resource api version"},"properties":{"Type":62,"Flags":1,"Description":"Container properties"},"tags":{"Type":122,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"ContainerProperties","Properties":{"environment":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the environment that the application is linked to"},"application":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the application"},"provisioningState":{"Type":70,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."},"container":{"Type":71,"Flags":1,"Description":"Definition of a container"},"connections":{"Type":108,"Flags":0,"Description":"Specifies a connection to another resource."},"identity":{"Type":37,"Flags":0,"Description":"IdentitySettings is the external identity setting."},"extensions":{"Type":109,"Flags":0,"Description":"Extensions spec of the resource"},"resourceProvisioning":{"Type":112,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'internal', where Radius manages the lifecycle of the resource internally, and 'manual', where a user manages the resource."},"resources":{"Type":114,"Flags":0,"Description":"A collection of references to resources associated with the container"},"restartPolicy":{"Type":118,"Flags":0,"Description":"Restart policy for the container"},"runtimes":{"Type":119,"Flags":0,"Description":"The properties for runtime configuration"}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[63,64,65,66,67,68,69]}},{"2":{"Name":"Container","Properties":{"image":{"Type":4,"Flags":1,"Description":"The registry and image to download and run in your container"},"imagePullPolicy":{"Type":75,"Flags":0,"Description":"The image pull policy for the container"},"env":{"Type":76,"Flags":0,"Description":"environment"},"ports":{"Type":81,"Flags":0,"Description":"container ports"},"readinessProbe":{"Type":82,"Flags":0,"Description":"Properties for readiness/liveness probe"},"livenessProbe":{"Type":82,"Flags":0,"Description":"Properties for readiness/liveness probe"},"volumes":{"Type":101,"Flags":0,"Description":"container volumes"},"command":{"Type":102,"Flags":0,"Description":"Entrypoint array. Overrides the container image's ENTRYPOINT"},"args":{"Type":103,"Flags":0,"Description":"Arguments to the entrypoint. Overrides the container image's CMD"},"workingDir":{"Type":4,"Flags":0,"Description":"Working directory for the container"}}}},{"6":{"Value":"Always"}},{"6":{"Value":"IfNotPresent"}},{"6":{"Value":"Never"}},{"5":{"Elements":[72,73,74]}},{"2":{"Name":"ContainerEnv","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"ContainerPortProperties","Properties":{"containerPort":{"Type":3,"Flags":1,"Description":"The listening port number"},"protocol":{"Type":80,"Flags":0,"Description":"The protocol in use by the port"},"scheme":{"Type":4,"Flags":0,"Description":"Specifies the URL scheme of the communication protocol. Consumers can use the scheme to construct a URL. The value defaults to 'http' or 'https' depending on the port value"},"port":{"Type":3,"Flags":0,"Description":"Specifies the port that will be exposed by this container. Must be set when value different from containerPort is desired"}}}},{"6":{"Value":"TCP"}},{"6":{"Value":"UDP"}},{"5":{"Elements":[78,79]}},{"2":{"Name":"ContainerPorts","Properties":{},"AdditionalProperties":77}},{"7":{"Name":"HealthProbeProperties","Discriminator":"kind","BaseProperties":{"initialDelaySeconds":{"Type":3,"Flags":0,"Description":"Initial delay in seconds before probing for readiness/liveness"},"failureThreshold":{"Type":3,"Flags":0,"Description":"Threshold number of times the probe fails after which a failure would be reported"},"periodSeconds":{"Type":3,"Flags":0,"Description":"Interval for the readiness/liveness probe in seconds"},"timeoutSeconds":{"Type":3,"Flags":0,"Description":"Number of seconds after which the readiness/liveness probe times out. Defaults to 5 seconds"}},"Elements":{"exec":83,"httpGet":85,"tcp":88}}},{"2":{"Name":"ExecHealthProbeProperties","Properties":{"command":{"Type":4,"Flags":1,"Description":"Command to execute to probe readiness/liveness"},"kind":{"Type":84,"Flags":1,"Description":"Discriminator property for HealthProbeProperties."}}}},{"6":{"Value":"exec"}},{"2":{"Name":"HttpGetHealthProbeProperties","Properties":{"containerPort":{"Type":3,"Flags":1,"Description":"The listening port number"},"path":{"Type":4,"Flags":1,"Description":"The route to make the HTTP request on"},"headers":{"Type":86,"Flags":0,"Description":"Custom HTTP headers to add to the get request"},"kind":{"Type":87,"Flags":1,"Description":"Discriminator property for HealthProbeProperties."}}}},{"2":{"Name":"HttpGetHealthProbePropertiesHeaders","Properties":{},"AdditionalProperties":4}},{"6":{"Value":"httpGet"}},{"2":{"Name":"TcpHealthProbeProperties","Properties":{"containerPort":{"Type":3,"Flags":1,"Description":"The listening port number"},"kind":{"Type":89,"Flags":1,"Description":"Discriminator property for HealthProbeProperties."}}}},{"6":{"Value":"tcp"}},{"7":{"Name":"Volume","Discriminator":"kind","BaseProperties":{"mountPath":{"Type":4,"Flags":0,"Description":"The path where the volume is mounted"}},"Elements":{"ephemeral":91,"persistent":96}}},{"2":{"Name":"EphemeralVolume","Properties":{"managedStore":{"Type":94,"Flags":1,"Description":"The managed store for the ephemeral volume"},"kind":{"Type":95,"Flags":1,"Description":"Discriminator property for Volume."}}}},{"6":{"Value":"memory"}},{"6":{"Value":"disk"}},{"5":{"Elements":[92,93]}},{"6":{"Value":"ephemeral"}},{"2":{"Name":"PersistentVolume","Properties":{"permission":{"Type":99,"Flags":0,"Description":"The persistent volume permission"},"source":{"Type":4,"Flags":1,"Description":"The source of the volume"},"kind":{"Type":100,"Flags":1,"Description":"Discriminator property for Volume."}}}},{"6":{"Value":"read"}},{"6":{"Value":"write"}},{"5":{"Elements":[97,98]}},{"6":{"Value":"persistent"}},{"2":{"Name":"ContainerVolumes","Properties":{},"AdditionalProperties":90}},{"3":{"ItemType":4}},{"3":{"ItemType":4}},{"2":{"Name":"ConnectionProperties","Properties":{"source":{"Type":4,"Flags":1,"Description":"The source of the connection"},"disableDefaultEnvVars":{"Type":2,"Flags":0,"Description":"default environment variable override"},"iam":{"Type":105,"Flags":0,"Description":"IAM properties"}}}},{"2":{"Name":"IamProperties","Properties":{"kind":{"Type":106,"Flags":1,"Description":"The kind of IAM provider to configure"},"roles":{"Type":107,"Flags":0,"Description":"RBAC permissions to be assigned on the source resource"}}}},{"6":{"Value":"azure"}},{"3":{"ItemType":4}},{"2":{"Name":"ContainerPropertiesConnections","Properties":{},"AdditionalProperties":104}},{"3":{"ItemType":20}},{"6":{"Value":"internal"}},{"6":{"Value":"manual"}},{"5":{"Elements":[110,111]}},{"2":{"Name":"ResourceReference","Properties":{"id":{"Type":4,"Flags":1,"Description":"Resource id of an existing resource"}}}},{"3":{"ItemType":113}},{"6":{"Value":"Always"}},{"6":{"Value":"OnFailure"}},{"6":{"Value":"Never"}},{"5":{"Elements":[115,116,117]}},{"2":{"Name":"RuntimesProperties","Properties":{"kubernetes":{"Type":120,"Flags":0,"Description":"The runtime configuration properties for Kubernetes"}}}},{"2":{"Name":"KubernetesRuntimeProperties","Properties":{"base":{"Type":4,"Flags":0,"Description":"The serialized YAML manifest which represents the base Kubernetes resources to deploy, such as Deployment, Service, ServiceAccount, Secrets, and ConfigMaps."},"pod":{"Type":121,"Flags":0,"Description":"A strategic merge patch that will be applied to the PodSpec object when this container is being deployed."}}}},{"2":{"Name":"KubernetesPodSpec","Properties":{},"AdditionalProperties":0}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/containers@2023-10-01-preview","ScopeType":0,"Body":61}},{"6":{"Value":"Applications.Core/environments"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/environments","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":124,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":125,"Flags":10,"Description":"The resource api version"},"properties":{"Type":127,"Flags":1,"Description":"Environment properties"},"tags":{"Type":160,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"EnvironmentProperties","Properties":{"provisioningState":{"Type":135,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"compute":{"Type":36,"Flags":1,"Description":"Represents backing compute resource"},"providers":{"Type":136,"Flags":0,"Description":"The Cloud providers configuration."},"simulated":{"Type":2,"Flags":0,"Description":"Simulated environment."},"recipes":{"Type":145,"Flags":0,"Description":"Specifies Recipes linked to the Environment."},"recipeConfig":{"Type":146,"Flags":0,"Description":"Configuration for Recipes. Defines how each type of Recipe should be configured and run."},"extensions":{"Type":159,"Flags":0,"Description":"The environment extension."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[128,129,130,131,132,133,134]}},{"2":{"Name":"Providers","Properties":{"azure":{"Type":137,"Flags":0,"Description":"The Azure cloud provider definition."},"aws":{"Type":138,"Flags":0,"Description":"The AWS cloud provider definition."}}}},{"2":{"Name":"ProvidersAzure","Properties":{"scope":{"Type":4,"Flags":1,"Description":"Target scope for Azure resources to be deployed into. For example: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup'."}}}},{"2":{"Name":"ProvidersAws","Properties":{"scope":{"Type":4,"Flags":1,"Description":"Target scope for AWS resources to be deployed into. For example: '/planes/aws/aws/accounts/000000000000/regions/us-west-2'."}}}},{"7":{"Name":"RecipeProperties","Discriminator":"templateKind","BaseProperties":{"templatePath":{"Type":4,"Flags":1,"Description":"Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported."},"parameters":{"Type":0,"Flags":0,"Description":"Any object"}},"Elements":{"bicep":140,"terraform":142}}},{"2":{"Name":"BicepRecipeProperties","Properties":{"plainHttp":{"Type":2,"Flags":0,"Description":"Connect to the Bicep registry using HTTP (not-HTTPS). This should be used when the registry is known not to support HTTPS, for example in a locally-hosted registry. Defaults to false (use HTTPS/TLS)."},"templateKind":{"Type":141,"Flags":1,"Description":"Discriminator property for RecipeProperties."}}}},{"6":{"Value":"bicep"}},{"2":{"Name":"TerraformRecipeProperties","Properties":{"templateVersion":{"Type":4,"Flags":0,"Description":"Version of the template to deploy. For Terraform recipes using a module registry this is required, but must be omitted for other module sources."},"templateKind":{"Type":143,"Flags":1,"Description":"Discriminator property for RecipeProperties."}}}},{"6":{"Value":"terraform"}},{"2":{"Name":"DictionaryOfRecipeProperties","Properties":{},"AdditionalProperties":139}},{"2":{"Name":"EnvironmentPropertiesRecipes","Properties":{},"AdditionalProperties":144}},{"2":{"Name":"RecipeConfigProperties","Properties":{"terraform":{"Type":147,"Flags":0,"Description":"Configuration for Terraform Recipes. Controls how Terraform plans and applies templates as part of Recipe deployment."},"env":{"Type":157,"Flags":0,"Description":"The environment variables injected during Terraform Recipe execution for the recipes in the environment."},"envSecrets":{"Type":158,"Flags":0,"Description":"Environment variables containing sensitive information can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource."}}}},{"2":{"Name":"TerraformConfigProperties","Properties":{"authentication":{"Type":148,"Flags":0,"Description":"Authentication information used to access private Terraform module sources. Supported module sources: Git."},"providers":{"Type":156,"Flags":0,"Description":"Configuration for Terraform Recipe Providers. Controls how Terraform interacts with cloud providers, SaaS providers, and other APIs. For more information, please see: https://developer.hashicorp.com/terraform/language/providers/configuration."}}}},{"2":{"Name":"AuthConfig","Properties":{"git":{"Type":149,"Flags":0,"Description":"Authentication information used to access private Terraform modules from Git repository sources."}}}},{"2":{"Name":"GitAuthConfig","Properties":{"pat":{"Type":151,"Flags":0,"Description":"Personal Access Token (PAT) configuration used to authenticate to Git platforms."}}}},{"2":{"Name":"SecretConfig","Properties":{"secret":{"Type":4,"Flags":0,"Description":"The ID of an Applications.Core/SecretStore resource containing the Git platform personal access token (PAT). The secret store must have a secret named 'pat', containing the PAT value. A secret named 'username' is optional, containing the username associated with the pat. By default no username is specified."}}}},{"2":{"Name":"GitAuthConfigPat","Properties":{},"AdditionalProperties":150}},{"2":{"Name":"ProviderConfigProperties","Properties":{"secrets":{"Type":154,"Flags":0,"Description":"Sensitive data in provider configuration can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource."}},"AdditionalProperties":0}},{"2":{"Name":"SecretReference","Properties":{"source":{"Type":4,"Flags":1,"Description":"The ID of an Applications.Core/SecretStore resource containing sensitive data required for recipe execution."},"key":{"Type":4,"Flags":1,"Description":"The key for the secret in the secret store."}}}},{"2":{"Name":"ProviderConfigPropertiesSecrets","Properties":{},"AdditionalProperties":153}},{"3":{"ItemType":152}},{"2":{"Name":"TerraformConfigPropertiesProviders","Properties":{},"AdditionalProperties":155}},{"2":{"Name":"EnvironmentVariables","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"RecipeConfigPropertiesEnvSecrets","Properties":{},"AdditionalProperties":153}},{"3":{"ItemType":20}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/environments@2023-10-01-preview","ScopeType":0,"Body":126}},{"6":{"Value":"Applications.Core/extenders"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/extenders","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":162,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":163,"Flags":10,"Description":"The resource api version"},"properties":{"Type":165,"Flags":1,"Description":"ExtenderResource portable resource properties"},"tags":{"Type":178,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"ExtenderProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":173,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."},"secrets":{"Type":0,"Flags":0,"Description":"Any object"},"recipe":{"Type":174,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":177,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}},"AdditionalProperties":0}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[166,167,168,169,170,171,172]}},{"2":{"Name":"Recipe","Properties":{"name":{"Type":4,"Flags":1,"Description":"The name of the recipe within the environment to use"},"parameters":{"Type":0,"Flags":0,"Description":"Any object"}}}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[175,176]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/extenders@2023-10-01-preview","ScopeType":0,"Body":164}},{"6":{"Value":"Applications.Core/gateways"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/gateways","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":180,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":181,"Flags":10,"Description":"The resource api version"},"properties":{"Type":183,"Flags":1,"Description":"Gateway properties"},"tags":{"Type":199,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"GatewayProperties","Properties":{"environment":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the environment that the application is linked to"},"application":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the application"},"provisioningState":{"Type":191,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."},"internal":{"Type":2,"Flags":0,"Description":"Sets Gateway to not be exposed externally (no public IP address associated). Defaults to false (exposed to internet)."},"hostname":{"Type":192,"Flags":0,"Description":"Declare hostname information for the Gateway. Leaving the hostname empty auto-assigns one: mygateway.myapp.PUBLICHOSTNAMEORIP.nip.io."},"routes":{"Type":194,"Flags":1,"Description":"Routes attached to this Gateway"},"tls":{"Type":195,"Flags":0,"Description":"TLS configuration definition for Gateway resource."},"url":{"Type":4,"Flags":2,"Description":"URL of the gateway resource. Readonly"}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[184,185,186,187,188,189,190]}},{"2":{"Name":"GatewayHostname","Properties":{"prefix":{"Type":4,"Flags":0,"Description":"Specify a prefix for the hostname: myhostname.myapp.PUBLICHOSTNAMEORIP.nip.io. Mutually exclusive with 'fullyQualifiedHostname' and will be overridden if both are defined."},"fullyQualifiedHostname":{"Type":4,"Flags":0,"Description":"Specify a fully-qualified domain name: myapp.mydomain.com. Mutually exclusive with 'prefix' and will take priority if both are defined."}}}},{"2":{"Name":"GatewayRoute","Properties":{"path":{"Type":4,"Flags":0,"Description":"The path to match the incoming request path on. Ex - /myservice."},"destination":{"Type":4,"Flags":0,"Description":"The URL or id of the service to route to. Ex - 'http://myservice'."},"replacePrefix":{"Type":4,"Flags":0,"Description":"Optionally update the prefix when sending the request to the service. Ex - replacePrefix: '/' and path: '/myservice' will transform '/myservice/myroute' to '/myroute'"},"enableWebsockets":{"Type":2,"Flags":0,"Description":"Enables websocket support for the route. Defaults to false."}}}},{"3":{"ItemType":193}},{"2":{"Name":"GatewayTls","Properties":{"sslPassthrough":{"Type":2,"Flags":0,"Description":"If true, gateway lets the https traffic sslPassthrough to the backend servers for decryption."},"minimumProtocolVersion":{"Type":198,"Flags":0,"Description":"Tls Minimum versions for Gateway resource."},"certificateFrom":{"Type":4,"Flags":0,"Description":"The resource id for the secret containing the TLS certificate and key for the gateway."}}}},{"6":{"Value":"1.2"}},{"6":{"Value":"1.3"}},{"5":{"Elements":[196,197]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/gateways@2023-10-01-preview","ScopeType":0,"Body":182}},{"6":{"Value":"Applications.Core/secretStores"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/secretStores","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":201,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":202,"Flags":10,"Description":"The resource api version"},"properties":{"Type":204,"Flags":1,"Description":"The properties of SecretStore"},"tags":{"Type":222,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"SecretStoreProperties","Properties":{"environment":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the environment that the application is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application"},"provisioningState":{"Type":212,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."},"type":{"Type":215,"Flags":0,"Description":"The type of SecretStore data"},"data":{"Type":221,"Flags":1,"Description":"An object to represent key-value type secrets"},"resource":{"Type":4,"Flags":0,"Description":"The resource id of external secret store."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[205,206,207,208,209,210,211]}},{"6":{"Value":"generic"}},{"6":{"Value":"certificate"}},{"5":{"Elements":[213,214]}},{"2":{"Name":"SecretValueProperties","Properties":{"encoding":{"Type":219,"Flags":0,"Description":"The type of SecretValue Encoding"},"value":{"Type":4,"Flags":0,"Description":"The value of secret."},"valueFrom":{"Type":220,"Flags":0,"Description":"The Secret value source properties"}}}},{"6":{"Value":"raw"}},{"6":{"Value":"base64"}},{"5":{"Elements":[217,218]}},{"2":{"Name":"ValueFromProperties","Properties":{"name":{"Type":4,"Flags":1,"Description":"The name of the referenced secret."},"version":{"Type":4,"Flags":0,"Description":"The version of the referenced secret."}}}},{"2":{"Name":"SecretStorePropertiesData","Properties":{},"AdditionalProperties":216}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/secretStores@2023-10-01-preview","ScopeType":0,"Body":203}},{"6":{"Value":"Applications.Core/volumes"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Core/volumes","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":224,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":225,"Flags":10,"Description":"The resource api version"},"properties":{"Type":227,"Flags":1,"Description":"Volume properties"},"tags":{"Type":259,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":47,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"7":{"Name":"VolumeProperties","Discriminator":"kind","BaseProperties":{"environment":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the environment that the application is linked to"},"application":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the application"},"provisioningState":{"Type":235,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":35,"Flags":2,"Description":"Status of a resource."}},"Elements":{"azure.com.keyvault":236}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[228,229,230,231,232,233,234]}},{"2":{"Name":"AzureKeyVaultVolumeProperties","Properties":{"certificates":{"Type":249,"Flags":0,"Description":"The KeyVault certificates that this volume exposes"},"keys":{"Type":251,"Flags":0,"Description":"The KeyVault keys that this volume exposes"},"resource":{"Type":4,"Flags":1,"Description":"The ID of the keyvault to use for this volume resource"},"secrets":{"Type":257,"Flags":0,"Description":"The KeyVault secrets that this volume exposes"},"kind":{"Type":258,"Flags":1,"Description":"Discriminator property for VolumeProperties."}}}},{"2":{"Name":"CertificateObjectProperties","Properties":{"alias":{"Type":4,"Flags":0,"Description":"File name when written to disk"},"encoding":{"Type":241,"Flags":0,"Description":"Represents secret encodings"},"format":{"Type":244,"Flags":0,"Description":"Represents certificate formats"},"name":{"Type":4,"Flags":1,"Description":"The name of the certificate"},"certType":{"Type":248,"Flags":0,"Description":"Represents certificate types"},"version":{"Type":4,"Flags":0,"Description":"Certificate version"}}}},{"6":{"Value":"utf-8"}},{"6":{"Value":"hex"}},{"6":{"Value":"base64"}},{"5":{"Elements":[238,239,240]}},{"6":{"Value":"pem"}},{"6":{"Value":"pfx"}},{"5":{"Elements":[242,243]}},{"6":{"Value":"certificate"}},{"6":{"Value":"privatekey"}},{"6":{"Value":"publickey"}},{"5":{"Elements":[245,246,247]}},{"2":{"Name":"AzureKeyVaultVolumePropertiesCertificates","Properties":{},"AdditionalProperties":237}},{"2":{"Name":"KeyObjectProperties","Properties":{"alias":{"Type":4,"Flags":0,"Description":"File name when written to disk"},"name":{"Type":4,"Flags":1,"Description":"The name of the key"},"version":{"Type":4,"Flags":0,"Description":"Key version"}}}},{"2":{"Name":"AzureKeyVaultVolumePropertiesKeys","Properties":{},"AdditionalProperties":250}},{"2":{"Name":"SecretObjectProperties","Properties":{"alias":{"Type":4,"Flags":0,"Description":"File name when written to disk"},"encoding":{"Type":256,"Flags":0,"Description":"Represents secret encodings"},"name":{"Type":4,"Flags":1,"Description":"The name of the secret"},"version":{"Type":4,"Flags":0,"Description":"secret version"}}}},{"6":{"Value":"utf-8"}},{"6":{"Value":"hex"}},{"6":{"Value":"base64"}},{"5":{"Elements":[253,254,255]}},{"2":{"Name":"AzureKeyVaultVolumePropertiesSecrets","Properties":{},"AdditionalProperties":252}},{"6":{"Value":"azure.com.keyvault"}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Core/volumes@2023-10-01-preview","ScopeType":0,"Body":226}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Core/extenders","ApiVersion":"2023-10-01-preview","Output":0,"Input":0}},{"2":{"Name":"SecretStoreListSecretsResult","Properties":{"type":{"Type":265,"Flags":2,"Description":"The type of SecretStore data"},"data":{"Type":266,"Flags":2,"Description":"An object to represent key-value type secrets"}}}},{"6":{"Value":"generic"}},{"6":{"Value":"certificate"}},{"5":{"Elements":[263,264]}},{"2":{"Name":"SecretStoreListSecretsResultData","Properties":{},"AdditionalProperties":216}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Core/secretStores","ApiVersion":"2023-10-01-preview","Output":262,"Input":0}}] \ No newline at end of file +[ + { + "$type": "StringType" + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/applications" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/applications", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/1" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/2" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/4" + }, + "flags": 1, + "description": "Application properties" + }, + "tags": { + "type": { + "$ref": "#/41" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "ApplicationProperties", + "properties": { + "provisioningState": { + "type": { + "$ref": "#/12" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the application is linked to" + }, + "extensions": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "The application extension." + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/5" + }, + { + "$ref": "#/6" + }, + { + "$ref": "#/7" + }, + { + "$ref": "#/8" + }, + { + "$ref": "#/9" + }, + { + "$ref": "#/10" + }, + { + "$ref": "#/11" + } + ] + }, + { + "$type": "DiscriminatedObjectType", + "name": "Extension", + "discriminator": "kind", + "baseProperties": {}, + "elements": { + "daprSidecar": { + "$ref": "#/14" + }, + "kubernetesMetadata": { + "$ref": "#/20" + }, + "kubernetesNamespace": { + "$ref": "#/24" + }, + "manualScaling": { + "$ref": "#/26" + } + } + }, + { + "$type": "ObjectType", + "name": "DaprSidecarExtension", + "properties": { + "appPort": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "The Dapr appPort. Specifies the internal listening port for the application to handle requests from the Dapr sidecar." + }, + "appId": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The Dapr appId. Specifies the identifier used by Dapr for service invocation." + }, + "config": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Specifies the Dapr configuration to use for the resource." + }, + "protocol": { + "type": { + "$ref": "#/18" + }, + "flags": 0, + "description": "The Dapr sidecar extension protocol" + }, + "kind": { + "type": { + "$ref": "#/19" + }, + "flags": 1, + "description": "Discriminator property for Extension." + } + } + }, + { + "$type": "IntegerType" + }, + { + "$type": "StringLiteralType", + "value": "http" + }, + { + "$type": "StringLiteralType", + "value": "grpc" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/16" + }, + { + "$ref": "#/17" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "daprSidecar" + }, + { + "$type": "ObjectType", + "name": "KubernetesMetadataExtension", + "properties": { + "annotations": { + "type": { + "$ref": "#/21" + }, + "flags": 0, + "description": "Annotations to be applied to the Kubernetes resources output by the resource" + }, + "labels": { + "type": { + "$ref": "#/22" + }, + "flags": 0, + "description": "Labels to be applied to the Kubernetes resources output by the resource" + }, + "kind": { + "type": { + "$ref": "#/23" + }, + "flags": 1, + "description": "Discriminator property for Extension." + } + } + }, + { + "$type": "ObjectType", + "name": "KubernetesMetadataExtensionAnnotations", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "KubernetesMetadataExtensionLabels", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetesMetadata" + }, + { + "$type": "ObjectType", + "name": "KubernetesNamespaceExtension", + "properties": { + "namespace": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The namespace of the application environment." + }, + "kind": { + "type": { + "$ref": "#/25" + }, + "flags": 1, + "description": "Discriminator property for Extension." + } + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetesNamespace" + }, + { + "$type": "ObjectType", + "name": "ManualScalingExtension", + "properties": { + "replicas": { + "type": { + "$ref": "#/15" + }, + "flags": 1, + "description": "Replica count." + }, + "kind": { + "type": { + "$ref": "#/27" + }, + "flags": 1, + "description": "Discriminator property for Extension." + } + } + }, + { + "$type": "StringLiteralType", + "value": "manualScaling" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/13" + } + }, + { + "$type": "ObjectType", + "name": "ResourceStatus", + "properties": { + "compute": { + "type": { + "$ref": "#/30" + }, + "flags": 0, + "description": "Represents backing compute resource" + }, + "recipe": { + "type": { + "$ref": "#/37" + }, + "flags": 2, + "description": "Recipe status at deployment time for a resource." + }, + "outputResources": { + "type": { + "$ref": "#/40" + }, + "flags": 0, + "description": "Properties of an output resource" + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "EnvironmentCompute", + "discriminator": "kind", + "baseProperties": { + "resourceId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id of the compute resource for application environment." + }, + "identity": { + "type": { + "$ref": "#/31" + }, + "flags": 0, + "description": "IdentitySettings is the external identity setting." + } + }, + "elements": { + "kubernetes": { + "$ref": "#/35" + } + } + }, + { + "$type": "ObjectType", + "name": "IdentitySettings", + "properties": { + "kind": { + "type": { + "$ref": "#/34" + }, + "flags": 1, + "description": "IdentitySettingKind is the kind of supported external identity setting" + }, + "oidcIssuer": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URI for your compute platform's OIDC issuer" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource ID of the provisioned identity" + } + } + }, + { + "$type": "StringLiteralType", + "value": "undefined" + }, + { + "$type": "StringLiteralType", + "value": "azure.com.workload" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/32" + }, + { + "$ref": "#/33" + } + ] + }, + { + "$type": "ObjectType", + "name": "KubernetesCompute", + "properties": { + "namespace": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The namespace to use for the environment." + }, + "kind": { + "type": { + "$ref": "#/36" + }, + "flags": 1, + "description": "Discriminator property for EnvironmentCompute." + } + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetes" + }, + { + "$type": "ObjectType", + "name": "RecipeStatus", + "properties": { + "templateKind": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplateKind is the kind of the recipe template used by the portable resource upon deployment." + }, + "templatePath": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplatePath is the path of the recipe consumed by the portable resource upon deployment." + }, + "templateVersion": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "TemplateVersion is the version number of the template." + } + } + }, + { + "$type": "ObjectType", + "name": "OutputResource", + "properties": { + "localId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships." + }, + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The UCP resource ID of the underlying resource." + }, + "radiusManaged": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "Determines whether Radius manages the lifecycle of the underlying resource." + } + } + }, + { + "$type": "BooleanType" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/38" + } + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SystemData", + "properties": { + "createdBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that created the resource." + }, + "createdByType": { + "type": { + "$ref": "#/47" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": { + "$ref": "#/52" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/43" + }, + { + "$ref": "#/44" + }, + { + "$ref": "#/45" + }, + { + "$ref": "#/46" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/48" + }, + { + "$ref": "#/49" + }, + { + "$ref": "#/50" + }, + { + "$ref": "#/51" + } + ] + }, + { + "$type": "ResourceType", + "name": "Applications.Core/applications@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/3" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/containers" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/containers", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/54" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/55" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/57" + }, + "flags": 1, + "description": "Container properties" + }, + "tags": { + "type": { + "$ref": "#/118" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "ContainerProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the environment that the application is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the application" + }, + "provisioningState": { + "type": { + "$ref": "#/65" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + }, + "container": { + "type": { + "$ref": "#/66" + }, + "flags": 1, + "description": "Definition of a container" + }, + "connections": { + "type": { + "$ref": "#/103" + }, + "flags": 0, + "description": "Specifies a connection to another resource." + }, + "identity": { + "type": { + "$ref": "#/31" + }, + "flags": 0, + "description": "IdentitySettings is the external identity setting." + }, + "extensions": { + "type": { + "$ref": "#/104" + }, + "flags": 0, + "description": "Extensions spec of the resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/107" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'internal', where Radius manages the lifecycle of the resource internally, and 'manual', where a user manages the resource." + }, + "resources": { + "type": { + "$ref": "#/109" + }, + "flags": 0, + "description": "A collection of references to resources associated with the container" + }, + "restartPolicy": { + "type": { + "$ref": "#/113" + }, + "flags": 0, + "description": "Restart policy for the container" + }, + "runtimes": { + "type": { + "$ref": "#/114" + }, + "flags": 0, + "description": "The properties for runtime configuration" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/58" + }, + { + "$ref": "#/59" + }, + { + "$ref": "#/60" + }, + { + "$ref": "#/61" + }, + { + "$ref": "#/62" + }, + { + "$ref": "#/63" + }, + { + "$ref": "#/64" + } + ] + }, + { + "$type": "ObjectType", + "name": "Container", + "properties": { + "image": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The registry and image to download and run in your container" + }, + "imagePullPolicy": { + "type": { + "$ref": "#/70" + }, + "flags": 0, + "description": "The image pull policy for the container" + }, + "env": { + "type": { + "$ref": "#/71" + }, + "flags": 0, + "description": "environment" + }, + "ports": { + "type": { + "$ref": "#/76" + }, + "flags": 0, + "description": "container ports" + }, + "readinessProbe": { + "type": { + "$ref": "#/77" + }, + "flags": 0, + "description": "Properties for readiness/liveness probe" + }, + "livenessProbe": { + "type": { + "$ref": "#/77" + }, + "flags": 0, + "description": "Properties for readiness/liveness probe" + }, + "volumes": { + "type": { + "$ref": "#/96" + }, + "flags": 0, + "description": "container volumes" + }, + "command": { + "type": { + "$ref": "#/97" + }, + "flags": 0, + "description": "Entrypoint array. Overrides the container image's ENTRYPOINT" + }, + "args": { + "type": { + "$ref": "#/98" + }, + "flags": 0, + "description": "Arguments to the entrypoint. Overrides the container image's CMD" + }, + "workingDir": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Working directory for the container" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Always" + }, + { + "$type": "StringLiteralType", + "value": "IfNotPresent" + }, + { + "$type": "StringLiteralType", + "value": "Never" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/67" + }, + { + "$ref": "#/68" + }, + { + "$ref": "#/69" + } + ] + }, + { + "$type": "ObjectType", + "name": "ContainerEnv", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "ContainerPortProperties", + "properties": { + "containerPort": { + "type": { + "$ref": "#/15" + }, + "flags": 1, + "description": "The listening port number" + }, + "protocol": { + "type": { + "$ref": "#/75" + }, + "flags": 0, + "description": "The protocol in use by the port" + }, + "scheme": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Specifies the URL scheme of the communication protocol. Consumers can use the scheme to construct a URL. The value defaults to 'http' or 'https' depending on the port value" + }, + "port": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "Specifies the port that will be exposed by this container. Must be set when value different from containerPort is desired" + } + } + }, + { + "$type": "StringLiteralType", + "value": "TCP" + }, + { + "$type": "StringLiteralType", + "value": "UDP" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/73" + }, + { + "$ref": "#/74" + } + ] + }, + { + "$type": "ObjectType", + "name": "ContainerPorts", + "properties": {}, + "additionalProperties": { + "$ref": "#/72" + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "HealthProbeProperties", + "discriminator": "kind", + "baseProperties": { + "initialDelaySeconds": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "Initial delay in seconds before probing for readiness/liveness" + }, + "failureThreshold": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "Threshold number of times the probe fails after which a failure would be reported" + }, + "periodSeconds": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "Interval for the readiness/liveness probe in seconds" + }, + "timeoutSeconds": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "Number of seconds after which the readiness/liveness probe times out. Defaults to 5 seconds" + } + }, + "elements": { + "exec": { + "$ref": "#/78" + }, + "httpGet": { + "$ref": "#/80" + }, + "tcp": { + "$ref": "#/83" + } + } + }, + { + "$type": "ObjectType", + "name": "ExecHealthProbeProperties", + "properties": { + "command": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Command to execute to probe readiness/liveness" + }, + "kind": { + "type": { + "$ref": "#/79" + }, + "flags": 1, + "description": "Discriminator property for HealthProbeProperties." + } + } + }, + { + "$type": "StringLiteralType", + "value": "exec" + }, + { + "$type": "ObjectType", + "name": "HttpGetHealthProbeProperties", + "properties": { + "containerPort": { + "type": { + "$ref": "#/15" + }, + "flags": 1, + "description": "The listening port number" + }, + "path": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The route to make the HTTP request on" + }, + "headers": { + "type": { + "$ref": "#/81" + }, + "flags": 0, + "description": "Custom HTTP headers to add to the get request" + }, + "kind": { + "type": { + "$ref": "#/82" + }, + "flags": 1, + "description": "Discriminator property for HealthProbeProperties." + } + } + }, + { + "$type": "ObjectType", + "name": "HttpGetHealthProbePropertiesHeaders", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "StringLiteralType", + "value": "httpGet" + }, + { + "$type": "ObjectType", + "name": "TcpHealthProbeProperties", + "properties": { + "containerPort": { + "type": { + "$ref": "#/15" + }, + "flags": 1, + "description": "The listening port number" + }, + "kind": { + "type": { + "$ref": "#/84" + }, + "flags": 1, + "description": "Discriminator property for HealthProbeProperties." + } + } + }, + { + "$type": "StringLiteralType", + "value": "tcp" + }, + { + "$type": "DiscriminatedObjectType", + "name": "Volume", + "discriminator": "kind", + "baseProperties": { + "mountPath": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The path where the volume is mounted" + } + }, + "elements": { + "ephemeral": { + "$ref": "#/86" + }, + "persistent": { + "$ref": "#/91" + } + } + }, + { + "$type": "ObjectType", + "name": "EphemeralVolume", + "properties": { + "managedStore": { + "type": { + "$ref": "#/89" + }, + "flags": 1, + "description": "The managed store for the ephemeral volume" + }, + "kind": { + "type": { + "$ref": "#/90" + }, + "flags": 1, + "description": "Discriminator property for Volume." + } + } + }, + { + "$type": "StringLiteralType", + "value": "memory" + }, + { + "$type": "StringLiteralType", + "value": "disk" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/87" + }, + { + "$ref": "#/88" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "ephemeral" + }, + { + "$type": "ObjectType", + "name": "PersistentVolume", + "properties": { + "permission": { + "type": { + "$ref": "#/94" + }, + "flags": 0, + "description": "The persistent volume permission" + }, + "source": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The source of the volume" + }, + "kind": { + "type": { + "$ref": "#/95" + }, + "flags": 1, + "description": "Discriminator property for Volume." + } + } + }, + { + "$type": "StringLiteralType", + "value": "read" + }, + { + "$type": "StringLiteralType", + "value": "write" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/92" + }, + { + "$ref": "#/93" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "persistent" + }, + { + "$type": "ObjectType", + "name": "ContainerVolumes", + "properties": {}, + "additionalProperties": { + "$ref": "#/85" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/0" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "ConnectionProperties", + "properties": { + "source": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The source of the connection" + }, + "disableDefaultEnvVars": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "default environment variable override" + }, + "iam": { + "type": { + "$ref": "#/100" + }, + "flags": 0, + "description": "IAM properties" + } + } + }, + { + "$type": "ObjectType", + "name": "IamProperties", + "properties": { + "kind": { + "type": { + "$ref": "#/101" + }, + "flags": 1, + "description": "The kind of IAM provider to configure" + }, + "roles": { + "type": { + "$ref": "#/102" + }, + "flags": 0, + "description": "RBAC permissions to be assigned on the source resource" + } + } + }, + { + "$type": "StringLiteralType", + "value": "azure" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "ContainerPropertiesConnections", + "properties": {}, + "additionalProperties": { + "$ref": "#/99" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/13" + } + }, + { + "$type": "StringLiteralType", + "value": "internal" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/105" + }, + { + "$ref": "#/106" + } + ] + }, + { + "$type": "ObjectType", + "name": "ResourceReference", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Resource id of an existing resource" + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/108" + } + }, + { + "$type": "StringLiteralType", + "value": "Always" + }, + { + "$type": "StringLiteralType", + "value": "OnFailure" + }, + { + "$type": "StringLiteralType", + "value": "Never" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/110" + }, + { + "$ref": "#/111" + }, + { + "$ref": "#/112" + } + ] + }, + { + "$type": "ObjectType", + "name": "RuntimesProperties", + "properties": { + "kubernetes": { + "type": { + "$ref": "#/115" + }, + "flags": 0, + "description": "The runtime configuration properties for Kubernetes" + } + } + }, + { + "$type": "ObjectType", + "name": "KubernetesRuntimeProperties", + "properties": { + "base": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The serialized YAML manifest which represents the base Kubernetes resources to deploy, such as Deployment, Service, ServiceAccount, Secrets, and ConfigMaps." + }, + "pod": { + "type": { + "$ref": "#/117" + }, + "flags": 0, + "description": "A strategic merge patch that will be applied to the PodSpec object when this container is being deployed." + } + } + }, + { + "$type": "AnyType" + }, + { + "$type": "ObjectType", + "name": "KubernetesPodSpec", + "properties": {}, + "additionalProperties": { + "$ref": "#/116" + } + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/containers@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/56" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/environments" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/environments", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/120" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/121" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/123" + }, + "flags": 1, + "description": "Environment properties" + }, + "tags": { + "type": { + "$ref": "#/156" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "EnvironmentProperties", + "properties": { + "provisioningState": { + "type": { + "$ref": "#/131" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "compute": { + "type": { + "$ref": "#/30" + }, + "flags": 1, + "description": "Represents backing compute resource" + }, + "providers": { + "type": { + "$ref": "#/132" + }, + "flags": 0, + "description": "The Cloud providers configuration." + }, + "simulated": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "Simulated environment." + }, + "recipes": { + "type": { + "$ref": "#/141" + }, + "flags": 0, + "description": "Specifies Recipes linked to the Environment." + }, + "recipeConfig": { + "type": { + "$ref": "#/142" + }, + "flags": 0, + "description": "Configuration for Recipes. Defines how each type of Recipe should be configured and run." + }, + "extensions": { + "type": { + "$ref": "#/155" + }, + "flags": 0, + "description": "The environment extension." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/124" + }, + { + "$ref": "#/125" + }, + { + "$ref": "#/126" + }, + { + "$ref": "#/127" + }, + { + "$ref": "#/128" + }, + { + "$ref": "#/129" + }, + { + "$ref": "#/130" + } + ] + }, + { + "$type": "ObjectType", + "name": "Providers", + "properties": { + "azure": { + "type": { + "$ref": "#/133" + }, + "flags": 0, + "description": "The Azure cloud provider definition." + }, + "aws": { + "type": { + "$ref": "#/134" + }, + "flags": 0, + "description": "The AWS cloud provider definition." + } + } + }, + { + "$type": "ObjectType", + "name": "ProvidersAzure", + "properties": { + "scope": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Target scope for Azure resources to be deployed into. For example: '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup'." + } + } + }, + { + "$type": "ObjectType", + "name": "ProvidersAws", + "properties": { + "scope": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Target scope for AWS resources to be deployed into. For example: '/planes/aws/aws/accounts/000000000000/regions/us-west-2'." + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "RecipeProperties", + "discriminator": "templateKind", + "baseProperties": { + "templatePath": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Path to the template provided by the recipe. Currently only link to Azure Container Registry is supported." + }, + "parameters": { + "type": { + "$ref": "#/116" + }, + "flags": 0, + "description": "Any object" + } + }, + "elements": { + "bicep": { + "$ref": "#/136" + }, + "terraform": { + "$ref": "#/138" + } + } + }, + { + "$type": "ObjectType", + "name": "BicepRecipeProperties", + "properties": { + "plainHttp": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "Connect to the Bicep registry using HTTP (not-HTTPS). This should be used when the registry is known not to support HTTPS, for example in a locally-hosted registry. Defaults to false (use HTTPS/TLS)." + }, + "templateKind": { + "type": { + "$ref": "#/137" + }, + "flags": 1, + "description": "Discriminator property for RecipeProperties." + } + } + }, + { + "$type": "StringLiteralType", + "value": "bicep" + }, + { + "$type": "ObjectType", + "name": "TerraformRecipeProperties", + "properties": { + "templateVersion": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Version of the template to deploy. For Terraform recipes using a module registry this is required, but must be omitted for other module sources." + }, + "templateKind": { + "type": { + "$ref": "#/139" + }, + "flags": 1, + "description": "Discriminator property for RecipeProperties." + } + } + }, + { + "$type": "StringLiteralType", + "value": "terraform" + }, + { + "$type": "ObjectType", + "name": "DictionaryOfRecipeProperties", + "properties": {}, + "additionalProperties": { + "$ref": "#/135" + } + }, + { + "$type": "ObjectType", + "name": "EnvironmentPropertiesRecipes", + "properties": {}, + "additionalProperties": { + "$ref": "#/140" + } + }, + { + "$type": "ObjectType", + "name": "RecipeConfigProperties", + "properties": { + "terraform": { + "type": { + "$ref": "#/143" + }, + "flags": 0, + "description": "Configuration for Terraform Recipes. Controls how Terraform plans and applies templates as part of Recipe deployment." + }, + "env": { + "type": { + "$ref": "#/153" + }, + "flags": 0, + "description": "The environment variables injected during Terraform Recipe execution for the recipes in the environment." + }, + "envSecrets": { + "type": { + "$ref": "#/154" + }, + "flags": 0, + "description": "Environment variables containing sensitive information can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource." + } + } + }, + { + "$type": "ObjectType", + "name": "TerraformConfigProperties", + "properties": { + "authentication": { + "type": { + "$ref": "#/144" + }, + "flags": 0, + "description": "Authentication information used to access private Terraform module sources. Supported module sources: Git." + }, + "providers": { + "type": { + "$ref": "#/152" + }, + "flags": 0, + "description": "Configuration for Terraform Recipe Providers. Controls how Terraform interacts with cloud providers, SaaS providers, and other APIs. For more information, please see: https://developer.hashicorp.com/terraform/language/providers/configuration." + } + } + }, + { + "$type": "ObjectType", + "name": "AuthConfig", + "properties": { + "git": { + "type": { + "$ref": "#/145" + }, + "flags": 0, + "description": "Authentication information used to access private Terraform modules from Git repository sources." + } + } + }, + { + "$type": "ObjectType", + "name": "GitAuthConfig", + "properties": { + "pat": { + "type": { + "$ref": "#/147" + }, + "flags": 0, + "description": "Personal Access Token (PAT) configuration used to authenticate to Git platforms." + } + } + }, + { + "$type": "ObjectType", + "name": "SecretConfig", + "properties": { + "secret": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The ID of an Applications.Core/SecretStore resource containing the Git platform personal access token (PAT). The secret store must have a secret named 'pat', containing the PAT value. A secret named 'username' is optional, containing the username associated with the pat. By default no username is specified." + } + } + }, + { + "$type": "ObjectType", + "name": "GitAuthConfigPat", + "properties": {}, + "additionalProperties": { + "$ref": "#/146" + } + }, + { + "$type": "ObjectType", + "name": "ProviderConfigProperties", + "properties": { + "secrets": { + "type": { + "$ref": "#/150" + }, + "flags": 0, + "description": "Sensitive data in provider configuration can be stored as secrets. The secrets are stored in Applications.Core/SecretStores resource." + } + }, + "additionalProperties": { + "$ref": "#/116" + } + }, + { + "$type": "ObjectType", + "name": "SecretReference", + "properties": { + "source": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The ID of an Applications.Core/SecretStore resource containing sensitive data required for recipe execution." + }, + "key": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The key for the secret in the secret store." + } + } + }, + { + "$type": "ObjectType", + "name": "ProviderConfigPropertiesSecrets", + "properties": {}, + "additionalProperties": { + "$ref": "#/149" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/148" + } + }, + { + "$type": "ObjectType", + "name": "TerraformConfigPropertiesProviders", + "properties": {}, + "additionalProperties": { + "$ref": "#/151" + } + }, + { + "$type": "ObjectType", + "name": "EnvironmentVariables", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "RecipeConfigPropertiesEnvSecrets", + "properties": {}, + "additionalProperties": { + "$ref": "#/149" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/13" + } + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/environments@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/122" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/extenders" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/extenders", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/158" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/159" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/161" + }, + "flags": 1, + "description": "ExtenderResource portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/174" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "ExtenderProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/169" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + }, + "secrets": { + "type": { + "$ref": "#/116" + }, + "flags": 0, + "description": "Any object" + }, + "recipe": { + "type": { + "$ref": "#/170" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/173" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + }, + "additionalProperties": { + "$ref": "#/116" + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/162" + }, + { + "$ref": "#/163" + }, + { + "$ref": "#/164" + }, + { + "$ref": "#/165" + }, + { + "$ref": "#/166" + }, + { + "$ref": "#/167" + }, + { + "$ref": "#/168" + } + ] + }, + { + "$type": "ObjectType", + "name": "Recipe", + "properties": { + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the recipe within the environment to use" + }, + "parameters": { + "type": { + "$ref": "#/116" + }, + "flags": 0, + "description": "Any object" + } + } + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/171" + }, + { + "$ref": "#/172" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/116" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/extenders@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/160" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/175" + }, + "description": "listSecrets" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/gateways" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/gateways", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/177" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/178" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/180" + }, + "flags": 1, + "description": "Gateway properties" + }, + "tags": { + "type": { + "$ref": "#/196" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "GatewayProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the environment that the application is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the application" + }, + "provisioningState": { + "type": { + "$ref": "#/188" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + }, + "internal": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "Sets Gateway to not be exposed externally (no public IP address associated). Defaults to false (exposed to internet)." + }, + "hostname": { + "type": { + "$ref": "#/189" + }, + "flags": 0, + "description": "Declare hostname information for the Gateway. Leaving the hostname empty auto-assigns one: mygateway.myapp.PUBLICHOSTNAMEORIP.nip.io." + }, + "routes": { + "type": { + "$ref": "#/191" + }, + "flags": 1, + "description": "Routes attached to this Gateway" + }, + "tls": { + "type": { + "$ref": "#/192" + }, + "flags": 0, + "description": "TLS configuration definition for Gateway resource." + }, + "url": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "URL of the gateway resource. Readonly" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/181" + }, + { + "$ref": "#/182" + }, + { + "$ref": "#/183" + }, + { + "$ref": "#/184" + }, + { + "$ref": "#/185" + }, + { + "$ref": "#/186" + }, + { + "$ref": "#/187" + } + ] + }, + { + "$type": "ObjectType", + "name": "GatewayHostname", + "properties": { + "prefix": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Specify a prefix for the hostname: myhostname.myapp.PUBLICHOSTNAMEORIP.nip.io. Mutually exclusive with 'fullyQualifiedHostname' and will be overridden if both are defined." + }, + "fullyQualifiedHostname": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Specify a fully-qualified domain name: myapp.mydomain.com. Mutually exclusive with 'prefix' and will take priority if both are defined." + } + } + }, + { + "$type": "ObjectType", + "name": "GatewayRoute", + "properties": { + "path": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The path to match the incoming request path on. Ex - /myservice." + }, + "destination": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URL or id of the service to route to. Ex - 'http://myservice'." + }, + "replacePrefix": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Optionally update the prefix when sending the request to the service. Ex - replacePrefix: '/' and path: '/myservice' will transform '/myservice/myroute' to '/myroute'" + }, + "enableWebsockets": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "Enables websocket support for the route. Defaults to false." + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/190" + } + }, + { + "$type": "ObjectType", + "name": "GatewayTls", + "properties": { + "sslPassthrough": { + "type": { + "$ref": "#/39" + }, + "flags": 0, + "description": "If true, gateway lets the https traffic sslPassthrough to the backend servers for decryption." + }, + "minimumProtocolVersion": { + "type": { + "$ref": "#/195" + }, + "flags": 0, + "description": "Tls Minimum versions for Gateway resource." + }, + "certificateFrom": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id for the secret containing the TLS certificate and key for the gateway." + } + } + }, + { + "$type": "StringLiteralType", + "value": "1.2" + }, + { + "$type": "StringLiteralType", + "value": "1.3" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/193" + }, + { + "$ref": "#/194" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/gateways@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/179" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/secretStores" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/secretStores", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/198" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/199" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/201" + }, + "flags": 1, + "description": "The properties of SecretStore" + }, + "tags": { + "type": { + "$ref": "#/219" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "SecretStoreProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the environment that the application is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application" + }, + "provisioningState": { + "type": { + "$ref": "#/209" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + }, + "type": { + "type": { + "$ref": "#/212" + }, + "flags": 0, + "description": "The type of SecretStore data" + }, + "data": { + "type": { + "$ref": "#/218" + }, + "flags": 1, + "description": "An object to represent key-value type secrets" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id of external secret store." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/202" + }, + { + "$ref": "#/203" + }, + { + "$ref": "#/204" + }, + { + "$ref": "#/205" + }, + { + "$ref": "#/206" + }, + { + "$ref": "#/207" + }, + { + "$ref": "#/208" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "generic" + }, + { + "$type": "StringLiteralType", + "value": "certificate" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/210" + }, + { + "$ref": "#/211" + } + ] + }, + { + "$type": "ObjectType", + "name": "SecretValueProperties", + "properties": { + "encoding": { + "type": { + "$ref": "#/216" + }, + "flags": 0, + "description": "The type of SecretValue Encoding" + }, + "value": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The value of secret." + }, + "valueFrom": { + "type": { + "$ref": "#/217" + }, + "flags": 0, + "description": "The Secret value source properties" + } + } + }, + { + "$type": "StringLiteralType", + "value": "raw" + }, + { + "$type": "StringLiteralType", + "value": "base64" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/214" + }, + { + "$ref": "#/215" + } + ] + }, + { + "$type": "ObjectType", + "name": "ValueFromProperties", + "properties": { + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the referenced secret." + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The version of the referenced secret." + } + } + }, + { + "$type": "ObjectType", + "name": "SecretStorePropertiesData", + "properties": {}, + "additionalProperties": { + "$ref": "#/213" + } + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SecretStoreListSecretsResult", + "properties": { + "type": { + "type": { + "$ref": "#/223" + }, + "flags": 2, + "description": "The type of SecretStore data" + }, + "data": { + "type": { + "$ref": "#/224" + }, + "flags": 2, + "description": "An object to represent key-value type secrets" + } + } + }, + { + "$type": "StringLiteralType", + "value": "generic" + }, + { + "$type": "StringLiteralType", + "value": "certificate" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/221" + }, + { + "$ref": "#/222" + } + ] + }, + { + "$type": "ObjectType", + "name": "SecretStoreListSecretsResultData", + "properties": {}, + "additionalProperties": { + "$ref": "#/213" + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/220" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/secretStores@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/200" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/225" + }, + "description": "listSecrets" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Applications.Core/volumes" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Core/volumes", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/227" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/228" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/230" + }, + "flags": 1, + "description": "Volume properties" + }, + "tags": { + "type": { + "$ref": "#/262" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/42" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "VolumeProperties", + "discriminator": "kind", + "baseProperties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the environment that the application is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the application" + }, + "provisioningState": { + "type": { + "$ref": "#/238" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/29" + }, + "flags": 2, + "description": "Status of a resource." + } + }, + "elements": { + "azure.com.keyvault": { + "$ref": "#/239" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/231" + }, + { + "$ref": "#/232" + }, + { + "$ref": "#/233" + }, + { + "$ref": "#/234" + }, + { + "$ref": "#/235" + }, + { + "$ref": "#/236" + }, + { + "$ref": "#/237" + } + ] + }, + { + "$type": "ObjectType", + "name": "AzureKeyVaultVolumeProperties", + "properties": { + "certificates": { + "type": { + "$ref": "#/252" + }, + "flags": 0, + "description": "The KeyVault certificates that this volume exposes" + }, + "keys": { + "type": { + "$ref": "#/254" + }, + "flags": 0, + "description": "The KeyVault keys that this volume exposes" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The ID of the keyvault to use for this volume resource" + }, + "secrets": { + "type": { + "$ref": "#/260" + }, + "flags": 0, + "description": "The KeyVault secrets that this volume exposes" + }, + "kind": { + "type": { + "$ref": "#/261" + }, + "flags": 1, + "description": "Discriminator property for VolumeProperties." + } + } + }, + { + "$type": "ObjectType", + "name": "CertificateObjectProperties", + "properties": { + "alias": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "File name when written to disk" + }, + "encoding": { + "type": { + "$ref": "#/244" + }, + "flags": 0, + "description": "Represents secret encodings" + }, + "format": { + "type": { + "$ref": "#/247" + }, + "flags": 0, + "description": "Represents certificate formats" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the certificate" + }, + "certType": { + "type": { + "$ref": "#/251" + }, + "flags": 0, + "description": "Represents certificate types" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Certificate version" + } + } + }, + { + "$type": "StringLiteralType", + "value": "utf-8" + }, + { + "$type": "StringLiteralType", + "value": "hex" + }, + { + "$type": "StringLiteralType", + "value": "base64" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/241" + }, + { + "$ref": "#/242" + }, + { + "$ref": "#/243" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "pem" + }, + { + "$type": "StringLiteralType", + "value": "pfx" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/245" + }, + { + "$ref": "#/246" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "certificate" + }, + { + "$type": "StringLiteralType", + "value": "privatekey" + }, + { + "$type": "StringLiteralType", + "value": "publickey" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/248" + }, + { + "$ref": "#/249" + }, + { + "$ref": "#/250" + } + ] + }, + { + "$type": "ObjectType", + "name": "AzureKeyVaultVolumePropertiesCertificates", + "properties": {}, + "additionalProperties": { + "$ref": "#/240" + } + }, + { + "$type": "ObjectType", + "name": "KeyObjectProperties", + "properties": { + "alias": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "File name when written to disk" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the key" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Key version" + } + } + }, + { + "$type": "ObjectType", + "name": "AzureKeyVaultVolumePropertiesKeys", + "properties": {}, + "additionalProperties": { + "$ref": "#/253" + } + }, + { + "$type": "ObjectType", + "name": "SecretObjectProperties", + "properties": { + "alias": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "File name when written to disk" + }, + "encoding": { + "type": { + "$ref": "#/259" + }, + "flags": 0, + "description": "Represents secret encodings" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the secret" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "secret version" + } + } + }, + { + "$type": "StringLiteralType", + "value": "utf-8" + }, + { + "$type": "StringLiteralType", + "value": "hex" + }, + { + "$type": "StringLiteralType", + "value": "base64" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/256" + }, + { + "$ref": "#/257" + }, + { + "$ref": "#/258" + } + ] + }, + { + "$type": "ObjectType", + "name": "AzureKeyVaultVolumePropertiesSecrets", + "properties": {}, + "additionalProperties": { + "$ref": "#/255" + } + }, + { + "$type": "StringLiteralType", + "value": "azure.com.keyvault" + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Core/volumes@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/229" + }, + "flags": 0, + "functions": {} + } +] \ No newline at end of file diff --git a/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json index 3d9049764a..2abc60a5ec 100644 --- a/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json +++ b/hack/bicep-types-radius/generated/applications/applications.dapr/2023-10-01-preview/types.json @@ -1 +1,1078 @@ -[{"1":{"Kind":1}},{"1":{"Kind":2}},{"1":{"Kind":3}},{"1":{"Kind":4}},{"1":{"Kind":5}},{"1":{"Kind":6}},{"1":{"Kind":7}},{"1":{"Kind":8}},{"6":{"Value":"Applications.Dapr/pubSubBrokers"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Dapr/pubSubBrokers","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":8,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":9,"Flags":10,"Description":"The resource api version"},"properties":{"Type":11,"Flags":1,"Description":"Dapr PubSubBroker portable resource properties"},"tags":{"Type":37,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":38,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"DaprPubSubBrokerProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":19,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"componentName":{"Type":4,"Flags":2,"Description":"The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component."},"metadata":{"Type":0,"Flags":0,"Description":"Any object"},"type":{"Type":4,"Flags":0,"Description":"Dapr component type which must matches the format used by Dapr Kubernetes configuration format"},"version":{"Type":4,"Flags":0,"Description":"Dapr component version"},"resources":{"Type":32,"Flags":0,"Description":"A collection of references to resources associated with the pubSubBroker"},"recipe":{"Type":33,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":36,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[12,13,14,15,16,17,18]}},{"2":{"Name":"ResourceStatus","Properties":{"compute":{"Type":21,"Flags":0,"Description":"Represents backing compute resource"},"recipe":{"Type":28,"Flags":2,"Description":"Recipe status at deployment time for a resource."},"outputResources":{"Type":30,"Flags":0,"Description":"Properties of an output resource"}}}},{"7":{"Name":"EnvironmentCompute","Discriminator":"kind","BaseProperties":{"resourceId":{"Type":4,"Flags":0,"Description":"The resource id of the compute resource for application environment."},"identity":{"Type":22,"Flags":0,"Description":"IdentitySettings is the external identity setting."}},"Elements":{"kubernetes":26}}},{"2":{"Name":"IdentitySettings","Properties":{"kind":{"Type":25,"Flags":1,"Description":"IdentitySettingKind is the kind of supported external identity setting"},"oidcIssuer":{"Type":4,"Flags":0,"Description":"The URI for your compute platform's OIDC issuer"},"resource":{"Type":4,"Flags":0,"Description":"The resource ID of the provisioned identity"}}}},{"6":{"Value":"undefined"}},{"6":{"Value":"azure.com.workload"}},{"5":{"Elements":[23,24]}},{"2":{"Name":"KubernetesCompute","Properties":{"namespace":{"Type":4,"Flags":1,"Description":"The namespace to use for the environment."},"kind":{"Type":27,"Flags":1,"Description":"Discriminator property for EnvironmentCompute."}}}},{"6":{"Value":"kubernetes"}},{"2":{"Name":"RecipeStatus","Properties":{"templateKind":{"Type":4,"Flags":1,"Description":"TemplateKind is the kind of the recipe template used by the portable resource upon deployment."},"templatePath":{"Type":4,"Flags":1,"Description":"TemplatePath is the path of the recipe consumed by the portable resource upon deployment."},"templateVersion":{"Type":4,"Flags":0,"Description":"TemplateVersion is the version number of the template."}}}},{"2":{"Name":"OutputResource","Properties":{"localId":{"Type":4,"Flags":0,"Description":"The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships."},"id":{"Type":4,"Flags":0,"Description":"The UCP resource ID of the underlying resource."},"radiusManaged":{"Type":2,"Flags":0,"Description":"Determines whether Radius manages the lifecycle of the underlying resource."}}}},{"3":{"ItemType":29}},{"2":{"Name":"ResourceReference","Properties":{"id":{"Type":4,"Flags":1,"Description":"Resource id of an existing resource"}}}},{"3":{"ItemType":31}},{"2":{"Name":"Recipe","Properties":{"name":{"Type":4,"Flags":1,"Description":"The name of the recipe within the environment to use"},"parameters":{"Type":0,"Flags":0,"Description":"Any object"}}}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[34,35]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"SystemData","Properties":{"createdBy":{"Type":4,"Flags":0,"Description":"The identity that created the resource."},"createdByType":{"Type":43,"Flags":0,"Description":"The type of identity that created the resource."},"createdAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource creation (UTC)."},"lastModifiedBy":{"Type":4,"Flags":0,"Description":"The identity that last modified the resource."},"lastModifiedByType":{"Type":48,"Flags":0,"Description":"The type of identity that created the resource."},"lastModifiedAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource last modification (UTC)"}}}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[39,40,41,42]}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[44,45,46,47]}},{"4":{"Name":"Applications.Dapr/pubSubBrokers@2023-10-01-preview","ScopeType":0,"Body":10}},{"6":{"Value":"Applications.Dapr/secretStores"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Dapr/secretStores","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":50,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":51,"Flags":10,"Description":"The resource api version"},"properties":{"Type":53,"Flags":1,"Description":"Dapr SecretStore portable resource properties"},"tags":{"Type":65,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":38,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"DaprSecretStoreProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":61,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"componentName":{"Type":4,"Flags":2,"Description":"The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component."},"metadata":{"Type":0,"Flags":0,"Description":"Any object"},"type":{"Type":4,"Flags":0,"Description":"Dapr component type which must matches the format used by Dapr Kubernetes configuration format"},"version":{"Type":4,"Flags":0,"Description":"Dapr component version"},"recipe":{"Type":33,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":64,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[54,55,56,57,58,59,60]}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[62,63]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Dapr/secretStores@2023-10-01-preview","ScopeType":0,"Body":52}},{"6":{"Value":"Applications.Dapr/stateStores"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Dapr/stateStores","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":67,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":68,"Flags":10,"Description":"The resource api version"},"properties":{"Type":70,"Flags":1,"Description":"Dapr StateStore portable resource properties"},"tags":{"Type":83,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":38,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"DaprStateStoreProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":78,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"componentName":{"Type":4,"Flags":2,"Description":"The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component."},"metadata":{"Type":0,"Flags":0,"Description":"Any object"},"type":{"Type":4,"Flags":0,"Description":"Dapr component type which must matches the format used by Dapr Kubernetes configuration format"},"version":{"Type":4,"Flags":0,"Description":"Dapr component version"},"resources":{"Type":79,"Flags":0,"Description":"A collection of references to resources associated with the state store"},"recipe":{"Type":33,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":82,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[71,72,73,74,75,76,77]}},{"3":{"ItemType":31}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[80,81]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Dapr/stateStores@2023-10-01-preview","ScopeType":0,"Body":69}}] \ No newline at end of file +[ + { + "$type": "StringType" + }, + { + "$type": "StringLiteralType", + "value": "Applications.Dapr/pubSubBrokers" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Dapr/pubSubBrokers", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/1" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/2" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/4" + }, + "flags": 1, + "description": "Dapr PubSubBroker portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/32" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/33" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "DaprPubSubBrokerProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/12" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "componentName": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component." + }, + "metadata": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "Any object" + }, + "type": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component version" + }, + "resources": { + "type": { + "$ref": "#/27" + }, + "flags": 0, + "description": "A collection of references to resources associated with the pubSubBroker" + }, + "recipe": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/31" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/5" + }, + { + "$ref": "#/6" + }, + { + "$ref": "#/7" + }, + { + "$ref": "#/8" + }, + { + "$ref": "#/9" + }, + { + "$ref": "#/10" + }, + { + "$ref": "#/11" + } + ] + }, + { + "$type": "ObjectType", + "name": "ResourceStatus", + "properties": { + "compute": { + "type": { + "$ref": "#/14" + }, + "flags": 0, + "description": "Represents backing compute resource" + }, + "recipe": { + "type": { + "$ref": "#/21" + }, + "flags": 2, + "description": "Recipe status at deployment time for a resource." + }, + "outputResources": { + "type": { + "$ref": "#/24" + }, + "flags": 0, + "description": "Properties of an output resource" + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "EnvironmentCompute", + "discriminator": "kind", + "baseProperties": { + "resourceId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id of the compute resource for application environment." + }, + "identity": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "IdentitySettings is the external identity setting." + } + }, + "elements": { + "kubernetes": { + "$ref": "#/19" + } + } + }, + { + "$type": "ObjectType", + "name": "IdentitySettings", + "properties": { + "kind": { + "type": { + "$ref": "#/18" + }, + "flags": 1, + "description": "IdentitySettingKind is the kind of supported external identity setting" + }, + "oidcIssuer": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URI for your compute platform's OIDC issuer" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource ID of the provisioned identity" + } + } + }, + { + "$type": "StringLiteralType", + "value": "undefined" + }, + { + "$type": "StringLiteralType", + "value": "azure.com.workload" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/16" + }, + { + "$ref": "#/17" + } + ] + }, + { + "$type": "ObjectType", + "name": "KubernetesCompute", + "properties": { + "namespace": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The namespace to use for the environment." + }, + "kind": { + "type": { + "$ref": "#/20" + }, + "flags": 1, + "description": "Discriminator property for EnvironmentCompute." + } + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetes" + }, + { + "$type": "ObjectType", + "name": "RecipeStatus", + "properties": { + "templateKind": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplateKind is the kind of the recipe template used by the portable resource upon deployment." + }, + "templatePath": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplatePath is the path of the recipe consumed by the portable resource upon deployment." + }, + "templateVersion": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "TemplateVersion is the version number of the template." + } + } + }, + { + "$type": "ObjectType", + "name": "OutputResource", + "properties": { + "localId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships." + }, + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The UCP resource ID of the underlying resource." + }, + "radiusManaged": { + "type": { + "$ref": "#/23" + }, + "flags": 0, + "description": "Determines whether Radius manages the lifecycle of the underlying resource." + } + } + }, + { + "$type": "BooleanType" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/22" + } + }, + { + "$type": "AnyType" + }, + { + "$type": "ObjectType", + "name": "ResourceReference", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Resource id of an existing resource" + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/26" + } + }, + { + "$type": "ObjectType", + "name": "Recipe", + "properties": { + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the recipe within the environment to use" + }, + "parameters": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "Any object" + } + } + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/29" + }, + { + "$ref": "#/30" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SystemData", + "properties": { + "createdBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that created the resource." + }, + "createdByType": { + "type": { + "$ref": "#/38" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": { + "$ref": "#/43" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/34" + }, + { + "$ref": "#/35" + }, + { + "$ref": "#/36" + }, + { + "$ref": "#/37" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/39" + }, + { + "$ref": "#/40" + }, + { + "$ref": "#/41" + }, + { + "$ref": "#/42" + } + ] + }, + { + "$type": "ResourceType", + "name": "Applications.Dapr/pubSubBrokers@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/3" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Dapr/secretStores" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Dapr/secretStores", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/45" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/46" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/48" + }, + "flags": 1, + "description": "Dapr SecretStore portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/60" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/33" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "DaprSecretStoreProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/56" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "componentName": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component." + }, + "metadata": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "Any object" + }, + "type": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component version" + }, + "recipe": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/59" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/49" + }, + { + "$ref": "#/50" + }, + { + "$ref": "#/51" + }, + { + "$ref": "#/52" + }, + { + "$ref": "#/53" + }, + { + "$ref": "#/54" + }, + { + "$ref": "#/55" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/57" + }, + { + "$ref": "#/58" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Dapr/secretStores@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/47" + }, + "flags": 0, + "functions": {} + }, + { + "$type": "StringLiteralType", + "value": "Applications.Dapr/stateStores" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Dapr/stateStores", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/62" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/63" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/65" + }, + "flags": 1, + "description": "Dapr StateStore portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/78" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/33" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "DaprStateStoreProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/73" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "componentName": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The name of the Dapr component object. Use this value in your code when interacting with the Dapr client to use the Dapr component." + }, + "metadata": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "Any object" + }, + "type": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component type which must matches the format used by Dapr Kubernetes configuration format" + }, + "version": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Dapr component version" + }, + "resources": { + "type": { + "$ref": "#/74" + }, + "flags": 0, + "description": "A collection of references to resources associated with the state store" + }, + "recipe": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/77" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/66" + }, + { + "$ref": "#/67" + }, + { + "$ref": "#/68" + }, + { + "$ref": "#/69" + }, + { + "$ref": "#/70" + }, + { + "$ref": "#/71" + }, + { + "$ref": "#/72" + } + ] + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/26" + } + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/75" + }, + { + "$ref": "#/76" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Dapr/stateStores@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/64" + }, + "flags": 0, + "functions": {} + } +] \ No newline at end of file diff --git a/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json index 0326e0d433..a081e5e272 100644 --- a/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json +++ b/hack/bicep-types-radius/generated/applications/applications.datastores/2023-10-01-preview/types.json @@ -1 +1,1291 @@ -[{"1":{"Kind":1}},{"1":{"Kind":2}},{"1":{"Kind":3}},{"1":{"Kind":4}},{"1":{"Kind":5}},{"1":{"Kind":6}},{"1":{"Kind":7}},{"1":{"Kind":8}},{"6":{"Value":"Applications.Datastores/mongoDatabases"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Datastores/mongoDatabases","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":8,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":9,"Flags":10,"Description":"The resource api version"},"properties":{"Type":11,"Flags":1,"Description":"MongoDatabase portable resource properties"},"tags":{"Type":38,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":39,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"MongoDatabaseProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":19,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"secrets":{"Type":31,"Flags":0,"Description":"The secret values for the given MongoDatabase resource"},"host":{"Type":4,"Flags":0,"Description":"Host name of the target Mongo database"},"port":{"Type":3,"Flags":0,"Description":"Port value of the target Mongo database"},"database":{"Type":4,"Flags":0,"Description":"Database name of the target Mongo database"},"resources":{"Type":33,"Flags":0,"Description":"List of the resource IDs that support the MongoDB resource"},"username":{"Type":4,"Flags":0,"Description":"Username to use when connecting to the target Mongo database"},"recipe":{"Type":34,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":37,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[12,13,14,15,16,17,18]}},{"2":{"Name":"ResourceStatus","Properties":{"compute":{"Type":21,"Flags":0,"Description":"Represents backing compute resource"},"recipe":{"Type":28,"Flags":2,"Description":"Recipe status at deployment time for a resource."},"outputResources":{"Type":30,"Flags":0,"Description":"Properties of an output resource"}}}},{"7":{"Name":"EnvironmentCompute","Discriminator":"kind","BaseProperties":{"resourceId":{"Type":4,"Flags":0,"Description":"The resource id of the compute resource for application environment."},"identity":{"Type":22,"Flags":0,"Description":"IdentitySettings is the external identity setting."}},"Elements":{"kubernetes":26}}},{"2":{"Name":"IdentitySettings","Properties":{"kind":{"Type":25,"Flags":1,"Description":"IdentitySettingKind is the kind of supported external identity setting"},"oidcIssuer":{"Type":4,"Flags":0,"Description":"The URI for your compute platform's OIDC issuer"},"resource":{"Type":4,"Flags":0,"Description":"The resource ID of the provisioned identity"}}}},{"6":{"Value":"undefined"}},{"6":{"Value":"azure.com.workload"}},{"5":{"Elements":[23,24]}},{"2":{"Name":"KubernetesCompute","Properties":{"namespace":{"Type":4,"Flags":1,"Description":"The namespace to use for the environment."},"kind":{"Type":27,"Flags":1,"Description":"Discriminator property for EnvironmentCompute."}}}},{"6":{"Value":"kubernetes"}},{"2":{"Name":"RecipeStatus","Properties":{"templateKind":{"Type":4,"Flags":1,"Description":"TemplateKind is the kind of the recipe template used by the portable resource upon deployment."},"templatePath":{"Type":4,"Flags":1,"Description":"TemplatePath is the path of the recipe consumed by the portable resource upon deployment."},"templateVersion":{"Type":4,"Flags":0,"Description":"TemplateVersion is the version number of the template."}}}},{"2":{"Name":"OutputResource","Properties":{"localId":{"Type":4,"Flags":0,"Description":"The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships."},"id":{"Type":4,"Flags":0,"Description":"The UCP resource ID of the underlying resource."},"radiusManaged":{"Type":2,"Flags":0,"Description":"Determines whether Radius manages the lifecycle of the underlying resource."}}}},{"3":{"ItemType":29}},{"2":{"Name":"MongoDatabaseSecrets","Properties":{"password":{"Type":4,"Flags":0,"Description":"Password to use when connecting to the target Mongo database"},"connectionString":{"Type":4,"Flags":0,"Description":"Connection string used to connect to the target Mongo database"}}}},{"2":{"Name":"ResourceReference","Properties":{"id":{"Type":4,"Flags":1,"Description":"Resource id of an existing resource"}}}},{"3":{"ItemType":32}},{"2":{"Name":"Recipe","Properties":{"name":{"Type":4,"Flags":1,"Description":"The name of the recipe within the environment to use"},"parameters":{"Type":0,"Flags":0,"Description":"Any object"}}}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[35,36]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"SystemData","Properties":{"createdBy":{"Type":4,"Flags":0,"Description":"The identity that created the resource."},"createdByType":{"Type":44,"Flags":0,"Description":"The type of identity that created the resource."},"createdAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource creation (UTC)."},"lastModifiedBy":{"Type":4,"Flags":0,"Description":"The identity that last modified the resource."},"lastModifiedByType":{"Type":49,"Flags":0,"Description":"The type of identity that created the resource."},"lastModifiedAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource last modification (UTC)"}}}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[40,41,42,43]}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[45,46,47,48]}},{"4":{"Name":"Applications.Datastores/mongoDatabases@2023-10-01-preview","ScopeType":0,"Body":10}},{"6":{"Value":"Applications.Datastores/redisCaches"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Datastores/redisCaches","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":51,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":52,"Flags":10,"Description":"The resource api version"},"properties":{"Type":54,"Flags":1,"Description":"RedisCache portable resource properties"},"tags":{"Type":68,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":39,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"RedisCacheProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":62,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"secrets":{"Type":63,"Flags":0,"Description":"The secret values for the given RedisCache resource"},"host":{"Type":4,"Flags":0,"Description":"The host name of the target Redis cache"},"port":{"Type":3,"Flags":0,"Description":"The port value of the target Redis cache"},"username":{"Type":4,"Flags":0,"Description":"The username for Redis cache"},"tls":{"Type":2,"Flags":0,"Description":"Specifies whether to enable SSL connections to the Redis cache"},"resources":{"Type":64,"Flags":0,"Description":"List of the resource IDs that support the Redis resource"},"recipe":{"Type":34,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":67,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[55,56,57,58,59,60,61]}},{"2":{"Name":"RedisCacheSecrets","Properties":{"connectionString":{"Type":4,"Flags":0,"Description":"The connection string used to connect to the Redis cache"},"password":{"Type":4,"Flags":0,"Description":"The password for this Redis cache instance"},"url":{"Type":4,"Flags":0,"Description":"The URL used to connect to the Redis cache"}}}},{"3":{"ItemType":32}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[65,66]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Datastores/redisCaches@2023-10-01-preview","ScopeType":0,"Body":53}},{"6":{"Value":"Applications.Datastores/sqlDatabases"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Datastores/sqlDatabases","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":70,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":71,"Flags":10,"Description":"The resource api version"},"properties":{"Type":73,"Flags":1,"Description":"SqlDatabase properties"},"tags":{"Type":87,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":39,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"SqlDatabaseProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":81,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"database":{"Type":4,"Flags":0,"Description":"The name of the Sql database."},"server":{"Type":4,"Flags":0,"Description":"The fully qualified domain name of the Sql database."},"port":{"Type":3,"Flags":0,"Description":"Port value of the target Sql database"},"username":{"Type":4,"Flags":0,"Description":"Username to use when connecting to the target Sql database"},"resources":{"Type":82,"Flags":0,"Description":"List of the resource IDs that support the SqlDatabase resource"},"secrets":{"Type":83,"Flags":0,"Description":"The secret values for the given SqlDatabase resource"},"recipe":{"Type":34,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":86,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[74,75,76,77,78,79,80]}},{"3":{"ItemType":32}},{"2":{"Name":"SqlDatabaseSecrets","Properties":{"password":{"Type":4,"Flags":0,"Description":"Password to use when connecting to the target Sql database"},"connectionString":{"Type":4,"Flags":0,"Description":"Connection string used to connect to the target Sql database"}}}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[84,85]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"4":{"Name":"Applications.Datastores/sqlDatabases@2023-10-01-preview","ScopeType":0,"Body":72}},{"2":{"Name":"MongoDatabaseListSecretsResult","Properties":{"password":{"Type":4,"Flags":2,"Description":"Password to use when connecting to the target Mongo database"},"connectionString":{"Type":4,"Flags":2,"Description":"Connection string used to connect to the target Mongo database"}}}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Datastores/mongoDatabases","ApiVersion":"2023-10-01-preview","Output":89,"Input":0}},{"2":{"Name":"RedisCacheListSecretsResult","Properties":{"connectionString":{"Type":4,"Flags":2,"Description":"The connection string used to connect to the Redis cache"},"password":{"Type":4,"Flags":2,"Description":"The password for this Redis cache instance"},"url":{"Type":4,"Flags":2,"Description":"The URL used to connect to the Redis cache"}}}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Datastores/redisCaches","ApiVersion":"2023-10-01-preview","Output":91,"Input":0}},{"2":{"Name":"SqlDatabaseListSecretsResult","Properties":{"password":{"Type":4,"Flags":2,"Description":"Password to use when connecting to the target Sql database"},"connectionString":{"Type":4,"Flags":2,"Description":"Connection string used to connect to the target Sql database"}}}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Datastores/sqlDatabases","ApiVersion":"2023-10-01-preview","Output":93,"Input":0}}] \ No newline at end of file +[ + { + "$type": "StringType" + }, + { + "$type": "StringLiteralType", + "value": "Applications.Datastores/mongoDatabases" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Datastores/mongoDatabases", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/1" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/2" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/4" + }, + "flags": 1, + "description": "MongoDatabase portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/34" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/35" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "MongoDatabaseProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/12" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "secrets": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "The secret values for the given MongoDatabase resource" + }, + "host": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Host name of the target Mongo database" + }, + "port": { + "type": { + "$ref": "#/26" + }, + "flags": 0, + "description": "Port value of the target Mongo database" + }, + "database": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Database name of the target Mongo database" + }, + "resources": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "List of the resource IDs that support the MongoDB resource" + }, + "username": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Username to use when connecting to the target Mongo database" + }, + "recipe": { + "type": { + "$ref": "#/29" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/33" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/5" + }, + { + "$ref": "#/6" + }, + { + "$ref": "#/7" + }, + { + "$ref": "#/8" + }, + { + "$ref": "#/9" + }, + { + "$ref": "#/10" + }, + { + "$ref": "#/11" + } + ] + }, + { + "$type": "ObjectType", + "name": "ResourceStatus", + "properties": { + "compute": { + "type": { + "$ref": "#/14" + }, + "flags": 0, + "description": "Represents backing compute resource" + }, + "recipe": { + "type": { + "$ref": "#/21" + }, + "flags": 2, + "description": "Recipe status at deployment time for a resource." + }, + "outputResources": { + "type": { + "$ref": "#/24" + }, + "flags": 0, + "description": "Properties of an output resource" + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "EnvironmentCompute", + "discriminator": "kind", + "baseProperties": { + "resourceId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id of the compute resource for application environment." + }, + "identity": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "IdentitySettings is the external identity setting." + } + }, + "elements": { + "kubernetes": { + "$ref": "#/19" + } + } + }, + { + "$type": "ObjectType", + "name": "IdentitySettings", + "properties": { + "kind": { + "type": { + "$ref": "#/18" + }, + "flags": 1, + "description": "IdentitySettingKind is the kind of supported external identity setting" + }, + "oidcIssuer": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URI for your compute platform's OIDC issuer" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource ID of the provisioned identity" + } + } + }, + { + "$type": "StringLiteralType", + "value": "undefined" + }, + { + "$type": "StringLiteralType", + "value": "azure.com.workload" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/16" + }, + { + "$ref": "#/17" + } + ] + }, + { + "$type": "ObjectType", + "name": "KubernetesCompute", + "properties": { + "namespace": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The namespace to use for the environment." + }, + "kind": { + "type": { + "$ref": "#/20" + }, + "flags": 1, + "description": "Discriminator property for EnvironmentCompute." + } + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetes" + }, + { + "$type": "ObjectType", + "name": "RecipeStatus", + "properties": { + "templateKind": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplateKind is the kind of the recipe template used by the portable resource upon deployment." + }, + "templatePath": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplatePath is the path of the recipe consumed by the portable resource upon deployment." + }, + "templateVersion": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "TemplateVersion is the version number of the template." + } + } + }, + { + "$type": "ObjectType", + "name": "OutputResource", + "properties": { + "localId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships." + }, + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The UCP resource ID of the underlying resource." + }, + "radiusManaged": { + "type": { + "$ref": "#/23" + }, + "flags": 0, + "description": "Determines whether Radius manages the lifecycle of the underlying resource." + } + } + }, + { + "$type": "BooleanType" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/22" + } + }, + { + "$type": "ObjectType", + "name": "MongoDatabaseSecrets", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Password to use when connecting to the target Mongo database" + }, + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Connection string used to connect to the target Mongo database" + } + } + }, + { + "$type": "IntegerType" + }, + { + "$type": "ObjectType", + "name": "ResourceReference", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Resource id of an existing resource" + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/27" + } + }, + { + "$type": "ObjectType", + "name": "Recipe", + "properties": { + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the recipe within the environment to use" + }, + "parameters": { + "type": { + "$ref": "#/30" + }, + "flags": 0, + "description": "Any object" + } + } + }, + { + "$type": "AnyType" + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/31" + }, + { + "$ref": "#/32" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SystemData", + "properties": { + "createdBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that created the resource." + }, + "createdByType": { + "type": { + "$ref": "#/40" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": { + "$ref": "#/45" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/36" + }, + { + "$ref": "#/37" + }, + { + "$ref": "#/38" + }, + { + "$ref": "#/39" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/41" + }, + { + "$ref": "#/42" + }, + { + "$ref": "#/43" + }, + { + "$ref": "#/44" + } + ] + }, + { + "$type": "ObjectType", + "name": "MongoDatabaseListSecretsResult", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "Password to use when connecting to the target Mongo database" + }, + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "Connection string used to connect to the target Mongo database" + } + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/46" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Datastores/mongoDatabases@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/3" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/47" + }, + "description": "listSecrets" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Applications.Datastores/redisCaches" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Datastores/redisCaches", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/49" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/50" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/52" + }, + "flags": 1, + "description": "RedisCache portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/66" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/35" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "RedisCacheProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/60" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "secrets": { + "type": { + "$ref": "#/61" + }, + "flags": 0, + "description": "The secret values for the given RedisCache resource" + }, + "host": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The host name of the target Redis cache" + }, + "port": { + "type": { + "$ref": "#/26" + }, + "flags": 0, + "description": "The port value of the target Redis cache" + }, + "username": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The username for Redis cache" + }, + "tls": { + "type": { + "$ref": "#/23" + }, + "flags": 0, + "description": "Specifies whether to enable SSL connections to the Redis cache" + }, + "resources": { + "type": { + "$ref": "#/62" + }, + "flags": 0, + "description": "List of the resource IDs that support the Redis resource" + }, + "recipe": { + "type": { + "$ref": "#/29" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/65" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/53" + }, + { + "$ref": "#/54" + }, + { + "$ref": "#/55" + }, + { + "$ref": "#/56" + }, + { + "$ref": "#/57" + }, + { + "$ref": "#/58" + }, + { + "$ref": "#/59" + } + ] + }, + { + "$type": "ObjectType", + "name": "RedisCacheSecrets", + "properties": { + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The connection string used to connect to the Redis cache" + }, + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The password for this Redis cache instance" + }, + "url": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URL used to connect to the Redis cache" + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/27" + } + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/63" + }, + { + "$ref": "#/64" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "RedisCacheListSecretsResult", + "properties": { + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The connection string used to connect to the Redis cache" + }, + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The password for this Redis cache instance" + }, + "url": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The URL used to connect to the Redis cache" + } + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/67" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Datastores/redisCaches@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/51" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/68" + }, + "description": "listSecrets" + } + } + }, + { + "$type": "StringLiteralType", + "value": "Applications.Datastores/sqlDatabases" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Datastores/sqlDatabases", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/70" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/71" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/73" + }, + "flags": 1, + "description": "SqlDatabase properties" + }, + "tags": { + "type": { + "$ref": "#/87" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/35" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "SqlDatabaseProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/81" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "database": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The name of the Sql database." + }, + "server": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The fully qualified domain name of the Sql database." + }, + "port": { + "type": { + "$ref": "#/26" + }, + "flags": 0, + "description": "Port value of the target Sql database" + }, + "username": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Username to use when connecting to the target Sql database" + }, + "resources": { + "type": { + "$ref": "#/82" + }, + "flags": 0, + "description": "List of the resource IDs that support the SqlDatabase resource" + }, + "secrets": { + "type": { + "$ref": "#/83" + }, + "flags": 0, + "description": "The secret values for the given SqlDatabase resource" + }, + "recipe": { + "type": { + "$ref": "#/29" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/86" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/74" + }, + { + "$ref": "#/75" + }, + { + "$ref": "#/76" + }, + { + "$ref": "#/77" + }, + { + "$ref": "#/78" + }, + { + "$ref": "#/79" + }, + { + "$ref": "#/80" + } + ] + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/27" + } + }, + { + "$type": "ObjectType", + "name": "SqlDatabaseSecrets", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Password to use when connecting to the target Sql database" + }, + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Connection string used to connect to the target Sql database" + } + } + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/84" + }, + { + "$ref": "#/85" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SqlDatabaseListSecretsResult", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "Password to use when connecting to the target Sql database" + }, + "connectionString": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "Connection string used to connect to the target Sql database" + } + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/88" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Datastores/sqlDatabases@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/72" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/89" + }, + "description": "listSecrets" + } + } + } +] \ No newline at end of file diff --git a/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json b/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json index 1470f5e665..ce641a8398 100644 --- a/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json +++ b/hack/bicep-types-radius/generated/applications/applications.messaging/2023-10-01-preview/types.json @@ -1 +1,669 @@ -[{"1":{"Kind":1}},{"1":{"Kind":2}},{"1":{"Kind":3}},{"1":{"Kind":4}},{"1":{"Kind":5}},{"1":{"Kind":6}},{"1":{"Kind":7}},{"1":{"Kind":8}},{"6":{"Value":"Applications.Messaging/rabbitMQQueues"}},{"6":{"Value":"2023-10-01-preview"}},{"2":{"Name":"Applications.Messaging/rabbitMQQueues","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":8,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":9,"Flags":10,"Description":"The resource api version"},"properties":{"Type":11,"Flags":1,"Description":"RabbitMQQueue portable resource properties"},"tags":{"Type":38,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":39,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"RabbitMQQueueProperties","Properties":{"environment":{"Type":4,"Flags":1,"Description":"Fully qualified resource ID for the environment that the portable resource is linked to"},"application":{"Type":4,"Flags":0,"Description":"Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)"},"provisioningState":{"Type":19,"Flags":2,"Description":"Provisioning state of the resource at the time the operation was called"},"status":{"Type":20,"Flags":2,"Description":"Status of a resource."},"secrets":{"Type":31,"Flags":0,"Description":"The connection secrets properties to the RabbitMQ instance"},"queue":{"Type":4,"Flags":0,"Description":"The name of the queue"},"host":{"Type":4,"Flags":0,"Description":"The hostname of the RabbitMQ instance"},"port":{"Type":3,"Flags":0,"Description":"The port of the RabbitMQ instance. Defaults to 5672"},"vHost":{"Type":4,"Flags":0,"Description":"The RabbitMQ virtual host (vHost) the client will connect to. Defaults to no vHost."},"username":{"Type":4,"Flags":0,"Description":"The username to use when connecting to the RabbitMQ instance"},"resources":{"Type":33,"Flags":0,"Description":"List of the resource IDs that support the rabbitMQ resource"},"tls":{"Type":2,"Flags":0,"Description":"Specifies whether to use SSL when connecting to the RabbitMQ instance"},"recipe":{"Type":34,"Flags":0,"Description":"The recipe used to automatically deploy underlying infrastructure for a portable resource"},"resourceProvisioning":{"Type":37,"Flags":0,"Description":"Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values."}}}},{"6":{"Value":"Succeeded"}},{"6":{"Value":"Failed"}},{"6":{"Value":"Canceled"}},{"6":{"Value":"Provisioning"}},{"6":{"Value":"Updating"}},{"6":{"Value":"Deleting"}},{"6":{"Value":"Accepted"}},{"5":{"Elements":[12,13,14,15,16,17,18]}},{"2":{"Name":"ResourceStatus","Properties":{"compute":{"Type":21,"Flags":0,"Description":"Represents backing compute resource"},"recipe":{"Type":28,"Flags":2,"Description":"Recipe status at deployment time for a resource."},"outputResources":{"Type":30,"Flags":0,"Description":"Properties of an output resource"}}}},{"7":{"Name":"EnvironmentCompute","Discriminator":"kind","BaseProperties":{"resourceId":{"Type":4,"Flags":0,"Description":"The resource id of the compute resource for application environment."},"identity":{"Type":22,"Flags":0,"Description":"IdentitySettings is the external identity setting."}},"Elements":{"kubernetes":26}}},{"2":{"Name":"IdentitySettings","Properties":{"kind":{"Type":25,"Flags":1,"Description":"IdentitySettingKind is the kind of supported external identity setting"},"oidcIssuer":{"Type":4,"Flags":0,"Description":"The URI for your compute platform's OIDC issuer"},"resource":{"Type":4,"Flags":0,"Description":"The resource ID of the provisioned identity"}}}},{"6":{"Value":"undefined"}},{"6":{"Value":"azure.com.workload"}},{"5":{"Elements":[23,24]}},{"2":{"Name":"KubernetesCompute","Properties":{"namespace":{"Type":4,"Flags":1,"Description":"The namespace to use for the environment."},"kind":{"Type":27,"Flags":1,"Description":"Discriminator property for EnvironmentCompute."}}}},{"6":{"Value":"kubernetes"}},{"2":{"Name":"RecipeStatus","Properties":{"templateKind":{"Type":4,"Flags":1,"Description":"TemplateKind is the kind of the recipe template used by the portable resource upon deployment."},"templatePath":{"Type":4,"Flags":1,"Description":"TemplatePath is the path of the recipe consumed by the portable resource upon deployment."},"templateVersion":{"Type":4,"Flags":0,"Description":"TemplateVersion is the version number of the template."}}}},{"2":{"Name":"OutputResource","Properties":{"localId":{"Type":4,"Flags":0,"Description":"The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships."},"id":{"Type":4,"Flags":0,"Description":"The UCP resource ID of the underlying resource."},"radiusManaged":{"Type":2,"Flags":0,"Description":"Determines whether Radius manages the lifecycle of the underlying resource."}}}},{"3":{"ItemType":29}},{"2":{"Name":"RabbitMQSecrets","Properties":{"password":{"Type":4,"Flags":0,"Description":"The password used to connect to the RabbitMQ instance"},"uri":{"Type":4,"Flags":0,"Description":"The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value"}}}},{"2":{"Name":"ResourceReference","Properties":{"id":{"Type":4,"Flags":1,"Description":"Resource id of an existing resource"}}}},{"3":{"ItemType":32}},{"2":{"Name":"Recipe","Properties":{"name":{"Type":4,"Flags":1,"Description":"The name of the recipe within the environment to use"},"parameters":{"Type":0,"Flags":0,"Description":"Any object"}}}},{"6":{"Value":"recipe"}},{"6":{"Value":"manual"}},{"5":{"Elements":[35,36]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"SystemData","Properties":{"createdBy":{"Type":4,"Flags":0,"Description":"The identity that created the resource."},"createdByType":{"Type":44,"Flags":0,"Description":"The type of identity that created the resource."},"createdAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource creation (UTC)."},"lastModifiedBy":{"Type":4,"Flags":0,"Description":"The identity that last modified the resource."},"lastModifiedByType":{"Type":49,"Flags":0,"Description":"The type of identity that created the resource."},"lastModifiedAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource last modification (UTC)"}}}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[40,41,42,43]}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[45,46,47,48]}},{"4":{"Name":"Applications.Messaging/rabbitMQQueues@2023-10-01-preview","ScopeType":0,"Body":10}},{"2":{"Name":"RabbitMQListSecretsResult","Properties":{"password":{"Type":4,"Flags":2,"Description":"The password used to connect to the RabbitMQ instance"},"uri":{"Type":4,"Flags":2,"Description":"The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value"}}}},{"8":{"Name":"listSecrets","ResourceType":"Applications.Messaging/rabbitMQQueues","ApiVersion":"2023-10-01-preview","Output":51,"Input":0}}] \ No newline at end of file +[ + { + "$type": "StringType" + }, + { + "$type": "StringLiteralType", + "value": "Applications.Messaging/rabbitMQQueues" + }, + { + "$type": "StringLiteralType", + "value": "2023-10-01-preview" + }, + { + "$type": "ObjectType", + "name": "Applications.Messaging/rabbitMQQueues", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/1" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/2" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/4" + }, + "flags": 1, + "description": "RabbitMQQueue portable resource properties" + }, + "tags": { + "type": { + "$ref": "#/34" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/35" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "RabbitMQQueueProperties", + "properties": { + "environment": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Fully qualified resource ID for the environment that the portable resource is linked to" + }, + "application": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Fully qualified resource ID for the application that the portable resource is consumed by (if applicable)" + }, + "provisioningState": { + "type": { + "$ref": "#/12" + }, + "flags": 2, + "description": "Provisioning state of the resource at the time the operation was called" + }, + "status": { + "type": { + "$ref": "#/13" + }, + "flags": 2, + "description": "Status of a resource." + }, + "secrets": { + "type": { + "$ref": "#/25" + }, + "flags": 0, + "description": "The connection secrets properties to the RabbitMQ instance" + }, + "queue": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The name of the queue" + }, + "host": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The hostname of the RabbitMQ instance" + }, + "port": { + "type": { + "$ref": "#/26" + }, + "flags": 0, + "description": "The port of the RabbitMQ instance. Defaults to 5672" + }, + "vHost": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The RabbitMQ virtual host (vHost) the client will connect to. Defaults to no vHost." + }, + "username": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The username to use when connecting to the RabbitMQ instance" + }, + "resources": { + "type": { + "$ref": "#/28" + }, + "flags": 0, + "description": "List of the resource IDs that support the rabbitMQ resource" + }, + "tls": { + "type": { + "$ref": "#/23" + }, + "flags": 0, + "description": "Specifies whether to use SSL when connecting to the RabbitMQ instance" + }, + "recipe": { + "type": { + "$ref": "#/29" + }, + "flags": 0, + "description": "The recipe used to automatically deploy underlying infrastructure for a portable resource" + }, + "resourceProvisioning": { + "type": { + "$ref": "#/33" + }, + "flags": 0, + "description": "Specifies how the underlying service/resource is provisioned and managed. Available values are 'recipe', where Radius manages the lifecycle of the resource through a Recipe, and 'manual', where a user manages the resource and provides the values." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Succeeded" + }, + { + "$type": "StringLiteralType", + "value": "Failed" + }, + { + "$type": "StringLiteralType", + "value": "Canceled" + }, + { + "$type": "StringLiteralType", + "value": "Provisioning" + }, + { + "$type": "StringLiteralType", + "value": "Updating" + }, + { + "$type": "StringLiteralType", + "value": "Deleting" + }, + { + "$type": "StringLiteralType", + "value": "Accepted" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/5" + }, + { + "$ref": "#/6" + }, + { + "$ref": "#/7" + }, + { + "$ref": "#/8" + }, + { + "$ref": "#/9" + }, + { + "$ref": "#/10" + }, + { + "$ref": "#/11" + } + ] + }, + { + "$type": "ObjectType", + "name": "ResourceStatus", + "properties": { + "compute": { + "type": { + "$ref": "#/14" + }, + "flags": 0, + "description": "Represents backing compute resource" + }, + "recipe": { + "type": { + "$ref": "#/21" + }, + "flags": 2, + "description": "Recipe status at deployment time for a resource." + }, + "outputResources": { + "type": { + "$ref": "#/24" + }, + "flags": 0, + "description": "Properties of an output resource" + } + } + }, + { + "$type": "DiscriminatedObjectType", + "name": "EnvironmentCompute", + "discriminator": "kind", + "baseProperties": { + "resourceId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource id of the compute resource for application environment." + }, + "identity": { + "type": { + "$ref": "#/15" + }, + "flags": 0, + "description": "IdentitySettings is the external identity setting." + } + }, + "elements": { + "kubernetes": { + "$ref": "#/19" + } + } + }, + { + "$type": "ObjectType", + "name": "IdentitySettings", + "properties": { + "kind": { + "type": { + "$ref": "#/18" + }, + "flags": 1, + "description": "IdentitySettingKind is the kind of supported external identity setting" + }, + "oidcIssuer": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The URI for your compute platform's OIDC issuer" + }, + "resource": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The resource ID of the provisioned identity" + } + } + }, + { + "$type": "StringLiteralType", + "value": "undefined" + }, + { + "$type": "StringLiteralType", + "value": "azure.com.workload" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/16" + }, + { + "$ref": "#/17" + } + ] + }, + { + "$type": "ObjectType", + "name": "KubernetesCompute", + "properties": { + "namespace": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The namespace to use for the environment." + }, + "kind": { + "type": { + "$ref": "#/20" + }, + "flags": 1, + "description": "Discriminator property for EnvironmentCompute." + } + } + }, + { + "$type": "StringLiteralType", + "value": "kubernetes" + }, + { + "$type": "ObjectType", + "name": "RecipeStatus", + "properties": { + "templateKind": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplateKind is the kind of the recipe template used by the portable resource upon deployment." + }, + "templatePath": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "TemplatePath is the path of the recipe consumed by the portable resource upon deployment." + }, + "templateVersion": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "TemplateVersion is the version number of the template." + } + } + }, + { + "$type": "ObjectType", + "name": "OutputResource", + "properties": { + "localId": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The logical identifier scoped to the owning Radius resource. This is only needed or used when a resource has a dependency relationship. LocalIDs do not have any particular format or meaning beyond being compared to determine dependency relationships." + }, + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The UCP resource ID of the underlying resource." + }, + "radiusManaged": { + "type": { + "$ref": "#/23" + }, + "flags": 0, + "description": "Determines whether Radius manages the lifecycle of the underlying resource." + } + } + }, + { + "$type": "BooleanType" + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/22" + } + }, + { + "$type": "ObjectType", + "name": "RabbitMQSecrets", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The password used to connect to the RabbitMQ instance" + }, + "uri": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value" + } + } + }, + { + "$type": "IntegerType" + }, + { + "$type": "ObjectType", + "name": "ResourceReference", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "Resource id of an existing resource" + } + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/27" + } + }, + { + "$type": "ObjectType", + "name": "Recipe", + "properties": { + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 1, + "description": "The name of the recipe within the environment to use" + }, + "parameters": { + "type": { + "$ref": "#/30" + }, + "flags": 0, + "description": "Any object" + } + } + }, + { + "$type": "AnyType" + }, + { + "$type": "StringLiteralType", + "value": "recipe" + }, + { + "$type": "StringLiteralType", + "value": "manual" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/31" + }, + { + "$ref": "#/32" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SystemData", + "properties": { + "createdBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that created the resource." + }, + "createdByType": { + "type": { + "$ref": "#/40" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": { + "$ref": "#/45" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/36" + }, + { + "$ref": "#/37" + }, + { + "$ref": "#/38" + }, + { + "$ref": "#/39" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/41" + }, + { + "$ref": "#/42" + }, + { + "$ref": "#/43" + }, + { + "$ref": "#/44" + } + ] + }, + { + "$type": "ObjectType", + "name": "RabbitMQListSecretsResult", + "properties": { + "password": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The password used to connect to the RabbitMQ instance" + }, + "uri": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The connection URI of the RabbitMQ instance. Generated automatically from host, port, SSL, username, password, and vhost. Can be overridden with a custom value" + } + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/46" + } + }, + { + "$type": "ResourceType", + "name": "Applications.Messaging/rabbitMQQueues@2023-10-01-preview", + "scopeType": 0, + "body": { + "$ref": "#/3" + }, + "flags": 0, + "functions": { + "listSecrets": { + "type": { + "$ref": "#/47" + }, + "description": "listSecrets" + } + } + } +] \ No newline at end of file diff --git a/hack/bicep-types-radius/generated/index.json b/hack/bicep-types-radius/generated/index.json index 1c82904878..9e9032ebcf 100644 --- a/hack/bicep-types-radius/generated/index.json +++ b/hack/bicep-types-radius/generated/index.json @@ -1 +1,52 @@ -{"Resources":{"Applications.Core/applications@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":58},"Applications.Core/containers@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":123},"Applications.Core/environments@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":161},"Applications.Core/extenders@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":179},"Applications.Core/gateways@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":200},"Applications.Core/secretStores@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":223},"Applications.Core/volumes@2023-10-01-preview":{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":260},"Applications.Dapr/pubSubBrokers@2023-10-01-preview":{"RelativePath":"applications/applications.dapr/2023-10-01-preview/types.json","Index":49},"Applications.Dapr/secretStores@2023-10-01-preview":{"RelativePath":"applications/applications.dapr/2023-10-01-preview/types.json","Index":66},"Applications.Dapr/stateStores@2023-10-01-preview":{"RelativePath":"applications/applications.dapr/2023-10-01-preview/types.json","Index":84},"Applications.Datastores/mongoDatabases@2023-10-01-preview":{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":50},"Applications.Datastores/redisCaches@2023-10-01-preview":{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":69},"Applications.Datastores/sqlDatabases@2023-10-01-preview":{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":88},"Applications.Messaging/rabbitMQQueues@2023-10-01-preview":{"RelativePath":"applications/applications.messaging/2023-10-01-preview/types.json","Index":50}},"Functions":{"applications.core/extenders":{"2023-10-01-preview":[{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":261}]},"applications.core/secretstores":{"2023-10-01-preview":[{"RelativePath":"applications/applications.core/2023-10-01-preview/types.json","Index":267}]},"applications.datastores/mongodatabases":{"2023-10-01-preview":[{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":90}]},"applications.datastores/rediscaches":{"2023-10-01-preview":[{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":92}]},"applications.datastores/sqldatabases":{"2023-10-01-preview":[{"RelativePath":"applications/applications.datastores/2023-10-01-preview/types.json","Index":94}]},"applications.messaging/rabbitmqqueues":{"2023-10-01-preview":[{"RelativePath":"applications/applications.messaging/2023-10-01-preview/types.json","Index":52}]}}} \ No newline at end of file +{ + "resources": { + "Applications.Core/applications@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/53" + }, + "Applications.Core/containers@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/119" + }, + "Applications.Core/environments@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/157" + }, + "Applications.Core/extenders@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/176" + }, + "Applications.Core/gateways@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/197" + }, + "Applications.Core/secretStores@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/226" + }, + "Applications.Core/volumes@2023-10-01-preview": { + "$ref": "applications/applications.core/2023-10-01-preview/types.json#/263" + }, + "Applications.Dapr/pubSubBrokers@2023-10-01-preview": { + "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/44" + }, + "Applications.Dapr/secretStores@2023-10-01-preview": { + "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/61" + }, + "Applications.Dapr/stateStores@2023-10-01-preview": { + "$ref": "applications/applications.dapr/2023-10-01-preview/types.json#/79" + }, + "Applications.Datastores/mongoDatabases@2023-10-01-preview": { + "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/48" + }, + "Applications.Datastores/redisCaches@2023-10-01-preview": { + "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/69" + }, + "Applications.Datastores/sqlDatabases@2023-10-01-preview": { + "$ref": "applications/applications.datastores/2023-10-01-preview/types.json#/90" + }, + "Applications.Messaging/rabbitMQQueues@2023-10-01-preview": { + "$ref": "applications/applications.messaging/2023-10-01-preview/types.json#/48" + } + }, + "resourceFunctions": {}, + "settings": { + "name": "Radius", + "version": "latest", + "isSingleton": false + } +} \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json index cbec81c34e..0817314197 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/package-lock.json +++ b/hack/bicep-types-radius/src/autorest.bicep/package-lock.json @@ -1,7 +1,7 @@ { "name": "@autorest/bicep", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -19,6 +19,7 @@ "@types/node": "^20.12.12", "@typescript-eslint/eslint-plugin": "^7.10.0", "@typescript-eslint/parser": "^7.10.0", + "bicep-types": "file:../../../../bicep-types/src/bicep-types", "colors": "^1.4.0", "dir-compare": "^5.0.0", "eslint": "^8.56.0", @@ -30,119 +31,148 @@ "typescript": "^5.4.5" } }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "../../../../bicep-types/src/bicep-types": { + "version": "0.0.0-placeholder", + "dev": true, + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.0.3", + "@types/node": "^20.1.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", + "eslint": "^8.23.1", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-jest": "^28.2.0", + "jest": "^29.0.3", + "nerdbank-gitversioning": "^3.5.113", + "ts-jest": "^29.0.1", + "ts-node": "^10.9.1", + "typescript": "^5.0.2" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/@ampproject/remapping": { + "version": "2.2.1", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@autorest/codemodel": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@autorest/codemodel/-/codemodel-4.20.0.tgz", - "integrity": "sha512-Z2GwVwAGNTcfGUmrWT5LJqZv/WDXKBBpxhZrHu6zco/HrEGrqKQcKx5whlLX/GmAB/KmhcOWYr6aIyWomcoisQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame": { + "version": "7.22.13", + "dev": true, + "license": "MIT", "dependencies": { - "@azure-tools/codegen": "~2.10.0", - "js-yaml": "~4.1.0" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=6.9.0" } }, - "node_modules/@autorest/extension-base": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@autorest/extension-base/-/extension-base-3.6.0.tgz", - "integrity": "sha512-hE6nmdYu2SA6xlG46lM+/njtz0yNEkhzfkOs7PjrYulnXuBWHo08RdbXHGcecypgNhV2QAQcbV6ar5f1UGX6xQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", "dependencies": { - "@azure-tools/codegen": "~2.10.0", - "js-yaml": "~4.1.0", - "vscode-jsonrpc": "^3.5.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=4" } }, - "node_modules/@azure-tools/async-io": { - "version": "3.0.254", - "resolved": "https://registry.npmjs.org/@azure-tools/async-io/-/async-io-3.0.254.tgz", - "integrity": "sha512-X1C7XdyCuo50ch9FzKtTvmK18FgDxxf1Bbt3cSoknQqeDaRegHSSCO+zByq2YA4NvUzKXeZ1engh29IDxZXgpQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", "dependencies": { - "@azure-tools/tasks": "~3.0.255", - "proper-lockfile": "~2.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=10.12.0" + "node": ">=4" } }, - "node_modules/@azure-tools/codegen": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@azure-tools/codegen/-/codegen-2.10.0.tgz", - "integrity": "sha512-gdy0at3BUZAAARgiX9Ye6SNCKhcjLs5FNUewa/KV/dMGcPv7mBvbslt5VO3W8wj0n96ifk970aIFaivjacBxeQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", "dependencies": { - "@azure-tools/async-io": "~3.0.0", - "js-yaml": "~4.1.0", - "semver": "^7.3.5" - }, + "color-name": "1.1.3" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12.0.0" + "node": ">=0.8.0" } }, - "node_modules/@azure-tools/tasks": { - "version": "3.0.255", - "resolved": "https://registry.npmjs.org/@azure-tools/tasks/-/tasks-3.0.255.tgz", - "integrity": "sha512-GjALNLz7kWMEdRVbaN5g0cJHNAr3XVTbP0611Mv2UzMgGL6FOhNZJK+oPHJKLDR8EEDZNnkwPlyi7B+INXUSQA==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10.12.0" + "node": ">=4" } }, - "node_modules/@babel/code-frame": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", - "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.6", - "picocolors": "^1.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "node_modules/@babel/compat-data": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.6.tgz", - "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/compat-data": { + "version": "7.22.9", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/core": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz", - "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/core": { + "version": "7.22.9", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.6", - "@babel/generator": "^7.24.6", - "@babel/helper-compilation-targets": "^7.24.6", - "@babel/helper-module-transforms": "^7.24.6", - "@babel/helpers": "^7.24.6", - "@babel/parser": "^7.24.6", - "@babel/template": "^7.24.6", - "@babel/traverse": "^7.24.6", - "@babel/types": "^7.24.6", - "convert-source-map": "^2.0.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.9", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", + "json5": "^2.2.2", "semver": "^6.3.1" }, "engines": { @@ -153,112 +183,111 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "../../../../bicep-types/src/bicep-types/node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/generator": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz", - "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/generator": { + "version": "7.23.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.6", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", - "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-compilation-targets": { + "version": "7.22.9", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.24.6", - "@babel/helper-validator-option": "^7.24.6", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.5", + "browserslist": "^4.21.9", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", - "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", - "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-function-name": { + "version": "7.23.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.6", - "@babel/types": "^7.24.6" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", - "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", - "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-module-imports": { + "version": "7.22.5", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", - "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.6", - "@babel/helper-module-imports": "^7.24.6", - "@babel/helper-simple-access": "^7.24.6", - "@babel/helper-split-export-declaration": "^7.24.6", - "@babel/helper-validator-identifier": "^7.24.6" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -267,99 +296,90 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", - "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", - "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-simple-access": { + "version": "7.22.5", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", - "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", - "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-string-parser": { + "version": "7.22.5", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", - "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", - "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helper-validator-option": { + "version": "7.22.5", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helpers": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.6.tgz", - "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/helpers": { + "version": "7.22.6", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.6", - "@babel/types": "^7.24.6" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", - "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight": { + "version": "7.22.20", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.6", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -367,11 +387,10 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/chalk": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -381,44 +400,39 @@ "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, - "node_modules/@babel/highlight/node_modules/color-name": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, - "node_modules/@babel/highlight/node_modules/has-flag": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -426,11 +440,10 @@ "node": ">=4" } }, - "node_modules/@babel/parser": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz", - "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/parser": { + "version": "7.23.0", "dev": true, + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -438,11 +451,10 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -450,11 +462,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-bigint": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -462,11 +473,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -474,11 +484,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -486,11 +495,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-json-strings": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -498,13 +506,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.6.tgz", - "integrity": "sha512-lWfvAIFNWMlCsU0DRUun2GpFwZdGTukLaHJqRh1JRb80NdAP5Sb1HDHB5X9P9OtgZHQl089UzQkpYlBq2VTPRw==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -513,11 +520,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -525,11 +531,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -537,11 +542,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -549,11 +553,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -561,11 +564,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -573,11 +575,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -585,11 +586,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -600,13 +600,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.6.tgz", - "integrity": "sha512-TzCtxGgVTEJWWwcYwQhCIQ6WaKlo80/B+Onsk4RRCcYqpYGFcG9etPW94VToGte5AAcxRrhjPUFvUS3Y2qKi4A==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -615,75 +614,69 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/template": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz", - "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/template": { + "version": "7.22.15", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.6", - "@babel/parser": "^7.24.6", - "@babel/types": "^7.24.6" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz", - "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/traverse": { + "version": "7.23.2", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.6", - "@babel/generator": "^7.24.6", - "@babel/helper-environment-visitor": "^7.24.6", - "@babel/helper-function-name": "^7.24.6", - "@babel/helper-hoist-variables": "^7.24.6", - "@babel/helper-split-export-declaration": "^7.24.6", - "@babel/parser": "^7.24.6", - "@babel/types": "^7.24.6", - "debug": "^4.3.1", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", "globals": "^11.1.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { + "../../../../bicep-types/src/bicep-types/node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/@babel/types": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", - "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@babel/types": { + "version": "7.23.0", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.6", - "@babel/helper-validator-identifier": "^7.24.6", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { + "../../../../bicep-types/src/bicep-types/node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@cspotcode/source-map-support": { + "../../../../bicep-types/src/bicep-types/node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -691,21 +684,19 @@ "node": ">=12" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "../../../../bicep-types/src/bicep-types/node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@eslint-community/eslint-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -716,20 +707,18 @@ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@eslint-community/regexpp": { + "../../../../bicep-types/src/bicep-types/node_modules/@eslint-community/regexpp": { "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc": { + "../../../../bicep-types/src/bicep-types/node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -748,20 +737,18 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/js": { + "../../../../bicep-types/src/bicep-types/node_modules/@eslint/js": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@humanwhocodes/config-array": { + "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/config-array": { "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -771,11 +758,10 @@ "node": ">=10.10.0" } }, - "node_modules/@humanwhocodes/module-importer": { + "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -784,17 +770,15 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/@istanbuljs/load-nyc-config": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -806,20 +790,18 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -828,11 +810,10 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -841,11 +822,10 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -853,11 +833,10 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -868,11 +847,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -880,29 +858,26 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/schema": { + "../../../../bicep-types/src/bicep-types/node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/console": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/console": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -915,11 +890,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/core": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/core": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -962,11 +936,10 @@ } } }, - "node_modules/@jest/environment": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/environment": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -977,11 +950,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/expect": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -990,11 +962,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/expect-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/expect-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1002,11 +973,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/fake-timers": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/fake-timers": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1019,11 +989,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/globals": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/globals": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1034,11 +1003,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/reporters": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/reporters": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1077,11 +1045,25 @@ } } }, - "node_modules/@jest/schemas": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1089,11 +1071,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/source-map": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1103,11 +1084,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/test-result": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/test-result": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1118,11 +1098,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/test-sequencer": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/test-sequencer": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1133,11 +1112,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/transform": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1159,11 +1137,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/types": { + "../../../../bicep-types/src/bicep-types/node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1176,59 +1153,58 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", + "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/set-array": { + "version": "1.1.2", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { + "../../../../bicep-types/src/bicep-types/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "dev": true, + "license": "MIT" + }, + "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1237,20 +1213,18 @@ "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { + "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, - "node_modules/@nodelib/fs.walk": { + "../../../../bicep-types/src/bicep-types/node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1259,59 +1233,51 @@ "node": ">= 8" } }, - "node_modules/@sinclair/typebox": { + "../../../../bicep-types/src/bicep-types/node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@sinonjs/commons": { + "version": "3.0.0", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/fake-timers": { + "../../../../bicep-types/src/bicep-types/node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node10": { + "version": "1.0.9", + "dev": true, + "license": "MIT" }, - "node_modules/@tsconfig/node12": { + "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node12": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@tsconfig/node14": { + "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node14": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@tsconfig/node16": { + "../../../../bicep-types/src/bicep-types/node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__core": { + "version": "7.20.1", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -1320,117 +1286,99 @@ "@types/babel__traverse": "*" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__generator": { + "version": "7.6.4", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__template": { + "version": "7.4.1", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/babel__traverse": { + "version": "7.20.1", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.20.7" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/graceful-fs": { + "version": "4.1.6", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "dev": true, + "license": "MIT" }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/istanbul-reports": { + "version": "3.0.1", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/jest": { + "../../../../bicep-types/src/bicep-types/node_modules/@types/jest": { "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, - "node_modules/@types/lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==" - }, - "node_modules/@types/node": { + "../../../../bicep-types/src/bicep-types/node_modules/@types/node": { "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", "dev": true, + "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/@types/stack-utils": { + "version": "2.0.1", + "dev": true, + "license": "MIT" }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "../../../../bicep-types/src/bicep-types/node_modules/@types/yargs": { + "version": "17.0.24", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/@types/yargs-parser": { + "version": "21.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/eslint-plugin": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz", - "integrity": "sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.10.0", @@ -1459,11 +1407,10 @@ } } }, - "node_modules/@typescript-eslint/parser": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/parser": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz", - "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "7.10.0", "@typescript-eslint/types": "7.10.0", @@ -1487,11 +1434,10 @@ } } }, - "node_modules/@typescript-eslint/scope-manager": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/scope-manager": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz", - "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "7.10.0", "@typescript-eslint/visitor-keys": "7.10.0" @@ -1504,11 +1450,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/type-utils": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz", - "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "7.10.0", "@typescript-eslint/utils": "7.10.0", @@ -1531,11 +1476,10 @@ } } }, - "node_modules/@typescript-eslint/types": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/types": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", - "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -1544,11 +1488,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/typescript-estree": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", - "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "7.10.0", "@typescript-eslint/visitor-keys": "7.10.0", @@ -1572,20 +1515,18 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1596,11 +1537,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/utils": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/utils": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", - "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.10.0", @@ -1618,11 +1558,10 @@ "eslint": "^8.56.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { + "../../../../bicep-types/src/bicep-types/node_modules/@typescript-eslint/visitor-keys": { "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", - "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "7.10.0", "eslint-visitor-keys": "^3.4.3" @@ -1635,17 +1574,15 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/structured-clone": { + "../../../../bicep-types/src/bicep-types/node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "../../../../bicep-types/src/bicep-types/node_modules/acorn": { + "version": "8.10.0", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1653,29 +1590,26 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-jsx": { + "../../../../bicep-types/src/bicep-types/node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "../../../../bicep-types/src/bicep-types/node_modules/acorn-walk": { + "version": "8.2.0", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/ajv": { + "../../../../bicep-types/src/bicep-types/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1687,11 +1621,10 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-escapes": { + "../../../../bicep-types/src/bicep-types/node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -1702,11 +1635,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { + "../../../../bicep-types/src/bicep-types/node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1714,20 +1646,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { + "../../../../bicep-types/src/bicep-types/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/ansi-styles": { + "../../../../bicep-types/src/bicep-types/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1738,11 +1668,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { + "../../../../bicep-types/src/bicep-types/node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1751,43 +1680,28 @@ "node": ">= 8" } }, - "node_modules/arg": { + "../../../../bicep-types/src/bicep-types/node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/argparse": { + "../../../../bicep-types/src/bicep-types/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "dev": true, + "license": "Python-2.0" }, - "node_modules/array-union": { + "../../../../bicep-types/src/bicep-types/node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/autorest": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.7.1.tgz", - "integrity": "sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==", - "hasInstallScript": true, - "bin": { - "autorest": "entrypoints/app.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/babel-jest": { + "../../../../bicep-types/src/bicep-types/node_modules/babel-jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -1804,11 +1718,10 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-plugin-istanbul": { + "../../../../bicep-types/src/bicep-types/node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -1820,36 +1733,10 @@ "node": ">=8" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-jest-hoist": { + "../../../../bicep-types/src/bicep-types/node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -1860,11 +1747,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-preset-current-node-syntax": { + "../../../../bicep-types/src/bicep-types/node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -1883,11 +1769,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-preset-jest": { + "../../../../bicep-types/src/bicep-types/node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -1899,38 +1784,33 @@ "@babel/core": "^7.0.0" } }, - "node_modules/balanced-match": { + "../../../../bicep-types/src/bicep-types/node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/brace-expansion": { + "../../../../bicep-types/src/bicep-types/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "../../../../bicep-types/src/bicep-types/node_modules/braces": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "../../../../bicep-types/src/bicep-types/node_modules/browserslist": { + "version": "4.21.9", "dev": true, "funding": [ { @@ -1946,11 +1826,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -1959,11 +1840,10 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bs-logger": { + "../../../../bicep-types/src/bicep-types/node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, + "license": "MIT", "dependencies": { "fast-json-stable-stringify": "2.x" }, @@ -1971,43 +1851,46 @@ "node": ">= 6" } }, - "node_modules/bser": { + "../../../../bicep-types/src/bicep-types/node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } }, - "node_modules/buffer-from": { + "../../../../bicep-types/src/bicep-types/node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/callsites": { + "../../../../bicep-types/src/bicep-types/node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/camelcase": { + "../../../../bicep-types/src/bicep-types/node_modules/camel-case": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001623", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001623.tgz", - "integrity": "sha512-X/XhAVKlpIxWPpgRTnlgZssJrF0m6YtRA0QDWgsBNT12uZM6LPRydR7ip405Y3t1LamD8cP2TZFEDZFBf5ApcA==", + "../../../../bicep-types/src/bicep-types/node_modules/caniuse-lite": { + "version": "1.0.30001517", "dev": true, "funding": [ { @@ -2022,13 +1905,13 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, - "node_modules/chalk": { + "../../../../bicep-types/src/bicep-types/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2040,19 +1923,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/char-regex": { + "../../../../bicep-types/src/bicep-types/node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "../../../../bicep-types/src/bicep-types/node_modules/ci-info": { + "version": "3.8.0", "dev": true, "funding": [ { @@ -2060,21 +1940,20 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/cjs-module-lexer": { + "version": "1.2.3", + "dev": true, + "license": "MIT" }, - "node_modules/cliui": { + "../../../../bicep-types/src/bicep-types/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2084,27 +1963,24 @@ "node": ">=12" } }, - "node_modules/co": { + "../../../../bicep-types/src/bicep-types/node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" } }, - "node_modules/collect-v8-coverage": { + "../../../../bicep-types/src/bicep-types/node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/color-convert": { + "../../../../bicep-types/src/bicep-types/node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2112,38 +1988,25 @@ "node": ">=7.0.0" } }, - "node_modules/color-name": { + "../../../../bicep-types/src/bicep-types/node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, - "engines": { - "node": ">=0.1.90" - } + "license": "MIT" }, - "node_modules/concat-map": { + "../../../../bicep-types/src/bicep-types/node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/convert-source-map": { + "../../../../bicep-types/src/bicep-types/node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/create-jest": { + "../../../../bicep-types/src/bicep-types/node_modules/create-jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -2160,17 +2023,15 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-require": { + "../../../../bicep-types/src/bicep-types/node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/cross-spawn": { + "../../../../bicep-types/src/bicep-types/node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2180,11 +2041,10 @@ "node": ">= 8" } }, - "node_modules/debug": { + "../../../../bicep-types/src/bicep-types/node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -2197,11 +2057,10 @@ } } }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "../../../../bicep-types/src/bicep-types/node_modules/dedent": { + "version": "1.5.1", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -2211,63 +2070,47 @@ } } }, - "node_modules/deep-is": { + "../../../../bicep-types/src/bicep-types/node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/deepmerge": { + "../../../../bicep-types/src/bicep-types/node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/detect-newline": { + "../../../../bicep-types/src/bicep-types/node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/diff": { + "../../../../bicep-types/src/bicep-types/node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, - "node_modules/diff-sequences": { + "../../../../bicep-types/src/bicep-types/node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-compare": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-5.0.0.tgz", - "integrity": "sha512-/GCjdixGQyJ9sj/HiMTYaNGztXqHnj0kWuKDfrGU6fCvZzQBihMBQLToG/dwg5cSs7lm5707iwbKOdsJh5VV4g==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.5", - "p-limit": "^3.1.0 " - } - }, - "node_modules/dir-glob": { + "../../../../bicep-types/src/bicep-types/node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -2275,11 +2118,10 @@ "node": ">=8" } }, - "node_modules/doctrine": { + "../../../../bicep-types/src/bicep-types/node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2287,17 +2129,15 @@ "node": ">=6.0.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.783", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.783.tgz", - "integrity": "sha512-bT0jEz/Xz1fahQpbZ1D7LgmPYZ3iHVY39NcWWro1+hA2IvjiPeaXtfSqrQ+nXjApMvQRE2ASt1itSLRrebHMRQ==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/electron-to-chromium": { + "version": "1.4.468", + "dev": true, + "license": "ISC" }, - "node_modules/emittery": { + "../../../../bicep-types/src/bicep-types/node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2305,35 +2145,31 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/emoji-regex": { + "../../../../bicep-types/src/bicep-types/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/error-ex": { + "../../../../bicep-types/src/bicep-types/node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "../../../../bicep-types/src/bicep-types/node_modules/escalade": { + "version": "3.1.1", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/escape-string-regexp": { + "../../../../bicep-types/src/bicep-types/node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2341,11 +2177,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { + "../../../../bicep-types/src/bicep-types/node_modules/eslint": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -2396,20 +2231,18 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-plugin-header": { + "../../../../bicep-types/src/bicep-types/node_modules/eslint-plugin-header": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", - "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", "dev": true, + "license": "MIT", "peerDependencies": { "eslint": ">=7.7.0" } }, - "node_modules/eslint-plugin-jest": { + "../../../../bicep-types/src/bicep-types/node_modules/eslint-plugin-jest": { "version": "28.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.5.0.tgz", - "integrity": "sha512-6np6DGdmNq/eBbA7HOUNV8fkfL86PYwBfwyb8n23FXgJNTR8+ot3smRHjza9LGsBBZRypK3qyF79vMjohIL8eQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0" }, @@ -2430,11 +2263,10 @@ } } }, - "node_modules/eslint-scope": { + "../../../../bicep-types/src/bicep-types/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2446,11 +2278,10 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-visitor-keys": { + "../../../../bicep-types/src/bicep-types/node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2458,11 +2289,10 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree": { + "../../../../bicep-types/src/bicep-types/node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2475,11 +2305,10 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { + "../../../../bicep-types/src/bicep-types/node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2488,11 +2317,10 @@ "node": ">=4" } }, - "node_modules/esquery": { + "../../../../bicep-types/src/bicep-types/node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2500,11 +2328,10 @@ "node": ">=0.10" } }, - "node_modules/esrecurse": { + "../../../../bicep-types/src/bicep-types/node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2512,29 +2339,26 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "../../../../bicep-types/src/bicep-types/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, - "node_modules/esutils": { + "../../../../bicep-types/src/bicep-types/node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/execa": { + "../../../../bicep-types/src/bicep-types/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -2553,20 +2377,17 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/exit": { + "../../../../bicep-types/src/bicep-types/node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" } }, - "node_modules/expect": { + "../../../../bicep-types/src/bicep-types/node_modules/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -2578,17 +2399,15 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fast-deep-equal": { + "../../../../bicep-types/src/bicep-types/node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "../../../../bicep-types/src/bicep-types/node_modules/fast-glob": { + "version": "3.3.1", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2600,11 +2419,10 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { + "../../../../bicep-types/src/bicep-types/node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2612,41 +2430,36 @@ "node": ">= 6" } }, - "node_modules/fast-json-stable-stringify": { + "../../../../bicep-types/src/bicep-types/node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/fast-levenshtein": { + "../../../../bicep-types/src/bicep-types/node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "../../../../bicep-types/src/bicep-types/node_modules/fastq": { + "version": "1.15.0", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, - "node_modules/fb-watchman": { + "../../../../bicep-types/src/bicep-types/node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, - "node_modules/file-entry-cache": { + "../../../../bicep-types/src/bicep-types/node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2654,11 +2467,10 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "../../../../bicep-types/src/bicep-types/node_modules/fill-range": { + "version": "7.0.1", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2666,11 +2478,10 @@ "node": ">=8" } }, - "node_modules/find-up": { + "../../../../bicep-types/src/bicep-types/node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2682,11 +2493,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { + "../../../../bicep-types/src/bicep-types/node_modules/flat-cache": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -2695,24 +2505,20 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/flatted": { + "version": "3.2.7", + "dev": true, + "license": "ISC" }, - "node_modules/fs.realpath": { + "../../../../bicep-types/src/bicep-types/node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/fsevents": { + "../../../../bicep-types/src/bicep-types/node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2721,47 +2527,39 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "../../../../bicep-types/src/bicep-types/node_modules/function-bind": { + "version": "1.1.1", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/gensync": { + "../../../../bicep-types/src/bicep-types/node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/get-caller-file": { + "../../../../bicep-types/src/bicep-types/node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-package-type": { + "../../../../bicep-types/src/bicep-types/node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } }, - "node_modules/get-stream": { + "../../../../bicep-types/src/bicep-types/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2769,16 +2567,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "../../../../bicep-types/src/bicep-types/node_modules/glob": { + "version": "7.2.3", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -2789,11 +2586,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { + "../../../../bicep-types/src/bicep-types/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2801,11 +2597,10 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "../../../../bicep-types/src/bicep-types/node_modules/globals": { + "version": "13.23.0", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2816,11 +2611,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { + "../../../../bicep-types/src/bicep-types/node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2836,67 +2630,60 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/graceful-fs": { + "../../../../bicep-types/src/bicep-types/node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "dev": true, + "license": "ISC" }, - "node_modules/graphemer": { + "../../../../bicep-types/src/bicep-types/node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "../../../../bicep-types/src/bicep-types/node_modules/has": { + "version": "1.0.3", "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "../../../../bicep-types/src/bicep-types/node_modules/has-flag": { + "version": "4.0.0", "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/html-escaper": { + "../../../../bicep-types/src/bicep-types/node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/human-signals": { + "../../../../bicep-types/src/bicep-types/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, - "node_modules/ignore": { + "../../../../bicep-types/src/bicep-types/node_modules/ignore": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/import-fresh": { + "../../../../bicep-types/src/bicep-types/node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2908,11 +2695,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { + "../../../../bicep-types/src/bicep-types/node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2927,81 +2713,72 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { + "../../../../bicep-types/src/bicep-types/node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, - "node_modules/inflight": { + "../../../../bicep-types/src/bicep-types/node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "../../../../bicep-types/src/bicep-types/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/is-arrayish": { + "../../../../bicep-types/src/bicep-types/node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "../../../../bicep-types/src/bicep-types/node_modules/is-core-module": { + "version": "2.13.0", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "has": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { + "../../../../bicep-types/src/bicep-types/node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { + "../../../../bicep-types/src/bicep-types/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-generator-fn": { + "../../../../bicep-types/src/bicep-types/node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/is-glob": { + "../../../../bicep-types/src/bicep-types/node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3009,29 +2786,26 @@ "node": ">=0.10.0" } }, - "node_modules/is-number": { + "../../../../bicep-types/src/bicep-types/node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { + "../../../../bicep-types/src/bicep-types/node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-stream": { + "../../../../bicep-types/src/bicep-types/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3039,42 +2813,46 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isexe": { + "../../../../bicep-types/src/bicep-types/node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-coverage": { + "version": "3.2.0", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "semver": "^6.3.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/istanbul-lib-report": { + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -3084,11 +2862,10 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps": { + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -3098,11 +2875,10 @@ "node": ">=10" } }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "../../../../bicep-types/src/bicep-types/node_modules/istanbul-reports": { + "version": "3.1.6", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3111,11 +2887,10 @@ "node": ">=8" } }, - "node_modules/jest": { + "../../../../bicep-types/src/bicep-types/node_modules/jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -3137,11 +2912,10 @@ } } }, - "node_modules/jest-changed-files": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-changed-files": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -3151,11 +2925,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-circus": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -3182,11 +2955,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-cli": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-cli": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -3215,11 +2987,10 @@ } } }, - "node_modules/jest-config": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-config": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -3260,11 +3031,10 @@ } } }, - "node_modules/jest-diff": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-diff": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -3275,11 +3045,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-docblock": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-docblock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -3287,11 +3056,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-each": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-each": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -3303,11 +3071,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-environment-node": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-environment-node": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3320,20 +3087,18 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-get-type": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-haste-map": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-haste-map": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -3354,11 +3119,10 @@ "fsevents": "^2.3.2" } }, - "node_modules/jest-leak-detector": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-leak-detector": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -3367,11 +3131,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-matcher-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -3382,11 +3145,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -3402,11 +3164,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-mock": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-mock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3416,11 +3177,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-pnp-resolver": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -3433,20 +3193,18 @@ } } }, - "node_modules/jest-regex-util": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-resolve": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -3462,11 +3220,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve-dependencies": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-resolve-dependencies": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -3475,11 +3232,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runner": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-runner": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", @@ -3507,11 +3263,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-runtime": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -3540,11 +3295,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-snapshot": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -3571,11 +3325,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -3588,11 +3341,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-validate": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -3605,11 +3357,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3617,11 +3368,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-watcher": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -3636,11 +3386,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -3651,11 +3400,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/node_modules/supports-color": { + "../../../../bicep-types/src/bicep-types/node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3666,16 +3414,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/js-tokens": { + "../../../../bicep-types/src/bicep-types/node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/js-yaml": { + "../../../../bicep-types/src/bicep-types/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3683,11 +3430,10 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { + "../../../../bicep-types/src/bicep-types/node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -3695,29 +3441,25 @@ "node": ">=4" } }, - "node_modules/json-parse-even-better-errors": { + "../../../../bicep-types/src/bicep-types/node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/json-schema-traverse": { + "../../../../bicep-types/src/bicep-types/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/json-stable-stringify-without-jsonify": { + "../../../../bicep-types/src/bicep-types/node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/json5": { + "../../../../bicep-types/src/bicep-types/node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -3725,29 +3467,26 @@ "node": ">=6" } }, - "node_modules/kleur": { + "../../../../bicep-types/src/bicep-types/node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/leven": { + "../../../../bicep-types/src/bicep-types/node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/levn": { + "../../../../bicep-types/src/bicep-types/node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3756,17 +3495,15 @@ "node": ">= 0.8.0" } }, - "node_modules/lines-and-columns": { + "../../../../bicep-types/src/bicep-types/node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/locate-path": { + "../../../../bicep-types/src/bicep-types/node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3777,37 +3514,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.memoize": { + "../../../../bicep-types/src/bicep-types/node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/lodash.merge": { + "../../../../bicep-types/src/bicep-types/node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/lru-cache": { + "../../../../bicep-types/src/bicep-types/node_modules/lower-case": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, - "node_modules/make-dir": { + "../../../../bicep-types/src/bicep-types/node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -3818,63 +3554,56 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-error": { + "../../../../bicep-types/src/bicep-types/node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/makeerror": { + "../../../../bicep-types/src/bicep-types/node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } }, - "node_modules/merge-stream": { + "../../../../bicep-types/src/bicep-types/node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/merge2": { + "../../../../bicep-types/src/bicep-types/node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "../../../../bicep-types/src/bicep-types/node_modules/micromatch": { + "version": "4.0.5", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.3", + "braces": "^3.0.2", "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, - "node_modules/mimic-fn": { + "../../../../bicep-types/src/bicep-types/node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/minimatch": { + "../../../../bicep-types/src/bicep-types/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3882,44 +3611,59 @@ "node": "*" } }, - "node_modules/ms": { + "../../../../bicep-types/src/bicep-types/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/natural-compare": { + "../../../../bicep-types/src/bicep-types/node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/node-int64": { + "../../../../bicep-types/src/bicep-types/node_modules/nerdbank-gitversioning": { + "version": "3.6.133", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2" + }, + "bin": { + "nbgv": "main.js", + "nbgv-setversion": "npmVersion.js" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/no-case": { + "version": "3.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/node-releases": { + "version": "2.0.13", + "dev": true, + "license": "MIT" }, - "node_modules/normalize-path": { + "../../../../bicep-types/src/bicep-types/node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { + "../../../../bicep-types/src/bicep-types/node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -3927,20 +3671,18 @@ "node": ">=8" } }, - "node_modules/once": { + "../../../../bicep-types/src/bicep-types/node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, - "node_modules/onetime": { + "../../../../bicep-types/src/bicep-types/node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -3951,28 +3693,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "../../../../bicep-types/src/bicep-types/node_modules/optionator": { + "version": "0.9.3", "dev": true, + "license": "MIT", "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/p-limit": { + "../../../../bicep-types/src/bicep-types/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3983,11 +3723,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "../../../../bicep-types/src/bicep-types/node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3998,20 +3737,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-try": { + "../../../../bicep-types/src/bicep-types/node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/parent-module": { + "../../../../bicep-types/src/bicep-types/node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -4019,11 +3756,10 @@ "node": ">=6" } }, - "node_modules/parse-json": { + "../../../../bicep-types/src/bicep-types/node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -4037,59 +3773,61 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-exists": { + "../../../../bicep-types/src/bicep-types/node_modules/pascal-case": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { + "../../../../bicep-types/src/bicep-types/node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-key": { + "../../../../bicep-types/src/bicep-types/node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-parse": { + "../../../../bicep-types/src/bicep-types/node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/path-type": { + "../../../../bicep-types/src/bicep-types/node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" }, - "node_modules/picomatch": { + "../../../../bicep-types/src/bicep-types/node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4097,20 +3835,18 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pirates": { + "../../../../bicep-types/src/bicep-types/node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, - "node_modules/pkg-dir": { + "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -4118,11 +3854,10 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/find-up": { + "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -4131,11 +3866,10 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/locate-path": { + "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -4143,11 +3877,10 @@ "node": ">=8" } }, - "node_modules/pkg-dir/node_modules/p-limit": { + "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -4158,11 +3891,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-locate": { + "../../../../bicep-types/src/bicep-types/node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -4170,20 +3902,18 @@ "node": ">=8" } }, - "node_modules/prelude-ls": { + "../../../../bicep-types/src/bicep-types/node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, - "node_modules/pretty-format": { + "../../../../bicep-types/src/bicep-types/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -4193,11 +3923,10 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { + "../../../../bicep-types/src/bicep-types/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4205,11 +3934,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/prompts": { + "../../../../bicep-types/src/bicep-types/node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -4218,31 +3946,16 @@ "node": ">= 6" } }, - "node_modules/proper-lockfile": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz", - "integrity": "sha512-rjaeGbsmhNDcDInmwi4MuI6mRwJu6zq8GjYCLuSuE7GF+4UjgzkL69sVKKJ2T2xH61kK7rXvGYpvaTu909oXaQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "retry": "^0.10.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/punycode": { + "../../../../bicep-types/src/bicep-types/node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "../../../../bicep-types/src/bicep-types/node_modules/pure-rand": { + "version": "6.0.3", "dev": true, "funding": [ { @@ -4253,12 +3966,11 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, - "node_modules/queue-microtask": { + "../../../../bicep-types/src/bicep-types/node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -4273,28 +3985,26 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true + "../../../../bicep-types/src/bicep-types/node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" }, - "node_modules/require-directory": { + "../../../../bicep-types/src/bicep-types/node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "../../../../bicep-types/src/bicep-types/node_modules/resolve": { + "version": "1.22.6", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -4307,11 +4017,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { + "../../../../bicep-types/src/bicep-types/node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -4319,56 +4028,43 @@ "node": ">=8" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { + "../../../../bicep-types/src/bicep-types/node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/resolve-from": { + "../../../../bicep-types/src/bicep-types/node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/resolve.exports": { + "../../../../bicep-types/src/bicep-types/node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==", - "engines": { - "node": "*" - } - }, - "node_modules/reusify": { + "../../../../bicep-types/src/bicep-types/node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { + "../../../../bicep-types/src/bicep-types/node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4379,10 +4075,8 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-parallel": { + "../../../../bicep-types/src/bicep-types/node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -4398,14 +4092,18 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, - "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "../../../../bicep-types/src/bicep-types/node_modules/semver": { + "version": "7.6.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -4413,11 +4111,26 @@ "node": ">=10" } }, - "node_modules/shebang-command": { + "../../../../bicep-types/src/bicep-types/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "../../../../bicep-types/src/bicep-types/node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "../../../../bicep-types/src/bicep-types/node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4425,66 +4138,58 @@ "node": ">=8" } }, - "node_modules/shebang-regex": { + "../../../../bicep-types/src/bicep-types/node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/signal-exit": { + "../../../../bicep-types/src/bicep-types/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/sisteransi": { + "../../../../bicep-types/src/bicep-types/node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/slash": { + "../../../../bicep-types/src/bicep-types/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/source-map": { + "../../../../bicep-types/src/bicep-types/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { + "../../../../bicep-types/src/bicep-types/node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "node_modules/sprintf-js": { + "../../../../bicep-types/src/bicep-types/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/stack-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -4492,20 +4197,18 @@ "node": ">=10" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { + "../../../../bicep-types/src/bicep-types/node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/string-length": { + "../../../../bicep-types/src/bicep-types/node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -4514,11 +4217,10 @@ "node": ">=10" } }, - "node_modules/string-width": { + "../../../../bicep-types/src/bicep-types/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4528,11 +4230,10 @@ "node": ">=8" } }, - "node_modules/strip-ansi": { + "../../../../bicep-types/src/bicep-types/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4540,29 +4241,26 @@ "node": ">=8" } }, - "node_modules/strip-bom": { + "../../../../bicep-types/src/bicep-types/node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/strip-final-newline": { + "../../../../bicep-types/src/bicep-types/node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/strip-json-comments": { + "../../../../bicep-types/src/bicep-types/node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -4570,11 +4268,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { + "../../../../bicep-types/src/bicep-types/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4582,11 +4279,10 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { + "../../../../bicep-types/src/bicep-types/node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4594,11 +4290,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/test-exclude": { + "../../../../bicep-types/src/bicep-types/node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -4608,32 +4303,28 @@ "node": ">=8" } }, - "node_modules/text-table": { + "../../../../bicep-types/src/bicep-types/node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/tmpl": { + "../../../../bicep-types/src/bicep-types/node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { + "../../../../bicep-types/src/bicep-types/node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/to-regex-range": { + "../../../../bicep-types/src/bicep-types/node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4641,11 +4332,10 @@ "node": ">=8.0" } }, - "node_modules/ts-api-utils": { + "../../../../bicep-types/src/bicep-types/node_modules/ts-api-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -4653,11 +4343,10 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-jest": { + "../../../../bicep-types/src/bicep-types/node_modules/ts-jest": { "version": "29.1.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.3.tgz", - "integrity": "sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==", "dev": true, + "license": "MIT", "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", @@ -4700,11 +4389,10 @@ } } }, - "node_modules/ts-node": { + "../../../../bicep-types/src/bicep-types/node_modules/ts-node": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -4743,11 +4431,15 @@ } } }, - "node_modules/type-check": { + "../../../../bicep-types/src/bicep-types/node_modules/tslib": { + "version": "2.6.0", + "dev": true, + "license": "0BSD" + }, + "../../../../bicep-types/src/bicep-types/node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4755,20 +4447,18 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { + "../../../../bicep-types/src/bicep-types/node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/type-fest": { + "../../../../bicep-types/src/bicep-types/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4776,11 +4466,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typescript": { + "../../../../bicep-types/src/bicep-types/node_modules/typescript": { "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4789,16 +4478,13 @@ "node": ">=14.17" } }, - "node_modules/undici-types": { + "../../../../bicep-types/src/bicep-types/node_modules/undici-types": { "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "../../../../bicep-types/src/bicep-types/node_modules/update-browserslist-db": { + "version": "1.0.11", "dev": true, "funding": [ { @@ -4814,9 +4500,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -4825,57 +4512,49 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { + "../../../../bicep-types/src/bicep-types/node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/v8-compile-cache-lib": { + "../../../../bicep-types/src/bicep-types/node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "../../../../bicep-types/src/bicep-types/node_modules/v8-to-istanbul": { + "version": "9.1.0", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" + "convert-source-map": "^1.6.0" }, "engines": { "node": ">=10.12.0" } }, - "node_modules/vscode-jsonrpc": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz", - "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==", - "engines": { - "node": ">=4.0.0 || >=6.0.0" - } + "../../../../bicep-types/src/bicep-types/node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" }, - "node_modules/walker": { + "../../../../bicep-types/src/bicep-types/node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } }, - "node_modules/which": { + "../../../../bicep-types/src/bicep-types/node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4886,20 +4565,10 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { + "../../../../bicep-types/src/bicep-types/node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4912,17 +4581,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { + "../../../../bicep-types/src/bicep-types/node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/write-file-atomic": { + "../../../../bicep-types/src/bicep-types/node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -4931,26 +4598,23 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/y18n": { + "../../../../bicep-types/src/bicep-types/node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, - "node_modules/yallist": { + "../../../../bicep-types/src/bicep-types/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/yargs": { + "../../../../bicep-types/src/bicep-types/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -4964,113 +4628,131 @@ "node": ">=12" } }, - "node_modules/yargs-parser": { + "../../../../bicep-types/src/bicep-types/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, - "node_modules/yn": { + "../../../../bicep-types/src/bicep-types/node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/yocto-queue": { + "../../../../bicep-types/src/bicep-types/node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } - } - }, - "dependencies": { - "@ampproject/remapping": { + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@autorest/codemodel": { + "node_modules/@autorest/codemodel": { "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@autorest/codemodel/-/codemodel-4.20.0.tgz", - "integrity": "sha512-Z2GwVwAGNTcfGUmrWT5LJqZv/WDXKBBpxhZrHu6zco/HrEGrqKQcKx5whlLX/GmAB/KmhcOWYr6aIyWomcoisQ==", - "requires": { + "license": "MIT", + "dependencies": { "@azure-tools/codegen": "~2.10.0", "js-yaml": "~4.1.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "@autorest/extension-base": { + "node_modules/@autorest/extension-base": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@autorest/extension-base/-/extension-base-3.6.0.tgz", - "integrity": "sha512-hE6nmdYu2SA6xlG46lM+/njtz0yNEkhzfkOs7PjrYulnXuBWHo08RdbXHGcecypgNhV2QAQcbV6ar5f1UGX6xQ==", - "requires": { + "license": "MIT", + "dependencies": { "@azure-tools/codegen": "~2.10.0", "js-yaml": "~4.1.0", "vscode-jsonrpc": "^3.5.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "@azure-tools/async-io": { + "node_modules/@azure-tools/async-io": { "version": "3.0.254", - "resolved": "https://registry.npmjs.org/@azure-tools/async-io/-/async-io-3.0.254.tgz", - "integrity": "sha512-X1C7XdyCuo50ch9FzKtTvmK18FgDxxf1Bbt3cSoknQqeDaRegHSSCO+zByq2YA4NvUzKXeZ1engh29IDxZXgpQ==", - "requires": { + "license": "MIT", + "dependencies": { "@azure-tools/tasks": "~3.0.255", "proper-lockfile": "~2.0.1" + }, + "engines": { + "node": ">=10.12.0" } }, - "@azure-tools/codegen": { + "node_modules/@azure-tools/codegen": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@azure-tools/codegen/-/codegen-2.10.0.tgz", - "integrity": "sha512-gdy0at3BUZAAARgiX9Ye6SNCKhcjLs5FNUewa/KV/dMGcPv7mBvbslt5VO3W8wj0n96ifk970aIFaivjacBxeQ==", - "requires": { + "license": "MIT", + "dependencies": { "@azure-tools/async-io": "~3.0.0", "js-yaml": "~4.1.0", "semver": "^7.3.5" + }, + "engines": { + "node": ">=12.0.0" } }, - "@azure-tools/tasks": { + "node_modules/@azure-tools/tasks": { "version": "3.0.255", - "resolved": "https://registry.npmjs.org/@azure-tools/tasks/-/tasks-3.0.255.tgz", - "integrity": "sha512-GjALNLz7kWMEdRVbaN5g0cJHNAr3XVTbP0611Mv2UzMgGL6FOhNZJK+oPHJKLDR8EEDZNnkwPlyi7B+INXUSQA==" + "license": "MIT", + "engines": { + "node": ">=10.12.0" + } }, - "@babel/code-frame": { + "node_modules/@babel/code-frame": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", - "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/highlight": "^7.24.6", "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/compat-data": { + "node_modules/@babel/compat-data": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.6.tgz", - "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/core": { + "node_modules/@babel/core": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz", - "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.6", "@babel/generator": "^7.24.6", @@ -5087,366 +4769,455 @@ "json5": "^2.2.3", "semver": "^6.3.1" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/generator": { + "node_modules/@babel/generator": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz", - "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.24.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { + "node_modules/@babel/helper-compilation-targets": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", - "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/compat-data": "^7.24.6", "@babel/helper-validator-option": "^7.24.6", "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-environment-visitor": { + "node_modules/@babel/helper-environment-visitor": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", - "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-function-name": { + "node_modules/@babel/helper-function-name": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", - "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/template": "^7.24.6", "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-hoist-variables": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", - "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { + "node_modules/@babel/helper-module-imports": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", - "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-transforms": { + "node_modules/@babel/helper-module-transforms": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", - "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-environment-visitor": "^7.24.6", "@babel/helper-module-imports": "^7.24.6", "@babel/helper-simple-access": "^7.24.6", "@babel/helper-split-export-declaration": "^7.24.6", "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-plugin-utils": { + "node_modules/@babel/helper-plugin-utils": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", - "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-simple-access": { + "node_modules/@babel/helper-simple-access": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", - "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { + "node_modules/@babel/helper-split-export-declaration": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", - "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-string-parser": { + "node_modules/@babel/helper-string-parser": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", - "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-identifier": { + "node_modules/@babel/helper-validator-identifier": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", - "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helper-validator-option": { + "node_modules/@babel/helper-validator-option": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", - "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "@babel/helpers": { + "node_modules/@babel/helpers": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.6.tgz", - "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/template": "^7.24.6", "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { + "node_modules/@babel/highlight": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", - "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-validator-identifier": "^7.24.6", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "engines": { + "node": ">=6.9.0" } }, - "@babel/parser": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz", - "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", - "dev": true - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" } }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-json-strings": { + "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-jsx": { + "node_modules/@babel/plugin-syntax-jsx": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.6.tgz", - "integrity": "sha512-lWfvAIFNWMlCsU0DRUun2GpFwZdGTukLaHJqRh1JRb80NdAP5Sb1HDHB5X9P9OtgZHQl089UzQkpYlBq2VTPRw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-logical-assignment-operators": { + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-numeric-separator": { + "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-object-rest-spread": { + "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-catch-binding": { + "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-optional-chaining": { + "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-top-level-await": { + "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/plugin-syntax-typescript": { + "node_modules/@babel/plugin-syntax-typescript": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.6.tgz", - "integrity": "sha512-TzCtxGgVTEJWWwcYwQhCIQ6WaKlo80/B+Onsk4RRCcYqpYGFcG9etPW94VToGte5AAcxRrhjPUFvUS3Y2qKi4A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/template": { + "node_modules/@babel/template": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz", - "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/code-frame": "^7.24.6", "@babel/parser": "^7.24.6", "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/traverse": { + "node_modules/@babel/traverse": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz", - "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/code-frame": "^7.24.6", "@babel/generator": "^7.24.6", "@babel/helper-environment-visitor": "^7.24.6", @@ -5458,74 +5229,83 @@ "debug": "^4.3.1", "globals": "^11.1.0" }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" } }, - "@babel/types": { + "node_modules/@babel/types": { "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", - "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/helper-string-parser": "^7.24.6", "@babel/helper-validator-identifier": "^7.24.6", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@bcoe/v8-coverage": { + "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, - "@cspotcode/source-map-support": { + "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@eslint-community/eslint-utils": { + "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "@eslint-community/regexpp": { + "node_modules/@eslint-community/regexpp": { "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "@eslint/eslintrc": { + "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.6.0", @@ -5535,148 +5315,180 @@ "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "@eslint/js": { + "node_modules/@eslint/js": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "@humanwhocodes/config-array": { + "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "@humanwhocodes/module-importer": { + "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, - "@humanwhocodes/object-schema": { + "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "@istanbuljs/load-nyc-config": { + "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "engines": { + "node": ">=8" } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, - "@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", @@ -5697,71 +5509,91 @@ "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "@jest/environment": { + "node_modules/@jest/environment": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/expect": { + "node_modules/@jest/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/expect-utils": { + "node_modules/@jest/expect-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/fake-timers": { + "node_modules/@jest/fake-timers": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/globals": { + "node_modules/@jest/globals": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/types": "^29.6.3", "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/reporters": { + "node_modules/@jest/reporters": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -5786,58 +5618,76 @@ "string-length": "^4.0.1", "strip-ansi": "^6.0.0", "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "@jest/schemas": { + "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/source-map": { + "node_modules/@jest/source-map": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/test-result": { + "node_modules/@jest/test-result": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/test-sequencer": { + "node_modules/@jest/test-sequencer": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/transform": { + "node_modules/@jest/transform": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", @@ -5853,141 +5703,148 @@ "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jest/types": { + "node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "@jridgewell/gen-mapping": { + "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, - "@jridgewell/resolve-uri": { + "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/set-array": { + "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } }, - "@jridgewell/sourcemap-codec": { + "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "dev": true, + "license": "MIT" }, - "@jridgewell/trace-mapping": { + "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@nodelib/fs.scandir": { + "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@nodelib/fs.stat": { + "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "@nodelib/fs.walk": { + "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@sinclair/typebox": { + "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, - "@sinonjs/commons": { + "node_modules/@sinonjs/commons": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "type-detect": "4.0.8" } }, - "@sinonjs/fake-timers": { + "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "@sinonjs/commons": "^3.0.0" } }, - "@tsconfig/node10": { + "node_modules/@tsconfig/node10": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true + "dev": true, + "license": "MIT" }, - "@tsconfig/node12": { + "node_modules/@tsconfig/node12": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true + "dev": true, + "license": "MIT" }, - "@tsconfig/node14": { + "node_modules/@tsconfig/node14": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true + "dev": true, + "license": "MIT" }, - "@tsconfig/node16": { + "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true + "dev": true, + "license": "MIT" }, - "@types/babel__core": { + "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", @@ -5995,178 +5852,219 @@ "@types/babel__traverse": "*" } }, - "@types/babel__generator": { + "node_modules/@types/babel__generator": { "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.0.0" } }, - "@types/babel__template": { + "node_modules/@types/babel__template": { "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@types/babel__traverse": { + "node_modules/@types/babel__traverse": { "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/types": "^7.20.7" } }, - "@types/graceful-fs": { + "node_modules/@types/graceful-fs": { "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*" } }, - "@types/istanbul-lib-coverage": { + "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true + "dev": true, + "license": "MIT" }, - "@types/istanbul-lib-report": { + "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/istanbul-lib-coverage": "*" } }, - "@types/istanbul-reports": { + "node_modules/@types/istanbul-reports": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/istanbul-lib-report": "*" } }, - "@types/jest": { + "node_modules/@types/jest": { "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, - "@types/lodash": { + "node_modules/@types/lodash": { "version": "4.17.4", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==" + "license": "MIT" }, - "@types/node": { + "node_modules/@types/node": { "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "undici-types": "~5.26.4" } }, - "@types/stack-utils": { + "node_modules/@types/stack-utils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true + "dev": true, + "license": "MIT" }, - "@types/yargs": { + "node_modules/@types/yargs": { "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/yargs-parser": "*" } }, - "@types/yargs-parser": { + "node_modules/@types/yargs-parser": { "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "@typescript-eslint/eslint-plugin": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz", - "integrity": "sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.11.0", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/type-utils": "7.10.0", - "@typescript-eslint/utils": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/type-utils": "7.11.0", + "@typescript-eslint/utils": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "@typescript-eslint/parser": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz", - "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/typescript-estree": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz", - "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz", - "integrity": "sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==", + "node_modules/@typescript-eslint/parser": { + "version": "7.11.0", "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "7.10.0", - "@typescript-eslint/utils": "7.10.0", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.11.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.11.0", + "@typescript-eslint/utils": "7.11.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "@typescript-eslint/types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", - "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", - "dev": true + "node_modules/@typescript-eslint/types": { + "version": "7.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "@typescript-eslint/typescript-estree": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", - "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.11.0", "dev": true, - "requires": { - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/visitor-keys": "7.11.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6174,156 +6072,209 @@ "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "@typescript-eslint/utils": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", - "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.11.0", + "dev": true, + "license": "MIT", + "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/typescript-estree": "7.10.0" + "@typescript-eslint/scope-manager": "7.11.0", + "@typescript-eslint/types": "7.11.0", + "@typescript-eslint/typescript-estree": "7.11.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" } }, - "@typescript-eslint/visitor-keys": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", - "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.11.0", "dev": true, - "requires": { - "@typescript-eslint/types": "7.10.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.11.0", "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "@ungap/structured-clone": { + "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "acorn": { + "node_modules/acorn": { "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "acorn-jsx": { + "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "ajv": { + "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ansi-escapes": { + "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "type-fest": "^0.21.3" }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ansi-regex": { + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "anymatch": { + "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "arg": { + "node_modules/arg": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "dev": true, + "license": "MIT" }, - "argparse": { + "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "license": "Python-2.0" }, - "array-union": { + "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "autorest": { + "node_modules/autorest": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/autorest/-/autorest-3.7.1.tgz", - "integrity": "sha512-6q17NtosQZPqBkIOUnaOPedf3PDIBF7Ha1iEGRhTqZF6TG2Q/1E3ID/D+ePIIzZDKvW01p/2pENq/oiBWH9IGQ==" + "hasInstallScript": true, + "license": "MIT", + "bin": { + "autorest": "entrypoints/app.js" + }, + "engines": { + "node": ">=12.0.0" + } }, - "babel-jest": { + "node_modules/babel-jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", @@ -6331,60 +6282,71 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "babel-plugin-istanbul": { + "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "babel-plugin-jest-hoist": { + "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "babel-preset-current-node-syntax": { + "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.8.3", @@ -6397,187 +6359,253 @@ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "babel-preset-jest": { + "node_modules/babel-preset-jest": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "balanced-match": { + "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/bicep-types": { + "resolved": "../../../../bicep-types/src/bicep-types", + "link": true }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "browserslist": { + "node_modules/browserslist": { "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "dev": true, - "requires": { + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { "caniuse-lite": "^1.0.30001587", "electron-to-chromium": "^1.4.668", "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "bs-logger": { + "node_modules/bs-logger": { "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "bser": { + "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "node-int64": "^0.4.0" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "callsites": { + "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "camelcase": { + "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "caniuse-lite": { - "version": "1.0.30001623", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001623.tgz", - "integrity": "sha512-X/XhAVKlpIxWPpgRTnlgZssJrF0m6YtRA0QDWgsBNT12uZM6LPRydR7ip405Y3t1LamD8cP2TZFEDZFBf5ApcA==", - "dev": true + "node_modules/caniuse-lite": { + "version": "1.0.30001624", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, - "chalk": { + "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "char-regex": { + "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "ci-info": { + "node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "cjs-module-lexer": { + "node_modules/cjs-module-lexer": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "cliui": { + "node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "co": { + "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, - "collect-v8-coverage": { + "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "color-convert": { + "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, - "colors": { + "node_modules/colors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "dev": true, + "license": "MIT" }, - "convert-source-map": { + "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, - "create-jest": { + "node_modules/create-jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "exit": "^0.1.2", @@ -6585,144 +6613,182 @@ "jest-config": "^29.7.0", "jest-util": "^29.7.0", "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "create-require": { + "node_modules/create-require": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "cross-spawn": { + "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "debug": { + "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "dedent": { + "node_modules/dedent": { "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, - "requires": {} + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } }, - "deep-is": { + "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "deepmerge": { + "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "detect-newline": { + "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "diff": { + "node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "diff-sequences": { + "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "dir-compare": { + "node_modules/dir-compare": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-5.0.0.tgz", - "integrity": "sha512-/GCjdixGQyJ9sj/HiMTYaNGztXqHnj0kWuKDfrGU6fCvZzQBihMBQLToG/dwg5cSs7lm5707iwbKOdsJh5VV4g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "minimatch": "^3.0.5", "p-limit": "^3.1.0 " } }, - "dir-glob": { + "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "doctrine": { + "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "electron-to-chromium": { + "node_modules/electron-to-chromium": { "version": "1.4.783", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.783.tgz", - "integrity": "sha512-bT0jEz/Xz1fahQpbZ1D7LgmPYZ3iHVY39NcWWro1+hA2IvjiPeaXtfSqrQ+nXjApMvQRE2ASt1itSLRrebHMRQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "emittery": { + "node_modules/emittery": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, - "error-ex": { + "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-arrayish": "^0.2.1" } }, - "escalade": { + "node_modules/escalade": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "eslint": { + "node_modules/eslint": { "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", @@ -6761,93 +6827,162 @@ "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-plugin-header": { + "node_modules/eslint-plugin-header": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz", - "integrity": "sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==", "dev": true, - "requires": {} + "license": "MIT", + "peerDependencies": { + "eslint": ">=7.7.0" + } }, - "eslint-plugin-jest": { + "node_modules/eslint-plugin-jest": { "version": "28.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.5.0.tgz", - "integrity": "sha512-6np6DGdmNq/eBbA7HOUNV8fkfL86PYwBfwyb8n23FXgJNTR8+ot3smRHjza9LGsBBZRypK3qyF79vMjohIL8eQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@typescript-eslint/utils": "^6.0.0 || ^7.0.0" + }, + "engines": { + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", + "jest": "*" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-scope": { + "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "espree": { + "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "esquery": { + "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "esutils": { + "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "execa": { + "node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", @@ -6857,452 +6992,562 @@ "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "exit": { + "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8.0" + } }, - "expect": { + "node_modules/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", "jest-matcher-utils": "^29.7.0", "jest-message-util": "^29.7.0", "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "fast-deep-equal": { + "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, - "fast-glob": { + "node_modules/fast-glob": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, - "fast-levenshtein": { + "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/fastq": { + "version": "1.17.1", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "reusify": "^1.0.4" } }, - "fb-watchman": { + "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "bser": "2.1.1" } }, - "file-entry-cache": { + "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "fill-range": { + "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "find-up": { + "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/flat-cache": { + "version": "3.2.0", "dev": true, - "requires": { - "flatted": "^3.1.0", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true + "node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "dev": true, + "license": "ISC" }, - "fsevents": { + "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "optional": true + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "gensync": { + "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-package-type": { + "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } }, - "get-stream": { + "node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/glob": { + "version": "7.2.3", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { + "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "globals": { + "node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "globby": { + "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", "fast-glob": "^3.2.9", "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "graceful-fs": { + "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "license": "ISC" }, - "graphemer": { + "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, - "has-flag": { + "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "hasown": { + "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "html-escaper": { + "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, - "human-signals": { + "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "ignore": { + "node_modules/ignore": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "import-fresh": { + "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "import-local": { + "node_modules/import-local": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { + "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "is-arrayish": { + "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, - "is-core-module": { + "node_modules/is-core-module": { "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-generator-fn": { + "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "is-glob": { + "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } }, - "is-path-inside": { + "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "is-stream": { + "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "dev": true, + "license": "ISC" }, - "istanbul-lib-coverage": { + "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } }, - "istanbul-lib-instrument": { + "node_modules/istanbul-lib-instrument": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "@babel/core": "^7.23.9", "@babel/parser": "^7.23.9", "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" } }, - "istanbul-lib-report": { + "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "istanbul-lib-source-maps": { + "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "istanbul-reports": { + "node_modules/istanbul-reports": { "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "jest": { + "node_modules/jest": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", "import-local": "^3.0.2", "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "jest-changed-files": { + "node_modules/jest-changed-files": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-circus": { + "node_modules/jest-circus": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -7323,14 +7568,16 @@ "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-cli": { + "node_modules/jest-cli": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/core": "^29.7.0", "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", @@ -7342,14 +7589,27 @@ "jest-util": "^29.7.0", "jest-validate": "^29.7.0", "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "jest-config": { + "node_modules/jest-config": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", "@jest/types": "^29.6.3", @@ -7372,110 +7632,142 @@ "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "jest-diff": { + "node_modules/jest-diff": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-docblock": { + "node_modules/jest-docblock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-each": { + "node_modules/jest-each": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "jest-util": "^29.7.0", "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-environment-node": { + "node_modules/jest-environment-node": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-get-type": { + "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "jest-haste-map": { + "node_modules/jest-haste-map": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "jest-leak-detector": { + "node_modules/jest-leak-detector": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-matcher-utils": { + "node_modules/jest-matcher-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-message-util": { + "node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", @@ -7485,38 +7777,53 @@ "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-mock": { + "node_modules/jest-mock": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-pnp-resolver": { + "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "requires": {} + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } }, - "jest-regex-util": { + "node_modules/jest-regex-util": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "jest-resolve": { + "node_modules/jest-resolve": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", @@ -7526,24 +7833,28 @@ "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-resolve-dependencies": { + "node_modules/jest-resolve-dependencies": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-runner": { + "node_modules/jest-runner": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/console": "^29.7.0", "@jest/environment": "^29.7.0", "@jest/test-result": "^29.7.0", @@ -7565,14 +7876,16 @@ "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-runtime": { + "node_modules/jest-runtime": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/globals": "^29.7.0", @@ -7595,14 +7908,16 @@ "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-snapshot": { + "node_modules/jest-snapshot": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", @@ -7623,28 +7938,32 @@ "natural-compare": "^1.4.0", "pretty-format": "^29.7.0", "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-util": { + "node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-validate": { + "node_modules/jest-validate": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", @@ -7652,21 +7971,26 @@ "leven": "^3.1.0", "pretty-format": "^29.7.0" }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jest-watcher": { + "node_modules/jest-watcher": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/test-result": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", @@ -7675,745 +7999,966 @@ "emittery": "^0.13.1", "jest-util": "^29.7.0", "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "jest-worker": { + "node_modules/jest-worker": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "js-yaml": { + "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { + "license": "MIT", + "dependencies": { "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsesc": { + "node_modules/jsesc": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" }, - "json-parse-even-better-errors": { + "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, - "json-stable-stringify-without-jsonify": { + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "dev": true, + "license": "MIT" }, - "json5": { + "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } }, - "kleur": { + "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "leven": { + "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "levn": { + "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "lines-and-columns": { + "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, - "locate-path": { + "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "lodash": { + "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, - "lodash.memoize": { + "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "dev": true, + "license": "MIT" }, - "lodash.merge": { + "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, - "lru-cache": { + "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "yallist": "^3.0.2" } }, - "make-dir": { + "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "make-error": { + "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "dev": true, + "license": "ISC" }, - "makeerror": { + "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "requires": { + "license": "BSD-3-Clause", + "dependencies": { "tmpl": "1.0.5" } }, - "merge-stream": { + "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, - "merge2": { + "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "mimic-fn": { + "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "ms": { + "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "dev": true, + "license": "MIT" }, - "natural-compare": { + "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "dev": true, + "license": "MIT" }, - "node-int64": { + "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, - "node-releases": { + "node_modules/node-releases": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "dev": true, + "license": "MIT" }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "npm-run-path": { + "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "once": { + "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "wrappy": "1" } }, - "onetime": { + "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/optionator": { + "version": "0.9.3", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "p-limit": { + "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "p-locate": { + "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { - "callsites": "^3.0.0" + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, - "requires": { - "find-up": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "prelude-ls": { + "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } }, - "pretty-format": { + "node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "prompts": { + "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "proper-lockfile": { + "node_modules/proper-lockfile": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz", - "integrity": "sha512-rjaeGbsmhNDcDInmwi4MuI6mRwJu6zq8GjYCLuSuE7GF+4UjgzkL69sVKKJ2T2xH61kK7rXvGYpvaTu909oXaQ==", - "requires": { + "license": "MIT", + "dependencies": { "graceful-fs": "^4.1.2", "retry": "^0.10.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "punycode": { + "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "pure-rand": { + "node_modules/pure-rand": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" }, - "queue-microtask": { + "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "react-is": { + "node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true + "dev": true, + "license": "MIT" }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "resolve": { + "node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-cwd": { + "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "resolve-from": "^5.0.0" }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "resolve-from": { + "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "resolve.exports": { + "node_modules/resolve.exports": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "retry": { + "node_modules/retry": { "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==" + "license": "MIT", + "engines": { + "node": "*" + } }, - "reusify": { + "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "run-parallel": { + "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "requires": { + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { "queue-microtask": "^1.2.2" } }, - "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + "node_modules/semver": { + "version": "7.6.0", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" }, - "shebang-command": { + "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { + "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "signal-exit": { + "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "sisteransi": { + "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, - "slash": { + "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "source-map": { + "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "source-map-support": { + "node_modules/source-map-support": { "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "stack-utils": { + "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "escape-string-regexp": "^2.0.0" }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "string-length": { + "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "string-width": { + "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { + "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-bom": { + "node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "strip-final-newline": { + "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "strip-json-comments": { + "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "supports-color": { + "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "test-exclude": { + "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "dev": true, + "license": "MIT" }, - "tmpl": { + "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "ts-api-utils": { + "node_modules/ts-api-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "requires": {} + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } }, - "ts-jest": { - "version": "29.1.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.3.tgz", - "integrity": "sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==", + "node_modules/ts-jest": { + "version": "29.1.4", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "bs-logger": "0.x", "fast-json-stable-stringify": "2.x", "jest-util": "^29.0.0", @@ -8422,14 +8967,44 @@ "make-error": "1.x", "semver": "^7.5.3", "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "ts-node": { + "node_modules/ts-node": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", @@ -8443,151 +9018,220 @@ "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn-walk": { + "version": "8.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" } }, - "type-check": { + "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "type-detect": { + "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "type-fest": { + "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "typescript": { + "node_modules/typescript": { "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "undici-types": { + "node_modules/undici-types": { "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "dev": true, + "license": "MIT" }, - "update-browserslist-db": { + "node_modules/update-browserslist-db": { "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "dev": true, - "requires": { + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { "escalade": "^3.1.2", "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "uri-js": { + "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "requires": { + "license": "BSD-2-Clause", + "dependencies": { "punycode": "^2.1.0" } }, - "v8-compile-cache-lib": { + "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true + "dev": true, + "license": "MIT" }, - "v8-to-istanbul": { + "node_modules/v8-to-istanbul": { "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "vscode-jsonrpc": { + "node_modules/vscode-jsonrpc": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz", - "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==" + "license": "MIT", + "engines": { + "node": ">=4.0.0 || >=6.0.0" + } }, - "walker": { + "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "makeerror": "1.0.12" } }, - "which": { + "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wrap-ansi": { + "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "dev": true, + "license": "ISC" }, - "write-file-atomic": { + "node_modules/write-file-atomic": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "y18n": { + "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } }, - "yallist": { + "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, - "yargs": { + "node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", @@ -8595,25 +9239,37 @@ "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "yargs-parser": { + "node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } }, - "yn": { + "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "yocto-queue": { + "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/hack/bicep-types-radius/src/autorest.bicep/package.json b/hack/bicep-types-radius/src/autorest.bicep/package.json index 54ac1f2075..d3353bcfcd 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/package.json +++ b/hack/bicep-types-radius/src/autorest.bicep/package.json @@ -29,6 +29,7 @@ "jest": "^29.7.0", "ts-jest": "^29.1.3", "ts-node": "^10.9.2", - "typescript": "^5.4.5" + "typescript": "^5.4.5", + "bicep-types": "file:../../../../bicep-types/src/bicep-types" } } \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/main.ts b/hack/bicep-types-radius/src/autorest.bicep/src/main.ts index 0ab53da14b..c1c3053fe1 100755 --- a/hack/bicep-types-radius/src/autorest.bicep/src/main.ts +++ b/hack/bicep-types-radius/src/autorest.bicep/src/main.ts @@ -16,13 +16,11 @@ import { AutoRestExtension, AutorestExtensionHost, startSession } from "@autorest/extension-base"; import { generateTypes } from "./type-generator"; -import { orderBy } from 'lodash'; -import { ResourceType } from "./types" import { CodeModel, codeModelSchema } from "@autorest/codemodel"; -import { writeJson } from './writers/json'; -import { writeMarkdown } from "./writers/markdown"; -import { writeTableMarkdown } from "./writers/markdown-table"; +import { orderBy } from 'lodash'; import { getProviderDefinitions } from "./resources"; +import { writeTypesJson, writeMarkdown, TypeBaseKind, ResourceType } from "bicep-types"; +import { writeTableMarkdown } from "./writers/markdown-table"; export async function processRequest(host: AutorestExtensionHost) { try { @@ -40,18 +38,17 @@ export async function processRequest(host: AutorestExtensionHost) { const outFolder = `${namespace}/${apiVersion}`.toLowerCase(); // write types.json - host.writeFile({ filename: `${outFolder}/types.json`, content: writeJson(types) }); + host.writeFile({ filename: `${outFolder}/types.json`, content: writeTypesJson(types) }); // writer types.md - host.writeFile({ filename: `${outFolder}/types.md`, content: writeMarkdown(namespace, apiVersion, types) }); + host.writeFile({ filename: `${outFolder}/types.md`, content: writeMarkdown(types, `${namespace} @ ${apiVersion}`) }); // writer resource types - const resourceTypes = orderBy(types.filter(t => t instanceof ResourceType) as ResourceType[], x => x.Name.split('@')[0].toLowerCase()); + const resourceTypes = orderBy(types.filter(t => t.type == TypeBaseKind.ResourceType) as ResourceType[], x => x.name.split('@')[0].toLowerCase()); for (const resourceType of resourceTypes) { - const filename = resourceType.Name.split('/')[1].split('@')[0].toLowerCase(); + const filename = resourceType.name.split('/')[1].split('@')[0].toLowerCase(); host.writeFile({ filename: `${outFolder}/docs/${filename}.md`, content: writeTableMarkdown(namespace, apiVersion, [resourceType], types) }); } - } session.info(`autorest.bicep took ${Date.now() - start}ms`); diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts b/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts index 87d61eebcb..f3aee82852 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts +++ b/hack/bicep-types-radius/src/autorest.bicep/src/resources.ts @@ -16,17 +16,9 @@ import { ChoiceSchema, CodeModel, HttpMethod, HttpParameter, HttpRequest, HttpResponse, ImplementationLocation, ObjectSchema, Operation, Parameter, ParameterLocation, Request, Response, Schema, SchemaResponse, SealedChoiceSchema, Metadata } from "@autorest/codemodel"; import { Channel, AutorestExtensionHost } from "@autorest/extension-base"; -import { keys, Dictionary, values, groupBy, uniqBy } from 'lodash'; +import { keys, Dictionary, values, groupBy } from 'lodash'; import { success, failure, Result } from './utils'; - -export enum ScopeType { - Unknown = 0, - Tenant = 1 << 0, - ManagementGroup = 1 << 1, - Subscription = 1 << 2, - ResourceGroup = 1 << 3, - Extension = 1 << 4, -} +import { ScopeType } from 'bicep-types'; export interface ResourceDescriptor { scopeType: ScopeType; @@ -40,7 +32,7 @@ export interface ProviderDefinition { namespace: string; apiVersion: string; resourcesByType: Dictionary; - resourceActions: ResourceListActionDefinition[]; + resourceFunctions: Dictionary; } export interface ResourceDefinition { @@ -189,7 +181,7 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten namespace, apiVersion, resourcesByType: {}, - resourceActions: [], + resourceFunctions: {} }; } } @@ -297,7 +289,7 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten for (const namespace of keys(providerDefinitions)) { providerDefinitions[namespace].resourcesByType = collapseDefinitions(resourcesByProvider[namespace]); - providerDefinitions[namespace].resourceActions = collapseActions(actionsByProvider[namespace]); + providerDefinitions[namespace].resourceFunctions = groupByType(actionsByProvider[namespace]); } return values(providerDefinitions); @@ -571,11 +563,5 @@ export function getProviderDefinitions(codeModel: CodeModel, host: AutorestExten return groupByType(collapsedResources); } - function collapseActions(actions: ResourceListActionDefinition[]) { - const actionsByType = groupByType(actions); - - return Object.values(actionsByType).flatMap(actions => uniqBy(actions, x => x.actionName.toLowerCase())); - } - return getProviderDefinitions(); } \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts b/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts index 148d58657e..2f436d69b2 100755 --- a/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts +++ b/hack/bicep-types-radius/src/autorest.bicep/src/type-generator.ts @@ -16,7 +16,7 @@ import { AnySchema, ArraySchema, ChoiceSchema, ConstantSchema, DictionarySchema, ObjectSchema, PrimitiveSchema, Property, Schema, SchemaType, SealedChoiceSchema, StringSchema } from "@autorest/codemodel"; import { Channel, AutorestExtensionHost } from "@autorest/extension-base"; -import { ArrayType, BuiltInTypeKind, DiscriminatedObjectType, ObjectProperty, ObjectPropertyFlags, ObjectType, ResourceFunctionType, ResourceType, StringLiteralType, TypeFactory, TypeReference, UnionType } from "./types"; +import { DiscriminatedObjectType, ObjectType, ObjectTypeProperty, ObjectTypePropertyFlags, TypeBaseKind, TypeFactory, TypeReference, ResourceFlags, ResourceTypeFunction, FunctionParameter } from "bicep-types"; import { uniq, keys, keyBy, Dictionary, flatMap } from 'lodash'; import { getFullyQualifiedType, getSerializedName, parseNameSchema, ProviderDefinition, ResourceDefinition, ResourceDescriptor } from "./resources"; @@ -38,7 +38,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD putRequest, putParameters, schema => parseType(schema, schema), - (name) => factory.addType(new StringLiteralType(name))); + (name) => factory.addStringLiteralType(name)); if (!nameSchemaResult.success) { logWarning(`Skipping resource type ${fullyQualifiedType} under path '${putRequest.path}': ${nameSchemaResult.error}`); @@ -57,7 +57,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD resourceDefinition = createObject(getFullyQualifiedType(descriptor), putSchema, resourceProperties); } else { logInfo(`Resource type ${fullyQualifiedType} under path '${putRequest.path}' has no body defined.`); - resourceDefinition = factory.addType(new ObjectType(getFullyQualifiedType(descriptor), resourceProperties)); + resourceDefinition = factory.addObjectType(getFullyQualifiedType(descriptor), resourceProperties); } for (const { propertyName, putProperty, getProperty } of getObjectTypeProperties(putSchema, getSchema, true)) { @@ -68,7 +68,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD const propertyDefinition = parseType(putProperty?.schema, getProperty?.schema); if (propertyDefinition) { const description = (putProperty?.schema ?? getProperty?.schema)?.language.default?.description; - const flags = parsePropertyFlags(putProperty, getProperty); + const flags = parsePropertyFlags(putProperty, getProperty, propertyName); resourceProperties[propertyName] = createObjectProperty(propertyDefinition, flags, description); } } @@ -101,11 +101,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD polymorphicBodies[definition.descriptor.constantName] = bodyType; } - const discriminatedBodyType = factory.addType(new DiscriminatedObjectType( - fullyQualifiedType, - 'name', - {}, - polymorphicBodies)); + const discriminatedBodyType = factory.addDiscriminatedObjectType(fullyQualifiedType, 'name', {}, polymorphicBodies); const descriptor = { ...definitions[0].descriptor, @@ -131,7 +127,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD } function generateTypes() { - const { resourcesByType, resourceActions } = definition; + const { resourcesByType, resourceFunctions: resourceFunctionType } = definition; for (const fullyQualifiedType in resourcesByType) { const definitions = resourcesByType[fullyQualifiedType]; @@ -142,66 +138,74 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD } const { descriptor, bodyType } = output; + let resourceTypeFunctions: Record = {}; + + let actions = resourceFunctionType[fullyQualifiedType]; + for (const key in actions) { + let action = actions[key]; + let request: TypeReference | undefined; + if (action.requestSchema) { + request = parseType(action.requestSchema, undefined); + if (!request) { + continue; + } + } - factory.addType(new ResourceType( - `${getFullyQualifiedType(descriptor)}@${descriptor.apiVersion}`, - descriptor.scopeType, - bodyType)); - } - - for (const action of resourceActions) { - let request: TypeReference | undefined; - if (action.requestSchema) { - request = parseType(action.requestSchema, undefined); - if (!request) { + if (!action.responseSchema) { + logWarning(`Skipping resource action ${action.actionName} under path '${action.postRequest.path}': failed to find a response schema`); + continue; + } + + const response = parseType(undefined, action.responseSchema); + if (!response) { continue; } - } - - if (!action.responseSchema) { - logWarning(`Skipping resource action ${action.actionName} under path '${action.postRequest.path}': failed to find a response schema`); - continue; - } - const response = parseType(undefined, action.responseSchema); - if (!response) { - continue; + let reference : TypeReference + if (request === undefined) { + reference = factory.addFunctionType([], response); + } + else { + // Only add properties if they exist on the request + const reqObj = factory.lookupType(request) as ObjectType; + let parameters : FunctionParameter[] = []; + if (reqObj && reqObj.properties) { + Object.entries(reqObj.properties).forEach(([key, value]) => { + parameters.push({name: key, type: value.type, description: value.description} as FunctionParameter) + }) + } + reference = factory.addFunctionType(parameters, response) + } + resourceTypeFunctions[action.actionName] = {type: reference, description: action.actionName}; } - const { actionName, descriptor } = action; - - factory.addType(new ResourceFunctionType( - actionName, - getFullyQualifiedType(descriptor), - descriptor.apiVersion, - response, - request)); + factory.addResourceType(`${getFullyQualifiedType(descriptor)}@${descriptor.apiVersion}`, descriptor.scopeType, undefined, bodyType, ResourceFlags.None, resourceTypeFunctions); } return factory.types; } - function getStandardizedResourceProperties(descriptor: ResourceDescriptor, resourceName: TypeReference): Dictionary { - const type = factory.addType(new StringLiteralType(getFullyQualifiedType(descriptor))); + function getStandardizedResourceProperties(descriptor: ResourceDescriptor, resourceName: TypeReference): Dictionary { + const type = factory.addStringLiteralType(getFullyQualifiedType(descriptor)); return { - id: createObjectProperty(factory.lookupBuiltInType(BuiltInTypeKind.String), ObjectPropertyFlags.ReadOnly | ObjectPropertyFlags.DeployTimeConstant, 'The resource id'), - name: createObjectProperty(resourceName, ObjectPropertyFlags.Required | ObjectPropertyFlags.DeployTimeConstant, 'The resource name'), - type: createObjectProperty(type, ObjectPropertyFlags.ReadOnly | ObjectPropertyFlags.DeployTimeConstant, 'The resource type'), - apiVersion: createObjectProperty(factory.addType(new StringLiteralType(descriptor.apiVersion)), ObjectPropertyFlags.ReadOnly | ObjectPropertyFlags.DeployTimeConstant, 'The resource api version'), + id: createObjectProperty(factory.addStringType(), ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource id'), + name: createObjectProperty(resourceName, ObjectTypePropertyFlags.Required | ObjectTypePropertyFlags.DeployTimeConstant | ObjectTypePropertyFlags.Identifier, 'The resource name'), + type: createObjectProperty(type, ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource type'), + apiVersion: createObjectProperty(factory.addStringLiteralType(descriptor.apiVersion), ObjectTypePropertyFlags.ReadOnly | ObjectTypePropertyFlags.DeployTimeConstant, 'The resource api version'), }; } - function createObject(definitionName: string, schema: ObjectSchema, properties: Dictionary, additionalProperties?: TypeReference) { + function createObject(definitionName: string, schema: ObjectSchema, properties: Dictionary, additionalProperties?: TypeReference) { if (schema.discriminator) { - return factory.addType(new DiscriminatedObjectType( + return factory.addDiscriminatedObjectType( definitionName, schema.discriminator.property.serializedName, properties, - {})); + {}); } - return factory.addType(new ObjectType(definitionName, properties, additionalProperties)); + return factory.addObjectType(definitionName, properties, additionalProperties); } function combineAndThrowIfNull(putSchema: TSchema | undefined, getSchema: TSchema | undefined) { @@ -327,38 +331,44 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD // The 'any' type if (combinedSchema instanceof AnySchema) { - return factory.lookupBuiltInType(BuiltInTypeKind.Any); + return factory.addAnyType(); } logWarning(`Unrecognized property type: ${combinedSchema.type}. Returning 'any'.`); - return factory.lookupBuiltInType(BuiltInTypeKind.Any); + return factory.addAnyType(); } function getMutabilityFlags(property: Property | undefined) { const mutability = property?.extensions?.["x-ms-mutability"] as string[]; if (!mutability) { - return ObjectPropertyFlags.None; + return ObjectTypePropertyFlags.None; } const writable = mutability.includes('create') || mutability.includes('update'); const readable = mutability.includes('read'); if (writable && !readable) { - return ObjectPropertyFlags.WriteOnly; + return ObjectTypePropertyFlags.WriteOnly; } if (readable && !writable) { - return ObjectPropertyFlags.ReadOnly; + return ObjectTypePropertyFlags.ReadOnly; } - return ObjectPropertyFlags.None; + return ObjectTypePropertyFlags.None; } - function parsePropertyFlags(putProperty: Property | undefined, getProperty: Property | undefined) { - let flags = ObjectPropertyFlags.None; + function parsePropertyFlags(putProperty: Property | undefined, getProperty: Property | undefined, propertyName?: string) { + let flags = ObjectTypePropertyFlags.None; if (putProperty && putProperty.required) { - flags |= ObjectPropertyFlags.Required; + // 'location' is not a required property on resources but can be a required property on other nested types + // We need to update the property flag to not be required if we're processing a top-level 'location' property + // If propertyName is provided, then we are processing a top-level property and need to check if the property name is 'location' + // If propertyName is not provided, then we are not processing a top-level property and can proceed with no changes + if (!propertyName || propertyName !== 'location') { + flags |= ObjectTypePropertyFlags.Required; + } } if (putProperty && getProperty) { @@ -366,11 +376,11 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD } if (!putProperty || putProperty.readOnly) { - flags |= ObjectPropertyFlags.ReadOnly; + flags |= ObjectTypePropertyFlags.ReadOnly; } if (!getProperty) { - flags |= ObjectPropertyFlags.WriteOnly; + flags |= ObjectTypePropertyFlags.WriteOnly; } return flags; @@ -381,15 +391,15 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD switch (combinedSchema.type) { case SchemaType.Boolean: - return factory.lookupBuiltInType(BuiltInTypeKind.Bool); + return factory.addBooleanType(); case SchemaType.Integer: case SchemaType.Number: case SchemaType.UnixTime: - return factory.lookupBuiltInType(BuiltInTypeKind.Int); + return factory.addIntegerType(); case SchemaType.Object: - return factory.lookupBuiltInType(BuiltInTypeKind.Any); + return factory.addAnyType(); case SchemaType.ByteArray: - return factory.lookupBuiltInType(BuiltInTypeKind.Array); + return factory.addArrayType(factory.addAnyType()); case SchemaType.Uri: case SchemaType.Date: case SchemaType.DateTime: @@ -398,10 +408,10 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD case SchemaType.Uuid: case SchemaType.Duration: case SchemaType.Credential: - return factory.lookupBuiltInType(BuiltInTypeKind.String); + return factory.addStringType(); default: logWarning(`Unrecognized known property type: "${combinedSchema.type}"`); - return factory.lookupBuiltInType(BuiltInTypeKind.Any); + return factory.addAnyType(); } } @@ -415,17 +425,17 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD const objectTypeRef = parseObjectType(putSubType, getSubType, false); const objectType = factory.lookupType(objectTypeRef); - if (!(objectType instanceof ObjectType)) { - logWarning(`Found unexpected element of discriminated type '${discriminatedObjectType.Name}'`) + if (objectType.type !== TypeBaseKind.ObjectType) { + logWarning(`Found unexpected element of discriminated type '${discriminatedObjectType.name}'`) continue; } - discriminatedObjectType.Elements[combinedSubType.discriminatorValue] = objectTypeRef; + discriminatedObjectType.elements[combinedSubType.discriminatorValue] = objectTypeRef; const description = (putSchema ?? getSchema)?.discriminator?.property.language.default.description; - objectType.Properties[discriminatedObjectType.Discriminator] = createObjectProperty( - factory.addType(new StringLiteralType(combinedSubType.discriminatorValue)), - ObjectPropertyFlags.Required, + objectType.properties[discriminatedObjectType.discriminator] = createObjectProperty( + factory.addStringLiteralType(combinedSubType.discriminatorValue), + ObjectTypePropertyFlags.Required, description); } } @@ -450,7 +460,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD } } - const definitionProperties: Dictionary = {}; + const definitionProperties: Dictionary = {}; const definition = createObject(definitionName, combinedSchema, definitionProperties, additionalProperties); if (includeBaseProperties) { // cache the definition so that it can be re-used @@ -485,7 +495,7 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD const enumTypes = []; for (const enumValue of combinedSchema.choices) { - const stringLiteralType = factory.addType(new StringLiteralType(enumValue.value.toString())); + const stringLiteralType = factory.addStringLiteralType(enumValue.value.toString()); enumTypes.push(stringLiteralType); } @@ -493,34 +503,34 @@ export function generateTypes(host: AutorestExtensionHost, definition: ProviderD return enumTypes[0]; } - return factory.addType(new UnionType(enumTypes)); + return factory.addUnionType(enumTypes); } function parseConstant(putSchema: ConstantSchema | undefined, getSchema: ConstantSchema | undefined) { const combinedSchema = combineAndThrowIfNull(putSchema, getSchema); const constantValue = combinedSchema.value; - return factory.addType(new StringLiteralType(constantValue.value.toString())); + return factory.addStringLiteralType(constantValue.value.toString()); } function parseDictionaryType(putSchema: DictionarySchema | undefined, getSchema: DictionarySchema | undefined) { const combinedSchema = combineAndThrowIfNull(putSchema, getSchema); const additionalPropertiesType = parseType(putSchema?.elementType, getSchema?.elementType); - return factory.addType(new ObjectType(getSerializedName(combinedSchema), {}, additionalPropertiesType)); + return factory.addObjectType(getSerializedName(combinedSchema), {}, additionalPropertiesType); } function parseArrayType(putSchema: ArraySchema | undefined, getSchema: ArraySchema | undefined) { const itemType = parseType(putSchema?.elementType, getSchema?.elementType); if (!itemType) { - return factory.lookupBuiltInType(BuiltInTypeKind.Array); + return factory.addArrayType(factory.addAnyType()); } - return factory.addType(new ArrayType(itemType)); + return factory.addArrayType(itemType); } - function createObjectProperty(type: TypeReference, flags: ObjectPropertyFlags, description?: string): ObjectProperty { - return new ObjectProperty(type, flags, description?.trim() || undefined); + function createObjectProperty(type: TypeReference, flags: ObjectTypePropertyFlags, description?: string): ObjectTypeProperty { + return {type: type, flags: flags, description: description?.trim() || undefined}; } return generateTypes(); diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/types.ts b/hack/bicep-types-radius/src/autorest.bicep/src/types.ts deleted file mode 100644 index 2ba00dcf53..0000000000 --- a/hack/bicep-types-radius/src/autorest.bicep/src/types.ts +++ /dev/null @@ -1,266 +0,0 @@ -// ------------------------------------------------------------ -// Copyright 2023 The Radius Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ------------------------------------------------------------ -import { Dictionary } from "lodash"; - -export enum BuiltInTypeKind { - Any = 1, - Null = 2, - Bool = 3, - Int = 4, - String = 5, - Object = 6, - Array = 7, - ResourceRef = 8, -} - -const BuiltInTypeKindLabel = new Map([ - [BuiltInTypeKind.Any, 'Any'], - [BuiltInTypeKind.Null, 'Null'], - [BuiltInTypeKind.Bool, 'Bool'], - [BuiltInTypeKind.Int, 'Int'], - [BuiltInTypeKind.String, 'String'], - [BuiltInTypeKind.Object, 'Object'], - [BuiltInTypeKind.Array, 'Array'], - [BuiltInTypeKind.ResourceRef, 'ResourceRef'], -]); - -export function getBuiltInTypeKindLabel(input: BuiltInTypeKind) { - return BuiltInTypeKindLabel.get(input) ?? ''; -} - -export enum ScopeType { - Unknown = 0, - Tenant = 1 << 0, - ManagementGroup = 1 << 1, - Subscription = 1 << 2, - ResourceGroup = 1 << 3, - Extension = 1 << 4, -} - -const ScopeTypeLabel = new Map([ - [ScopeType.Tenant, 'Tenant'], - [ScopeType.ManagementGroup, 'ManagementGroup'], - [ScopeType.Subscription, 'Subscription'], - [ScopeType.ResourceGroup, 'ResourceGroup'], - [ScopeType.Extension, 'Extension'], -]); - -export function getScopeTypeLabels(input: ScopeType) { - const types = []; - for (const [key, value] of ScopeTypeLabel) { - if ((key & input) === key) { - types.push(value); - } - } - - return types -} - -export enum ObjectPropertyFlags { - None = 0, - Required = 1 << 0, - ReadOnly = 1 << 1, - WriteOnly = 1 << 2, - DeployTimeConstant = 1 << 3, -} - -const ObjectPropertyFlagsLabel = new Map([ - [ObjectPropertyFlags.Required, 'required'], - [ObjectPropertyFlags.ReadOnly, 'read-only'], - [ObjectPropertyFlags.WriteOnly, 'write-only'], - [ObjectPropertyFlags.DeployTimeConstant, 'deploy-time constant'], -]); - -export function getObjectPropertyFlagsLabels(input: ObjectPropertyFlags) { - const types = []; - for (const [key, value] of ObjectPropertyFlagsLabel) { - if ((key & input) === key) { - types.push(value); - } - } - - return types; -} - -export enum TypeBaseKind { - BuiltInType = 1, - ObjectType = 2, - ArrayType = 3, - ResourceType = 4, - UnionType = 5, - StringLiteralType = 6, - DiscriminatedObjectType = 7, - ResourceFunctionType = 8, -} - -const TypeBaseKindLabel = new Map([ - [TypeBaseKind.BuiltInType, 'BuiltInType'], - [TypeBaseKind.ObjectType, 'ObjectType'], - [TypeBaseKind.ArrayType, 'ArrayType'], - [TypeBaseKind.ResourceType, 'ResourceType'], - [TypeBaseKind.UnionType, 'UnionType'], - [TypeBaseKind.StringLiteralType, 'StringLiteralType'], - [TypeBaseKind.DiscriminatedObjectType, 'DiscriminatedObjectType'], -]); - -export function getTypeBaseKindLabel(input: TypeBaseKind) { - return TypeBaseKindLabel.get(input) ?? ''; -} - -export abstract class TypeBase { - constructor(type: TypeBaseKind) { - this.Type = type; - } - readonly Type: TypeBaseKind; -} - -export class TypeReference { - constructor(index: number) { - this.Index = index; - } - readonly Index: number; -} - -export class BuiltInType extends TypeBase { - constructor(kind: BuiltInTypeKind) { - super(TypeBaseKind.BuiltInType); - this.Kind = kind; - } - readonly Kind: BuiltInTypeKind; -} - -export class UnionType extends TypeBase { - constructor(elements: TypeReference[]) { - super(TypeBaseKind.UnionType); - this.Elements = elements; - } - readonly Elements: TypeReference[]; -} - -export class StringLiteralType extends TypeBase { - constructor(value: string) { - super(TypeBaseKind.StringLiteralType); - this.Value = value; - } - readonly Value: string; -} - -export class ResourceType extends TypeBase { - constructor(name: string, scopeType: ScopeType, body: TypeReference) { - super(TypeBaseKind.ResourceType); - this.Name = name; - this.ScopeType = scopeType; - this.Body = body; - } - readonly Name: string; - readonly ScopeType: ScopeType; - readonly Body: TypeReference; -} - -export class ResourceFunctionType extends TypeBase { - constructor(name: string, resourceType: string, apiVersion: string, output: TypeReference, input?: TypeReference) { - super(TypeBaseKind.ResourceFunctionType); - this.Name = name; - this.ResourceType = resourceType; - this.ApiVersion = apiVersion; - this.Output = output; - this.Input = input; - } - readonly Name: string; - readonly ResourceType: string; - readonly ApiVersion: string; - readonly Output: TypeReference; - readonly Input?: TypeReference; -} - -export class ObjectType extends TypeBase { - constructor(name: string, properties: Dictionary, additionalProperties?: TypeReference) { - super(TypeBaseKind.ObjectType); - this.Name = name; - this.Properties = properties; - this.AdditionalProperties = additionalProperties; - } - readonly Name: string; - readonly Properties: Dictionary; - readonly AdditionalProperties?: TypeReference; -} - -export class DiscriminatedObjectType extends TypeBase { - constructor(name: string, discriminator: string, baseProperties: Dictionary, elements: Dictionary) { - super(TypeBaseKind.DiscriminatedObjectType); - this.Name = name; - this.Discriminator = discriminator; - this.BaseProperties = baseProperties; - this.Elements = elements; - } - readonly Name: string; - readonly Discriminator: string; - readonly BaseProperties: Dictionary; - readonly Elements: Dictionary; -} - -export class ArrayType extends TypeBase { - constructor(itemType: TypeReference) { - super(TypeBaseKind.ArrayType); - this.ItemType = itemType; - } - readonly ItemType: TypeReference; -} - -export class ObjectProperty { - constructor(type: TypeReference, flags: ObjectPropertyFlags, description?: string) { - this.Type = type; - this.Flags = flags; - this.Description = description; - } - readonly Type: TypeReference; - readonly Flags: ObjectPropertyFlags; - readonly Description?: string; -} - -export class TypeFactory { - readonly types: TypeBase[]; - readonly builtInTypes: Record; - - constructor() { - this.types = []; - this.builtInTypes = { - [BuiltInTypeKind.Any]: this.addType(new BuiltInType(BuiltInTypeKind.Any)), - [BuiltInTypeKind.Null]: this.addType(new BuiltInType(BuiltInTypeKind.Null)), - [BuiltInTypeKind.Bool]: this.addType(new BuiltInType(BuiltInTypeKind.Bool)), - [BuiltInTypeKind.Int]: this.addType(new BuiltInType(BuiltInTypeKind.Int)), - [BuiltInTypeKind.String]: this.addType(new BuiltInType(BuiltInTypeKind.String)), - [BuiltInTypeKind.Object]: this.addType(new BuiltInType(BuiltInTypeKind.Object)), - [BuiltInTypeKind.Array]: this.addType(new BuiltInType(BuiltInTypeKind.Array)), - [BuiltInTypeKind.ResourceRef]: this.addType(new BuiltInType(BuiltInTypeKind.ResourceRef)), - }; - } - - public addType(type: TType): TypeReference { - const index = this.types.length; - this.types[index] = type; - - return new TypeReference(index); - } - - public lookupType(reference: TypeReference): TType { - return this.types[reference.Index] as TType; - } - - public lookupBuiltInType(kind: BuiltInTypeKind): TypeReference { - return this.builtInTypes[kind]; - } -} \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/writers/json.ts b/hack/bicep-types-radius/src/autorest.bicep/src/writers/json.ts deleted file mode 100644 index 6b6d5deaa5..0000000000 --- a/hack/bicep-types-radius/src/autorest.bicep/src/writers/json.ts +++ /dev/null @@ -1,37 +0,0 @@ -// ------------------------------------------------------------ -// Copyright 2023 The Radius Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ------------------------------------------------------------. -import { TypeBase, TypeReference } from '../types'; - -export function writeJson(types: TypeBase[]) { - return JSON.stringify(types, replacer, 0); -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function replacer(this: any, key: string, value: any) { - if (value instanceof TypeReference) { - return value.Index; - } - - if (value instanceof TypeBase) { - const { Type, ...rest } = value; - - return { - [Type]: rest, - }; - } - - return value; -} \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts b/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts index 6917d81a22..cffbe66c6a 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts +++ b/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown-table.ts @@ -14,47 +14,68 @@ // limitations under the License. // ------------------------------------------------------------. import { Dictionary, filter, keys, orderBy } from 'lodash'; -import { ArrayType, BuiltInType, DiscriminatedObjectType, getBuiltInTypeKindLabel, getObjectPropertyFlagsLabels, getScopeTypeLabels, ObjectProperty, ObjectType, ResourceFunctionType, ResourceType, StringLiteralType, TypeBase, TypeBaseKind, TypeReference, UnionType } from '../types'; +import { ArrayType, BuiltInType, DiscriminatedObjectType, getBuiltInTypeKindLabel, getObjectTypePropertyFlagsLabels, ObjectTypeProperty, ObjectType, ResourceFunctionType, ResourceType, StringLiteralType, BicepType, TypeBaseKind, TypeReference, UnionType, IntegerType, StringType } from 'bicep-types'; -export function writeTableMarkdown(provider: string, apiVersion: string, resourceTypes: ResourceType[], types: TypeBase[]) { +export function writeTableMarkdown(provider: string, apiVersion: string, resourceTypes: ResourceType[], types: BicepType[]) { let output = ''; - function getTypeName(types: TypeBase[], typeReference: TypeReference): string { - const type = types[typeReference.Index]; - switch (type.Type) { + function getTypeName(types: BicepType[], typeReference: TypeReference): string { + const type = types[typeReference.index]; + switch (type.type) { case TypeBaseKind.BuiltInType: - return getBuiltInTypeKindLabel((type as BuiltInType).Kind).toLowerCase(); + return getBuiltInTypeKindLabel((type as BuiltInType).kind).toLowerCase(); case TypeBaseKind.ObjectType: - return generateAnchorLink((type as ObjectType).Name); + return generateAnchorLink((type as ObjectType).name); case TypeBaseKind.ArrayType: - return `${getTypeName(types, (type as ArrayType).ItemType)}[]`; + return getArrayTypeName(types, (type as ArrayType)); case TypeBaseKind.ResourceType: - return (type as ResourceType).Name; + return (type as ResourceType).name; case TypeBaseKind.ResourceFunctionType: { const functionType = type as ResourceFunctionType; - return `${functionType.Name} (${functionType.ResourceType}@${functionType.ApiVersion})`; + return `${functionType.name} (${functionType.resourceType}@${functionType.apiVersion})`; } case TypeBaseKind.UnionType: { - const elements = (type as UnionType).Elements.map(x => getTypeName(types, x)); + const elements = (type as UnionType).elements.map(x => getTypeName(types, x)); return elements.sort().join(' | '); } case TypeBaseKind.StringLiteralType: - return `'${(type as StringLiteralType).Value}'`; + return `'${(type as StringLiteralType).value}'`; case TypeBaseKind.DiscriminatedObjectType: - return generateAnchorLink((type as DiscriminatedObjectType).Name); + return generateAnchorLink((type as DiscriminatedObjectType).name); + case TypeBaseKind.AnyType: + return 'any'; + case TypeBaseKind.NullType: + return 'null'; + case TypeBaseKind.BooleanType: + return 'bool'; + case TypeBaseKind.IntegerType: + return `int${getIntegerModifiers(type as IntegerType)}`; + case TypeBaseKind.StringType: + return `string${getStringModifiers(type as StringType)}`; default: throw `Unrecognized type`; } } + function getArrayTypeName(types: BicepType[], type: ArrayType): string + { + let itemTypeName = getTypeName(types, type.itemType); + if (itemTypeName.indexOf(' ') != -1) + { + itemTypeName = `(${itemTypeName})`; + } + + return `${itemTypeName}[]${formatModifiers(type.minLength !== undefined ? `minLength: ${type.minLength}` : undefined, type.maxLength !== undefined ? `maxLength: ${type.maxLength}` : undefined)}`; + } + function generateAnchorLink(name: string) { return `[${name}](#${name.replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()})`; } - function writeTypeProperty(types: TypeBase[], name: string, property: ObjectProperty) { - const flagsString = property.Flags ? `${getObjectPropertyFlagsLabels(property.Flags).join(', ')}` : ''; - const descriptionString = property.Description ? property.Description : ''; - writeTableEntry(name, getTypeName(types, property.Type), flagsString, descriptionString); + function writeTypeProperty(types: BicepType[], name: string, property: ObjectTypeProperty) { + const flagsString = property.flags ? `${getObjectTypePropertyFlagsLabels(property.flags).join(', ')}` : ''; + const descriptionString = property.description ? property.description : ''; + writeTableEntry(name, getTypeName(types, property.type), flagsString, descriptionString); } function writeTableHeading(){ @@ -84,35 +105,35 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc output += '\n'; } - function findTypesToWrite(types: TypeBase[], typesToWrite: TypeBase[], typeReference: TypeReference) { + function findTypesToWrite(types: BicepType[], typesToWrite: BicepType[], typeReference: TypeReference) { function processTypeLinks(typeReference: TypeReference, skipParent: boolean) { // this is needed to avoid circular type references causing stack overflows - if (typesToWrite.indexOf(types[typeReference.Index]) === -1) { + if (typesToWrite.indexOf(types[typeReference.index]) === -1) { if (!skipParent) { - typesToWrite.push(types[typeReference.Index]); + typesToWrite.push(types[typeReference.index]); } findTypesToWrite(types, typesToWrite, typeReference); } } - const type = types[typeReference.Index]; - switch (type.Type) { + const type = types[typeReference.index]; + switch (type.type) { case TypeBaseKind.ArrayType: { const arrayType = type as ArrayType; - processTypeLinks(arrayType.ItemType, false); + processTypeLinks(arrayType.itemType, false); return; } case TypeBaseKind.ObjectType: { const objectType = type as ObjectType; - for (const key of sortedKeys(objectType.Properties)) { - processTypeLinks(objectType.Properties[key].Type, false); + for (const key of sortedKeys(objectType.properties)) { + processTypeLinks(objectType.properties[key].type, false); } - if (objectType.AdditionalProperties) { - processTypeLinks(objectType.AdditionalProperties, false); + if (objectType.additionalProperties) { + processTypeLinks(objectType.additionalProperties, false); } return; @@ -120,12 +141,12 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc case TypeBaseKind.DiscriminatedObjectType: { const discriminatedObjectType = type as DiscriminatedObjectType; - for (const key of sortedKeys(discriminatedObjectType.BaseProperties)) { - processTypeLinks(discriminatedObjectType.BaseProperties[key].Type, false); + for (const key of sortedKeys(discriminatedObjectType.baseProperties)) { + processTypeLinks(discriminatedObjectType.baseProperties[key].type, false); } - for (const key of sortedKeys(discriminatedObjectType.Elements)) { - const element = discriminatedObjectType.Elements[key]; + for (const key of sortedKeys(discriminatedObjectType.elements)) { + const element = discriminatedObjectType.elements[key]; // Don't display discriminated object elements as individual types processTypeLinks(element, true); } @@ -139,27 +160,27 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc return orderBy(keys(dictionary), k => k.toLowerCase(), 'asc'); } - function writeComplexType(types: TypeBase[], type: TypeBase, nesting: number, includeHeader: boolean) { - switch (type.Type) { + function writeComplexType(types: BicepType[], type: BicepType, nesting: number, includeHeader: boolean) { + switch (type.type) { case TypeBaseKind.ResourceType: { const resourceType = type as ResourceType; writeHeading(nesting, `Top-Level Resource`); // temporarily removing scope as it's not applicable // writeBullet("Valid Scope(s)", `${getScopeTypeLabels(resourceType.ScopeType).join(', ') || 'Unknown'}`); - writeComplexType(types, types[resourceType.Body.Index], nesting, false); + writeComplexType(types, types[resourceType.body.index], nesting, false); return; } case TypeBaseKind.ResourceFunctionType: { const resourceFunctionType = type as ResourceFunctionType; - writeHeading(nesting, `Function ${resourceFunctionType.Name} (${resourceFunctionType.ResourceType}@${resourceFunctionType.ApiVersion})`); + writeHeading(nesting, `Function ${resourceFunctionType.name} (${resourceFunctionType.resourceType}@${resourceFunctionType.apiVersion})`); writeNewLine(); - writeBullet("Resource", resourceFunctionType.ResourceType); - writeBullet("ApiVersion", resourceFunctionType.ApiVersion); - if (resourceFunctionType.Input) { - writeBullet("Input", getTypeName(types, resourceFunctionType.Input)); + writeBullet("Resource", resourceFunctionType.resourceType); + writeBullet("ApiVersion", resourceFunctionType.apiVersion); + if (resourceFunctionType.input) { + writeBullet("Input", getTypeName(types, resourceFunctionType.input)); } - writeBullet("Output", getTypeName(types, resourceFunctionType.Output)); + writeBullet("Output", getTypeName(types, resourceFunctionType.output)); writeNewLine(); return; @@ -167,28 +188,28 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc case TypeBaseKind.ObjectType: { const objectType = type as ObjectType; if (includeHeader) { - writeHeading(nesting, objectType.Name); + writeHeading(nesting, objectType.name); } writeNewLine(); writeHeading(nesting + 1, "Properties"); writeNewLine(); - if (Object.keys(objectType.Properties).length === 0) { + if (Object.keys(objectType.properties).length === 0) { writeBullet("none", ""); writeNewLine(); } else { writeTableHeading(); - for (const key of sortedKeys(objectType.Properties)) { - writeTypeProperty(types, key, objectType.Properties[key]); + for (const key of sortedKeys(objectType.properties)) { + writeTypeProperty(types, key, objectType.properties[key]); } } - if (objectType.AdditionalProperties) { + if (objectType.additionalProperties) { writeHeading(nesting + 1, "Additional Properties"); writeNewLine(); - writeBullet("Additional Properties Type", getTypeName(types, objectType.AdditionalProperties)); + writeBullet("Additional Properties Type", getTypeName(types, objectType.additionalProperties)); } writeNewLine(); @@ -197,31 +218,31 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc case TypeBaseKind.DiscriminatedObjectType: { const discriminatedObjectType = type as DiscriminatedObjectType; if (includeHeader) { - writeHeading(nesting, discriminatedObjectType.Name); + writeHeading(nesting, discriminatedObjectType.name); writeNewLine(); } - writeBullet("Discriminator", discriminatedObjectType.Discriminator); + writeBullet("Discriminator", discriminatedObjectType.discriminator); writeNewLine(); writeHeading(nesting + 1, "Base Properties"); writeNewLine(); - if (Object.keys(discriminatedObjectType.BaseProperties).length === 0) { + if (Object.keys(discriminatedObjectType.baseProperties).length === 0) { writeBullet("none", ""); writeNewLine(); } else { writeTableHeading(); - for (const propertyName of sortedKeys(discriminatedObjectType.BaseProperties)) { - writeTypeProperty(types, propertyName, discriminatedObjectType.BaseProperties[propertyName]); + for (const propertyName of sortedKeys(discriminatedObjectType.baseProperties)) { + writeTypeProperty(types, propertyName, discriminatedObjectType.baseProperties[propertyName]); } } writeNewLine(); - for (const key of sortedKeys(discriminatedObjectType.Elements)) { - const element = discriminatedObjectType.Elements[key]; - writeComplexType(types, types[element.Index], nesting + 1, true); + for (const key of sortedKeys(discriminatedObjectType.elements)) { + const element = discriminatedObjectType.elements[key]; + writeComplexType(types, types[element.index], nesting + 1, true); } writeNewLine(); @@ -230,23 +251,23 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc } } - function generateMarkdown(provider: string, apiVersion: string, types: TypeBase[]) { + function generateMarkdown(provider: string, apiVersion: string, types: BicepType[]) { - const resourceFunctionTypes = orderBy(types.filter(t => t instanceof ResourceFunctionType) as ResourceFunctionType[], x => x.Name.split('@')[0].toLowerCase()); - const filteredFunctionTypes = resourceFunctionTypes.filter(x => resourceTypes.some(y => x.ResourceType.toLowerCase() === y.Name.split('@')[0].toLowerCase())); - const typesToWrite: TypeBase[] = [...resourceTypes, ...filteredFunctionTypes]; + const resourceFunctionTypes = orderBy(types.filter(t => t.type == TypeBaseKind.ResourceFunctionType) as ResourceFunctionType[], x => x.name.split('@')[0].toLowerCase()); + const filteredFunctionTypes = resourceFunctionTypes.filter(x => resourceTypes.some(y => x.resourceType.toLowerCase() === y.name.split('@')[0].toLowerCase())); + const typesToWrite: BicepType[] = [...resourceTypes, ...filteredFunctionTypes]; for (const resourceType of resourceTypes) { - findTypesToWrite(types, typesToWrite, resourceType.Body); + findTypesToWrite(types, typesToWrite, resourceType.body); } for (const resourceFunctionType of filteredFunctionTypes) { - if (resourceFunctionType.Input) { - typesToWrite.push(types[resourceFunctionType.Input.Index]); - findTypesToWrite(types, typesToWrite, resourceFunctionType.Input); + if (resourceFunctionType.input) { + typesToWrite.push(types[resourceFunctionType.input.index]); + findTypesToWrite(types, typesToWrite, resourceFunctionType.input); } - typesToWrite.push(types[resourceFunctionType.Output.Index]); - findTypesToWrite(types, typesToWrite, resourceFunctionType.Output); + typesToWrite.push(types[resourceFunctionType.output.index]); + findTypesToWrite(types, typesToWrite, resourceFunctionType.output); } for (const type of typesToWrite) { @@ -257,4 +278,24 @@ export function writeTableMarkdown(provider: string, apiVersion: string, resourc } return generateMarkdown(provider, apiVersion, types); +} + +function getIntegerModifiers(type: IntegerType): string +{ + return formatModifiers(type.minValue !== undefined ? `minValue: ${type.minValue}` : undefined, + type.maxValue !== undefined ? `maxValue: ${type.maxValue}` : undefined); +} + +function getStringModifiers(type: StringType): string +{ + return formatModifiers(type.sensitive ? 'sensitive' : undefined, + type.minLength !== undefined ? `minLength: ${type.minLength}` : undefined, + type.maxLength !== undefined ? `maxLength: ${type.maxLength}` : undefined, + type.pattern !== undefined ? `pattern: "${type.pattern.replace('"', '\\"')}"` : undefined); +} + +function formatModifiers(...modifiers: Array): string +{ + const modifierString = modifiers.filter(modifier => !!modifier).join(', '); + return modifierString.length > 0 ? ` {${modifierString}}` : modifierString; } \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown.ts b/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown.ts deleted file mode 100644 index 4f6389378c..0000000000 --- a/hack/bicep-types-radius/src/autorest.bicep/src/writers/markdown.ts +++ /dev/null @@ -1,226 +0,0 @@ -// ------------------------------------------------------------ -// Copyright 2023 The Radius Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ------------------------------------------------------------. -import { Dictionary, keys, orderBy } from 'lodash'; -import { ArrayType, BuiltInType, DiscriminatedObjectType, getBuiltInTypeKindLabel, getObjectPropertyFlagsLabels, getScopeTypeLabels, ObjectProperty, ObjectType, ResourceFunctionType, ResourceType, StringLiteralType, TypeBase, TypeBaseKind, TypeReference, UnionType } from '../types'; - -export function writeMarkdown(provider: string, apiVersion: string, types: TypeBase[]) { - let output = ''; - - function getTypeName(types: TypeBase[], typeReference: TypeReference): string { - const type = types[typeReference.Index]; - switch (type.Type) { - case TypeBaseKind.BuiltInType: - return getBuiltInTypeKindLabel((type as BuiltInType).Kind).toLowerCase(); - case TypeBaseKind.ObjectType: - return generateAnchorLink((type as ObjectType).Name); - case TypeBaseKind.ArrayType: - return `${getTypeName(types, (type as ArrayType).ItemType)}[]`; - case TypeBaseKind.ResourceType: - return (type as ResourceType).Name; - case TypeBaseKind.ResourceFunctionType: { - const functionType = type as ResourceFunctionType; - return `${functionType.Name} (${functionType.ResourceType}@${functionType.ApiVersion})`; - } - case TypeBaseKind.UnionType: { - const elements = (type as UnionType).Elements.map(x => getTypeName(types, x)); - return elements.sort().join(' | '); - } - case TypeBaseKind.StringLiteralType: - return `'${(type as StringLiteralType).Value}'`; - case TypeBaseKind.DiscriminatedObjectType: - return generateAnchorLink((type as DiscriminatedObjectType).Name); - default: - throw `Unrecognized type`; - } - } - - function generateAnchorLink(name: string) { - return `[${name}](#${name.replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()})`; - } - - function writeTypeProperty(types: TypeBase[], name: string, property: ObjectProperty) { - const flagsString = property.Flags ? ` (${getObjectPropertyFlagsLabels(property.Flags).join(', ')})` : ''; - const descriptionString = property.Description ? `: ${property.Description}` : ''; - writeBullet(name, `${getTypeName(types, property.Type)}${flagsString}${descriptionString}`); - } - - function writeHeading(nesting: number, message: string) { - output += `${'#'.repeat(nesting)} ${message}`; - writeNewLine(); - } - - function writeBullet(key: string, value: string) { - output += `* **${key}**: ${value}`; - writeNewLine(); - } - - function writeNewLine() { - output += '\n'; - } - - function findTypesToWrite(types: TypeBase[], typesToWrite: TypeBase[], typeReference: TypeReference) { - function processTypeLinks(typeReference: TypeReference, skipParent: boolean) { - // this is needed to avoid circular type references causing stack overflows - if (typesToWrite.indexOf(types[typeReference.Index]) === -1) { - if (!skipParent) { - typesToWrite.push(types[typeReference.Index]); - } - - findTypesToWrite(types, typesToWrite, typeReference); - } - } - - const type = types[typeReference.Index]; - switch (type.Type) { - case TypeBaseKind.ArrayType: { - const arrayType = type as ArrayType; - processTypeLinks(arrayType.ItemType, false); - - return; - } - case TypeBaseKind.ObjectType: { - const objectType = type as ObjectType; - - for (const key of sortedKeys(objectType.Properties)) { - processTypeLinks(objectType.Properties[key].Type, false); - } - - if (objectType.AdditionalProperties) { - processTypeLinks(objectType.AdditionalProperties, false); - } - - return; - } - case TypeBaseKind.DiscriminatedObjectType: { - const discriminatedObjectType = type as DiscriminatedObjectType; - - for (const key of sortedKeys(discriminatedObjectType.BaseProperties)) { - processTypeLinks(discriminatedObjectType.BaseProperties[key].Type, false); - } - - for (const key of sortedKeys(discriminatedObjectType.Elements)) { - const element = discriminatedObjectType.Elements[key]; - // Don't display discriminated object elements as individual types - processTypeLinks(element, true); - } - - return; - } - } - } - - function sortedKeys(dictionary: Dictionary) { - return orderBy(keys(dictionary), k => k.toLowerCase(), 'asc'); - } - - function writeComplexType(types: TypeBase[], type: TypeBase, nesting: number, includeHeader: boolean) { - switch (type.Type) { - case TypeBaseKind.ResourceType: { - const resourceType = type as ResourceType; - writeHeading(nesting, `Resource ${resourceType.Name}`); - writeBullet("Valid Scope(s)", `${getScopeTypeLabels(resourceType.ScopeType).join(', ') || 'Unknown'}`); - writeComplexType(types, types[resourceType.Body.Index], nesting, false); - - return; - } - case TypeBaseKind.ResourceFunctionType: { - const resourceFunctionType = type as ResourceFunctionType; - writeHeading(nesting, `Function ${resourceFunctionType.Name} (${resourceFunctionType.ResourceType}@${resourceFunctionType.ApiVersion})`); - writeBullet("Resource", resourceFunctionType.ResourceType); - writeBullet("ApiVersion", resourceFunctionType.ApiVersion); - if (resourceFunctionType.Input) { - writeBullet("Input", getTypeName(types, resourceFunctionType.Input)); - } - writeBullet("Output", getTypeName(types, resourceFunctionType.Output)); - - writeNewLine(); - return; - } - case TypeBaseKind.ObjectType: { - const objectType = type as ObjectType; - if (includeHeader) { - writeHeading(nesting, objectType.Name); - } - - writeHeading(nesting + 1, "Properties"); - for (const key of sortedKeys(objectType.Properties)) { - writeTypeProperty(types, key, objectType.Properties[key]); - } - - if (objectType.AdditionalProperties) { - writeHeading(nesting + 1, "Additional Properties"); - writeBullet("Additional Properties Type", getTypeName(types, objectType.AdditionalProperties)); - } - - writeNewLine(); - return; - } - case TypeBaseKind.DiscriminatedObjectType: { - const discriminatedObjectType = type as DiscriminatedObjectType; - if (includeHeader) { - writeHeading(nesting, discriminatedObjectType.Name); - } - - writeBullet("Discriminator", discriminatedObjectType.Discriminator); - writeNewLine(); - - writeHeading(nesting + 1, "Base Properties"); - for (const propertyName of sortedKeys(discriminatedObjectType.BaseProperties)) { - writeTypeProperty(types, propertyName, discriminatedObjectType.BaseProperties[propertyName]); - } - - for (const key of sortedKeys(discriminatedObjectType.Elements)) { - const element = discriminatedObjectType.Elements[key]; - writeComplexType(types, types[element.Index], nesting + 1, true); - } - - writeNewLine(); - return; - } - } - } - - function generateMarkdown(provider: string, apiVersion: string, types: TypeBase[]) { - writeHeading(1, `${provider} @ ${apiVersion}`); - writeNewLine(); - - const resourceTypes = orderBy(types.filter(t => t instanceof ResourceType) as ResourceType[], x => x.Name.split('@')[0].toLowerCase()); - const resourceFunctionTypes = orderBy(types.filter(t => t instanceof ResourceFunctionType) as ResourceFunctionType[], x => x.Name.split('@')[0].toLowerCase()); - const typesToWrite: TypeBase[] = [...resourceTypes, ...resourceFunctionTypes]; - - for (const resourceType of resourceTypes) { - findTypesToWrite(types, typesToWrite, resourceType.Body); - } - - for (const resourceFunctionType of resourceFunctionTypes) { - if (resourceFunctionType.Input) - { - typesToWrite.push(types[resourceFunctionType.Input.Index]); - findTypesToWrite(types, typesToWrite, resourceFunctionType.Input); - } - typesToWrite.push(types[resourceFunctionType.Output.Index]); - findTypesToWrite(types, typesToWrite, resourceFunctionType.Output); - } - - for (const type of typesToWrite) { - writeComplexType(types, type, 2, true); - } - - return output; - } - - return generateMarkdown(provider, apiVersion, types); -} \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/docs/testtype1.md b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/docs/testtype1.md new file mode 100644 index 0000000000..1b8e169617 --- /dev/null +++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/docs/testtype1.md @@ -0,0 +1,47 @@ +### Top-Level Resource + +#### Properties + +| Property | Type | Description | +|----------|------|-------------| +| **apiVersion** | '2021-10-31' | The resource api version
_(ReadOnly, DeployTimeConstant)_ | +| **id** | string | The resource id
_(ReadOnly, DeployTimeConstant)_ | +| **location** | string | The geo-location where the resource lives | +| **name** | string | The resource name
_(Required, DeployTimeConstant, Identifier)_ | +| **properties** | [TestType1Properties](#testtype1properties) | | +| **systemData** | [SystemData](#systemdata) | Metadata pertaining to creation and last modification of the resource.
_(ReadOnly)_ | +| **tags** | [TrackedResourceTags](#trackedresourcetags) | Resource tags. | +| **type** | 'Test.Rp1/testType1' | The resource type
_(ReadOnly, DeployTimeConstant)_ | + +### TestType1Properties + +#### Properties + +| Property | Type | Description | +|----------|------|-------------| +| **basicString** | string | Description for a basic string property. | +| **stringEnum** | 'Bar' | 'Foo' | Description for a basic enum property. | + +### SystemData + +#### Properties + +| Property | Type | Description | +|----------|------|-------------| +| **createdAt** | string | The timestamp of resource creation (UTC). | +| **createdBy** | string | The identity that created the resource. | +| **createdByType** | 'Application' | 'Key' | 'ManagedIdentity' | 'User' | The type of identity that created the resource. | +| **lastModifiedAt** | string | The timestamp of resource last modification (UTC) | +| **lastModifiedBy** | string | The identity that last modified the resource. | +| **lastModifiedByType** | 'Application' | 'Key' | 'ManagedIdentity' | 'User' | The type of identity that created the resource. | + +### TrackedResourceTags + +#### Properties + +* **none** + +#### Additional Properties + +* **Additional Properties Type**: string + diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json index a0977ba1ec..9ce01f9846 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json +++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.json @@ -1 +1,312 @@ -[{"1":{"Kind":1}},{"1":{"Kind":2}},{"1":{"Kind":3}},{"1":{"Kind":4}},{"1":{"Kind":5}},{"1":{"Kind":6}},{"1":{"Kind":7}},{"1":{"Kind":8}},{"6":{"Value":"Test.Rp1/testType1"}},{"6":{"Value":"2021-10-31"}},{"2":{"Name":"Test.Rp1/testType1","Properties":{"id":{"Type":4,"Flags":10,"Description":"The resource id"},"name":{"Type":4,"Flags":9,"Description":"The resource name"},"type":{"Type":8,"Flags":10,"Description":"The resource type"},"apiVersion":{"Type":9,"Flags":10,"Description":"The resource api version"},"properties":{"Type":11,"Flags":0},"tags":{"Type":15,"Flags":0,"Description":"Resource tags."},"location":{"Type":4,"Flags":1,"Description":"The geo-location where the resource lives"},"systemData":{"Type":16,"Flags":2,"Description":"Metadata pertaining to creation and last modification of the resource."}}}},{"2":{"Name":"TestType1Properties","Properties":{"basicString":{"Type":4,"Flags":0,"Description":"Description for a basic string property."},"stringEnum":{"Type":14,"Flags":0,"Description":"Description for a basic enum property."}}}},{"6":{"Value":"Foo"}},{"6":{"Value":"Bar"}},{"5":{"Elements":[12,13]}},{"2":{"Name":"TrackedResourceTags","Properties":{},"AdditionalProperties":4}},{"2":{"Name":"SystemData","Properties":{"createdBy":{"Type":4,"Flags":0,"Description":"The identity that created the resource."},"createdByType":{"Type":21,"Flags":0,"Description":"The type of identity that created the resource."},"createdAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource creation (UTC)."},"lastModifiedBy":{"Type":4,"Flags":0,"Description":"The identity that last modified the resource."},"lastModifiedByType":{"Type":26,"Flags":0,"Description":"The type of identity that created the resource."},"lastModifiedAt":{"Type":4,"Flags":0,"Description":"The timestamp of resource last modification (UTC)"}}}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[17,18,19,20]}},{"6":{"Value":"User"}},{"6":{"Value":"Application"}},{"6":{"Value":"ManagedIdentity"}},{"6":{"Value":"Key"}},{"5":{"Elements":[22,23,24,25]}},{"4":{"Name":"Test.Rp1/testType1@2021-10-31","ScopeType":8,"Body":10}},{"2":{"Name":"FoosRequest","Properties":{"someString":{"Type":4,"Flags":5,"Description":"The foo request string"}}}},{"2":{"Name":"FoosResponse","Properties":{"someString":{"Type":4,"Flags":2,"Description":"The foo response string"}}}},{"8":{"Name":"listFoos","ResourceType":"Test.Rp1/testType1","ApiVersion":"2021-10-31","Output":29,"Input":28}},{"3":{"ItemType":29}},{"8":{"Name":"listArrayOfFoos","ResourceType":"Test.Rp1/testType1","ApiVersion":"2021-10-31","Output":31}}] \ No newline at end of file +[ + { + "$type": "StringType" + }, + { + "$type": "StringLiteralType", + "value": "Test.Rp1/testType1" + }, + { + "$type": "StringLiteralType", + "value": "2021-10-31" + }, + { + "$type": "ObjectType", + "name": "Test.Rp1/testType1", + "properties": { + "id": { + "type": { + "$ref": "#/0" + }, + "flags": 10, + "description": "The resource id" + }, + "name": { + "type": { + "$ref": "#/0" + }, + "flags": 25, + "description": "The resource name" + }, + "type": { + "type": { + "$ref": "#/1" + }, + "flags": 10, + "description": "The resource type" + }, + "apiVersion": { + "type": { + "$ref": "#/2" + }, + "flags": 10, + "description": "The resource api version" + }, + "properties": { + "type": { + "$ref": "#/4" + }, + "flags": 0 + }, + "tags": { + "type": { + "$ref": "#/8" + }, + "flags": 0, + "description": "Resource tags." + }, + "location": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The geo-location where the resource lives" + }, + "systemData": { + "type": { + "$ref": "#/9" + }, + "flags": 2, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } + }, + { + "$type": "ObjectType", + "name": "TestType1Properties", + "properties": { + "basicString": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "Description for a basic string property." + }, + "stringEnum": { + "type": { + "$ref": "#/7" + }, + "flags": 0, + "description": "Description for a basic enum property." + } + } + }, + { + "$type": "StringLiteralType", + "value": "Foo" + }, + { + "$type": "StringLiteralType", + "value": "Bar" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/5" + }, + { + "$ref": "#/6" + } + ] + }, + { + "$type": "ObjectType", + "name": "TrackedResourceTags", + "properties": {}, + "additionalProperties": { + "$ref": "#/0" + } + }, + { + "$type": "ObjectType", + "name": "SystemData", + "properties": { + "createdBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that created the resource." + }, + "createdByType": { + "type": { + "$ref": "#/14" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": { + "$ref": "#/19" + }, + "flags": 0, + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": { + "$ref": "#/0" + }, + "flags": 0, + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/10" + }, + { + "$ref": "#/11" + }, + { + "$ref": "#/12" + }, + { + "$ref": "#/13" + } + ] + }, + { + "$type": "StringLiteralType", + "value": "User" + }, + { + "$type": "StringLiteralType", + "value": "Application" + }, + { + "$type": "StringLiteralType", + "value": "ManagedIdentity" + }, + { + "$type": "StringLiteralType", + "value": "Key" + }, + { + "$type": "UnionType", + "elements": [ + { + "$ref": "#/15" + }, + { + "$ref": "#/16" + }, + { + "$ref": "#/17" + }, + { + "$ref": "#/18" + } + ] + }, + { + "$type": "ObjectType", + "name": "FoosRequest", + "properties": { + "someString": { + "type": { + "$ref": "#/0" + }, + "flags": 5, + "description": "The foo request string" + } + } + }, + { + "$type": "ObjectType", + "name": "FoosResponse", + "properties": { + "someString": { + "type": { + "$ref": "#/0" + }, + "flags": 2, + "description": "The foo response string" + } + } + }, + { + "$type": "FunctionType", + "parameters": [ + { + "name": "someString", + "type": { + "$ref": "#/0" + }, + "description": "The foo request string" + } + ], + "output": { + "$ref": "#/21" + } + }, + { + "$type": "ArrayType", + "itemType": { + "$ref": "#/21" + } + }, + { + "$type": "FunctionType", + "parameters": [], + "output": { + "$ref": "#/23" + } + }, + { + "$type": "ResourceType", + "name": "Test.Rp1/testType1@2021-10-31", + "scopeType": 8, + "body": { + "$ref": "#/3" + }, + "flags": 0, + "functions": { + "listFoos": { + "type": { + "$ref": "#/22" + }, + "description": "listFoos" + }, + "listArrayOfFoos": { + "type": { + "$ref": "#/24" + }, + "description": "listArrayOfFoos" + } + } + } +] \ No newline at end of file diff --git a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.md b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.md index 51926d8ca3..0073251722 100644 --- a/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.md +++ b/hack/bicep-types-radius/src/autorest.bicep/test/integration/generated/basic/test.rp1/2021-10-31/types.md @@ -5,28 +5,21 @@ ### Properties * **apiVersion**: '2021-10-31' (ReadOnly, DeployTimeConstant): The resource api version * **id**: string (ReadOnly, DeployTimeConstant): The resource id -* **location**: string (Required): The geo-location where the resource lives -* **name**: string (Required, DeployTimeConstant): The resource name +* **location**: string: The geo-location where the resource lives +* **name**: string (Required, DeployTimeConstant, Identifier): The resource name * **properties**: [TestType1Properties](#testtype1properties) * **systemData**: [SystemData](#systemdata) (ReadOnly): Metadata pertaining to creation and last modification of the resource. * **tags**: [TrackedResourceTags](#trackedresourcetags): Resource tags. * **type**: 'Test.Rp1/testType1' (ReadOnly, DeployTimeConstant): The resource type -## Function listArrayOfFoos (Test.Rp1/testType1@2021-10-31) -* **Resource**: Test.Rp1/testType1 -* **ApiVersion**: 2021-10-31 -* **Output**: [FoosResponse](#foosresponse)[] - -## Function listFoos (Test.Rp1/testType1@2021-10-31) -* **Resource**: Test.Rp1/testType1 -* **ApiVersion**: 2021-10-31 -* **Input**: [FoosRequest](#foosrequest) +### Function listFoos * **Output**: [FoosResponse](#foosresponse) +#### Parameters +0. **someString**: string -## TestType1Properties -### Properties -* **basicString**: string: Description for a basic string property. -* **stringEnum**: 'Bar' | 'Foo': Description for a basic enum property. +### Function listArrayOfFoos +* **Output**: [FoosResponse](#foosresponse)[] +#### Parameters ## SystemData ### Properties @@ -37,20 +30,13 @@ * **lastModifiedBy**: string: The identity that last modified the resource. * **lastModifiedByType**: 'Application' | 'Key' | 'ManagedIdentity' | 'User': The type of identity that created the resource. +## TestType1Properties +### Properties +* **basicString**: string: Description for a basic string property. +* **stringEnum**: 'Bar' | 'Foo': Description for a basic enum property. + ## TrackedResourceTags ### Properties ### Additional Properties * **Additional Properties Type**: string -## FoosResponse -### Properties -* **someString**: string (ReadOnly): The foo response string - -## FoosRequest -### Properties -* **someString**: string (Required, WriteOnly): The foo request string - -## FoosResponse -### Properties -* **someString**: string (ReadOnly): The foo response string - diff --git a/hack/bicep-types-radius/src/generator/package-lock.json b/hack/bicep-types-radius/src/generator/package-lock.json index dd1a1faf7b..b5bd85dcc9 100644 --- a/hack/bicep-types-radius/src/generator/package-lock.json +++ b/hack/bicep-types-radius/src/generator/package-lock.json @@ -13,6 +13,7 @@ "@autorest/modelerfour": "^4.27.0", "@ts-common/commonmark-to-markdown": "^2.0.2", "@types/async": "^3.2.24", + "@types/jest": "^29.5.12", "@types/js-yaml": "^4.0.9", "@types/lodash": "^4.17.4", "@types/node": "^20.12.12", @@ -21,6 +22,7 @@ "@typescript-eslint/parser": "^7.10.0", "async": "^3.2.5", "autorest": "^3.7.1", + "bicep-types": "file:../../../../bicep-types/src/bicep-types", "colors": "^1.4.0", "eslint": "^8.56.0", "eslint-plugin-header": "^3.1.1", @@ -31,6 +33,25 @@ "yargs": "^17.7.2" } }, + "../../../../bicep-types/src/bicep-types": { + "version": "0.0.0-placeholder", + "dev": true, + "license": "MIT", + "devDependencies": { + "@types/jest": "^29.0.3", + "@types/node": "^20.1.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", + "eslint": "^8.23.1", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-jest": "^28.2.0", + "jest": "^29.0.3", + "nerdbank-gitversioning": "^3.5.113", + "ts-jest": "^29.0.1", + "ts-node": "^10.9.1", + "typescript": "^5.0.2" + } + }, "node_modules/@autorest/core": { "version": "3.10.2", "resolved": "https://registry.npmjs.org/@autorest/core/-/core-3.10.2.tgz", @@ -53,6 +74,114 @@ "node": ">=12.0.0" } }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -154,6 +283,47 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -214,6 +384,12 @@ "node": ">= 8" } }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "node_modules/@ts-common/commonmark-to-markdown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-2.0.2.tgz", @@ -271,6 +447,40 @@ "integrity": "sha512-vIqgmHyLsc8Or3EWLz6QkhI8/v61FNeH0yxRupA7VqSbA2eFMoHHJAhZSHudplAV89wqg1CKSmShE016ziRXuw==", "dev": true }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/js-yaml": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", @@ -284,14 +494,20 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "version": "20.12.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", + "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", "dev": true, "dependencies": { "undici-types": "~5.26.4" } }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, "node_modules/@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -638,6 +854,10 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/bicep-types": { + "resolved": "../../../../bicep-types/src/bicep-types", + "link": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -685,6 +905,21 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -802,6 +1037,15 @@ "node": ">=0.3.1" } }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -1023,6 +1267,22 @@ "node": ">=0.10.0" } }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1250,6 +1510,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -1369,6 +1635,88 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1601,6 +1949,12 @@ "node": ">=8" } }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -1622,6 +1976,32 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -1651,6 +2031,12 @@ } ] }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -1765,6 +2151,27 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -2077,6 +2484,92 @@ "integrity": "sha512-Tbsqy4MCQeuVmDRQCwL9S+B1UeDbazx8LBF3eecrDrLY4ERShzXjB0Z4ZCwrxspmDFlDrrw5G2pGzjBE3aC+IQ==", "dev": true }, + "@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dev": true, + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -2147,6 +2640,38 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, "@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", @@ -2195,6 +2720,12 @@ "fastq": "^1.6.0" } }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, "@ts-common/commonmark-to-markdown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-2.0.2.tgz", @@ -2250,6 +2781,40 @@ "integrity": "sha512-vIqgmHyLsc8Or3EWLz6QkhI8/v61FNeH0yxRupA7VqSbA2eFMoHHJAhZSHudplAV89wqg1CKSmShE016ziRXuw==", "dev": true }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "@types/js-yaml": { "version": "4.0.9", "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", @@ -2263,14 +2828,20 @@ "dev": true }, "@types/node": { - "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "version": "20.12.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", + "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", "dev": true, "requires": { "undici-types": "~5.26.4" } }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, "@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -2490,6 +3061,23 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "bicep-types": { + "version": "file:../../../../bicep-types/src/bicep-types", + "requires": { + "@types/jest": "^29.0.3", + "@types/node": "^20.1.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", + "eslint": "^8.23.1", + "eslint-plugin-header": "^3.1.1", + "eslint-plugin-jest": "^28.2.0", + "jest": "^29.0.3", + "nerdbank-gitversioning": "^3.5.113", + "ts-jest": "^29.0.1", + "ts-node": "^10.9.1", + "typescript": "^5.0.2" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2525,6 +3113,12 @@ "supports-color": "^7.1.0" } }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -2613,6 +3207,12 @@ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2771,6 +3371,19 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2954,6 +3567,12 @@ "slash": "^3.0.0" } }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -3043,6 +3662,73 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true + }, + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -3224,6 +3910,12 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3236,6 +3928,25 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -3248,6 +3959,12 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3317,6 +4034,23 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", diff --git a/hack/bicep-types-radius/src/generator/package.json b/hack/bicep-types-radius/src/generator/package.json index 630be0f094..ddefb0fe86 100644 --- a/hack/bicep-types-radius/src/generator/package.json +++ b/hack/bicep-types-radius/src/generator/package.json @@ -28,6 +28,7 @@ "@autorest/modelerfour": "^4.27.0", "@ts-common/commonmark-to-markdown": "^2.0.2", "@types/async": "^3.2.24", + "@types/jest": "^29.5.12", "@types/js-yaml": "^4.0.9", "@types/lodash": "^4.17.4", "@types/node": "^20.12.12", @@ -36,6 +37,7 @@ "@typescript-eslint/parser": "^7.10.0", "async": "^3.2.5", "autorest": "^3.7.1", + "bicep-types": "file:../../../../bicep-types/src/bicep-types", "colors": "^1.4.0", "eslint": "^8.56.0", "eslint-plugin-header": "^3.1.1", diff --git a/hack/bicep-types-radius/src/generator/src/cmd/generate.ts b/hack/bicep-types-radius/src/generator/src/cmd/generate.ts index 3da347c7cf..e3507a5368 100644 --- a/hack/bicep-types-radius/src/generator/src/cmd/generate.ts +++ b/hack/bicep-types-radius/src/generator/src/cmd/generate.ts @@ -18,8 +18,8 @@ import path from 'path'; import { existsSync } from 'fs'; import { mkdir, rm, writeFile, readFile } from 'fs/promises'; import yargs from 'yargs'; -import { groupBy, keys, orderBy, sortBy, Dictionary } from 'lodash'; -import { TypeBaseKind } from '../types'; +import { Dictionary } from 'lodash'; +import { TypeFile, buildIndex, readTypesJson, writeIndexJson, writeIndexMarkdown, TypeSettings } from 'bicep-types'; import { GeneratorConfig, getConfig } from '../config'; import * as markdown from '@ts-common/commonmark-to-markdown' import * as yaml from 'js-yaml' @@ -35,6 +35,7 @@ const argsConfig = yargs .strict() .option('specs-dir', { type: 'string', demandOption: true, desc: 'Path to the azure-rest-api-specs dir' }) .option('out-dir', { type: 'string', default: defaultOutDir, desc: 'Output path for generated files' }) + .option('release-version', { type: 'string', default: 'latest', desc: 'The version of the generated types' }) .option('single-path', { type: 'string', default: undefined, desc: 'Only regenerate under a specific file path - e.g. "compute"' }) .option('verbose', { type: 'boolean', default: false, desc: 'Enable autorest verbose logging' }) .option('wait-for-debugger', { type: 'boolean', default: false, desc: 'Wait for a C# debugger to be attached before running the Autorest extension' }); @@ -43,6 +44,7 @@ executeSynchronous(async () => { const args = await argsConfig.parseAsync(); const inputBaseDir = path.resolve(args['specs-dir']); const outputBaseDir = path.resolve(args['out-dir']); + const version = args['release-version']; const verbose = args['verbose']; const waitForDebugger = args['wait-for-debugger']; const singlePath = args['single-path']; @@ -114,7 +116,7 @@ ${err} } // build the type index - await buildTypeIndex(defaultLogger, outputBaseDir); + await buildTypeIndex(defaultLogger, outputBaseDir, version); }); function normalizeJsonPath(jsonPath: string) { @@ -241,114 +243,21 @@ async function findReadmePaths(specsPath: string) { }); } -async function buildTypeIndex(logger: ILogger, baseDir: string) { - const indexContent = await buildIndex(logger, baseDir); - - await writeFile( - `${baseDir}/index.json`, - JSON.stringify(indexContent, null, 0)); - - await writeFile( - `${baseDir}/index.md`, - generateIndexMarkdown(indexContent)); -} - -interface TypeIndex { - Resources: Dictionary; - Functions: Dictionary>; -} - -interface TypeIndexEntry { - RelativePath: string; - Index: number; -} - -function generateIndexMarkdown(index: TypeIndex) { - let markdown = '# Bicep Types\n'; - - const byProvider = groupBy(keys(index.Resources), x => x.split('/')[0].toLowerCase()); - for (const namespace of sortBy(keys(byProvider), x => x.toLowerCase())) { - markdown += `## ${namespace}\n`; - - const byResourceType = groupBy(byProvider[namespace], x => x.split('@')[0].toLowerCase()); - for (const resourceType of sortBy(keys(byResourceType), x => x.toLowerCase())) { - markdown += `### ${resourceType}\n`; - - for (const typeString of sortBy(byResourceType[resourceType], x => x.toLowerCase())) { - const version = typeString.split('@')[1]; - const jsonPath = index.Resources[typeString].RelativePath; - const anchor = `resource-${typeString.replace(/[^a-zA-Z0-9-]/g, '').toLowerCase()}` - - markdown += `* [${version}](${path.dirname(jsonPath)}/types.md#${anchor})\n`; - } - - markdown += '\n'; - } - } - - return markdown; -} - -async function buildIndex(logger: ILogger, baseDir: string): Promise { - const typeFiles = await findRecursive(baseDir, filePath => { +async function buildTypeIndex(logger: ILogger, baseDir: string, version: string) { + const typesPaths = await findRecursive(baseDir, filePath => { return path.basename(filePath) === 'types.json'; }); - - const resourceTypes = new Set(); - const resourceFunctions = new Set(); - const resDictionary: Dictionary = {}; - const funcDictionary: Dictionary> = {}; - - // Use a consistent sort order so that file system differences don't generate changes - for (const typeFilePath of orderBy(typeFiles, f => f.toLowerCase(), 'asc')) { - const content = await readFile(typeFilePath, { encoding: 'utf8' }); - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const types = JSON.parse(content) as any[]; - for (const type of types) { - const resourceType = type[TypeBaseKind.ResourceType]; - if (resourceType) { - if (resourceTypes.has(resourceType.Name.toLowerCase())) { - logOut(logger, `WARNING: Found duplicate type "${resourceType.Name}"`); - continue; - } - resourceTypes.add(resourceType.Name.toLowerCase()); - - resDictionary[resourceType.Name] = { - RelativePath: path.relative(baseDir, typeFilePath), - Index: types.indexOf(type), - }; - - continue; - } - const resourceFunction = type[TypeBaseKind.ResourceFunctionType]; - if (resourceFunction) { - const funcKey = `${resourceFunction.ResourceType}@${resourceFunction.ApiVersion}:${resourceFunction.Name}`.toLowerCase(); - - const resourceTypeLower = resourceFunction.ResourceType.toLowerCase(); - const apiVersionLower = resourceFunction.ApiVersion.toLowerCase(); - if (resourceFunctions.has(funcKey)) { - logOut(logger, `WARNING: Found duplicate function "${resourceFunction.Name}" for resource type "${resourceFunction.ResourceType}@${resourceFunction.ApiVersion}"`); - continue; - } - resourceFunctions.add(funcKey); - - funcDictionary[resourceTypeLower] = funcDictionary[resourceTypeLower] || {}; - funcDictionary[resourceTypeLower][apiVersionLower] = funcDictionary[resourceTypeLower][apiVersionLower] || []; - - funcDictionary[resourceTypeLower][apiVersionLower].push({ - RelativePath: path.relative(baseDir, typeFilePath), - Index: types.indexOf(type), - }); - - continue; - } - } + const typeFiles: TypeFile[] = []; + for (const typePath of typesPaths) { + const content = await readFile(typePath, { encoding: 'utf8' }); + typeFiles.push({ + relativePath: path.relative(baseDir, typePath), + types: readTypesJson(content), + }); } + const indexContent = await buildIndex(typeFiles, log => logOut(logger, log), {name: "Radius", version: version, isSingleton: false} as TypeSettings); - return { - Resources: resDictionary, - Functions: funcDictionary, - } + await writeFile(`${baseDir}/index.json`, writeIndexJson(indexContent)); + await writeFile(`${baseDir}/index.md`, writeIndexMarkdown(indexContent)); } \ No newline at end of file diff --git a/hack/bicep-types-radius/src/generator/src/types.ts b/hack/bicep-types-radius/src/generator/src/types.ts deleted file mode 100644 index 57df039e69..0000000000 --- a/hack/bicep-types-radius/src/generator/src/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -// ------------------------------------------------------------ -// Copyright 2023 The Radius Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ------------------------------------------------------------. -export enum TypeBaseKind { - BuiltInType = 1, - ObjectType = 2, - ArrayType = 3, - ResourceType = 4, - UnionType = 5, - StringLiteralType = 6, - DiscriminatedObj = 7, - ResourceFunctionType = 8, -} \ No newline at end of file diff --git a/pkg/cli/bicep/bicep.go b/pkg/cli/bicep/bicep.go index c32435b278..a08bf78450 100644 --- a/pkg/cli/bicep/bicep.go +++ b/pkg/cli/bicep/bicep.go @@ -21,7 +21,7 @@ import ( "os" "time" - "github.com/radius-project/radius/pkg/cli/tools" + "github.com/radius-project/radius/pkg/cli/bicep/tools" ) const ( diff --git a/pkg/cli/bicep/build.go b/pkg/cli/bicep/build.go index 82427e9d74..ce59413dad 100644 --- a/pkg/cli/bicep/build.go +++ b/pkg/cli/bicep/build.go @@ -26,7 +26,7 @@ import ( "regexp" "strings" - "github.com/radius-project/radius/pkg/cli/tools" + "github.com/radius-project/radius/pkg/cli/bicep/tools" ) // Official regex for semver diff --git a/pkg/cli/tools/binary_tools.go b/pkg/cli/bicep/tools/download_tools.go similarity index 74% rename from pkg/cli/tools/binary_tools.go rename to pkg/cli/bicep/tools/download_tools.go index bea69aaf73..4b2c2db340 100644 --- a/pkg/cli/tools/binary_tools.go +++ b/pkg/cli/bicep/tools/download_tools.go @@ -17,31 +17,29 @@ limitations under the License. package tools import ( - "context" "fmt" + "io" + "net/http" "os" "path" "runtime" - "github.com/radius-project/radius/pkg/version" - "oras.land/oras-go/v2" - "oras.land/oras-go/v2/content/file" - "oras.land/oras-go/v2/registry/remote" + "github.com/radius-project/radius/pkg/cli/clients" ) const ( // binaryRepo is the name of the remote bicep binary repository - binaryRepo = "ghcr.io/radius-project/radius/bicep/rad-bicep/" + binaryRepo = "https://github.com/Azure/bicep/releases/latest/download/" ) // validPlatforms is a map of valid platforms to download for. The key is the combination of GOOS and GOARCH. var validPlatforms = map[string]string{ - "windows-amd64": "windows-x64", - "linux-amd64": "linux-x64", - "linux-arm": "linux-arm", - "linux-arm64": "linux-arm64", - "darwin-amd64": "macos-x64", - "darwin-arm64": "macos-arm64", + "windows-amd64": "bicep-win-x64", + "windows-arm64": "bicep-win-arm64", + "linux-amd64": "bicep-linux-x64", + "linux-arm64": "bicep-linux-arm64", + "darwin-amd64": "bicep-osx-x64", + "darwin-arm64": "bicep-osx-arm64", } // GetLocalFilepath returns the local binary file path. It does not verify that the file @@ -123,58 +121,55 @@ func GetValidPlatform(currentOS, currentArch string) (string, error) { return platform, nil } -// DownloadToFolder creates a folder and a file, uses the ORAS client to copy from the remote repository to the file, -// and makes the file executable by everyone. An error is returned if any of these steps fail. +// DownloadToFolder creates a folder and a file, downloads the bicep binary to the file, func DownloadToFolder(filepath string) error { - // create folders + // Create folders err := os.MkdirAll(path.Dir(filepath), os.ModePerm) if err != nil { return fmt.Errorf("failed to create folder %s: %v", path.Dir(filepath), err) } - // Create a file store - fs, err := file.New(path.Dir(filepath)) + // Create the file + bicepBinary, err := os.Create(filepath) if err != nil { - return fmt.Errorf("failed to create file store %s: %v", filepath, err) + return err } - defer fs.Close() + defer bicepBinary.Close() - ctx := context.Background() - platform, err := GetValidPlatform(runtime.GOOS, runtime.GOARCH) + // Get file binary + binary, err := GetValidPlatform(runtime.GOOS, runtime.GOARCH) if err != nil { return err } - // Define remote repository - repo, err := remote.NewRepository(binaryRepo + platform) + // Get binaryName extension + binaryName, err := getFilename(binary) if err != nil { return err } - // Copy the artifact from the registry into the file store - tag := version.Channel() - if version.IsEdgeChannel() { - tag = "latest" - } - _, err = oras.Copy(ctx, repo, tag, fs, tag, oras.DefaultCopyOptions) - if err != nil { + // Get the data + resp, err := http.Get(binaryRepo + binaryName) + if clients.Is404Error(err) { + return fmt.Errorf("unable to locate bicep binary resource %s: %v", binaryRepo+binaryName, err) + } else if err != nil { return err } + defer resp.Body.Close() - // Open the folder so we can mark it as executable - bicepBinary, err := os.Open(filepath) + // Write the body to file + _, err = io.Copy(bicepBinary, resp.Body) if err != nil { - return fmt.Errorf("failed to open file %s: %v", filepath, err) + return err } - defer bicepBinary.Close() - // get the filemode so we can mark it as executable + // Get the filemode so we can mark it as executable file, err := bicepBinary.Stat() if err != nil { return fmt.Errorf("failed to read file attributes %s: %v", filepath, err) } - // make file executable by everyone + // Make file executable by everyone err = bicepBinary.Chmod(file.Mode() | 0111) if err != nil { return fmt.Errorf("failed to change permissions for %s: %v", filepath, err) diff --git a/pkg/cli/tools/binary_tools_test.go b/pkg/cli/bicep/tools/download_tools_test.go similarity index 85% rename from pkg/cli/tools/binary_tools_test.go rename to pkg/cli/bicep/tools/download_tools_test.go index b717b9f9bd..6fa2462369 100644 --- a/pkg/cli/tools/binary_tools_test.go +++ b/pkg/cli/bicep/tools/download_tools_test.go @@ -33,38 +33,38 @@ func TestGetValidPlatform(t *testing.T) { { currentOS: "darwin", currentArch: "amd64", - out: "macos-x64", + out: "bicep-osx-x64", }, { currentOS: "darwin", currentArch: "arm64", - out: "macos-arm64", + out: "bicep-osx-arm64", }, { currentOS: "windows", currentArch: "amd64", - out: "windows-x64", + out: "bicep-win-x64", }, { currentOS: "windows", currentArch: "arm64", - out: "", - err: errors.New("unsupported platform windows/arm64"), + out: "bicep-win-arm64", }, { currentOS: "linux", currentArch: "amd64", - out: "linux-x64", + out: "bicep-linux-x64", }, { currentOS: "linux", currentArch: "arm", - out: "linux-arm", + out: "", + err: errors.New("unsupported platform linux/arm"), }, { currentOS: "linux", currentArch: "arm64", - out: "linux-arm64", + out: "bicep-linux-arm64", }, } diff --git a/pkg/cli/tools/err.go b/pkg/cli/bicep/tools/err.go similarity index 100% rename from pkg/cli/tools/err.go rename to pkg/cli/bicep/tools/err.go diff --git a/pkg/cli/tools/util.go b/pkg/cli/bicep/tools/util.go similarity index 100% rename from pkg/cli/tools/util.go rename to pkg/cli/bicep/tools/util.go diff --git a/pkg/cli/cmd/radinit/display.go b/pkg/cli/cmd/radinit/display.go index d16772c931..5237117b78 100644 --- a/pkg/cli/cmd/radinit/display.go +++ b/pkg/cli/cmd/radinit/display.go @@ -251,6 +251,7 @@ func (m *summaryModel) View() string { message.WriteString(summaryApplicationHeadingIcon) message.WriteString(fmt.Sprintf(summaryApplicationScaffoldHeadingFmt, highlight(options.Application.Name))) message.WriteString(fmt.Sprintf(summaryApplicationScaffoldFile, highlight("app.bicep"))) + message.WriteString(fmt.Sprintf(summaryApplicationScaffoldFile, highlight("bicepconfig.json"))) message.WriteString(fmt.Sprintf(summaryApplicationScaffoldFile, highlight(filepath.Join(".rad", "rad.yaml")))) } diff --git a/pkg/cli/setup/application.go b/pkg/cli/setup/application.go index f1122a7aae..00ab102483 100644 --- a/pkg/cli/setup/application.go +++ b/pkg/cli/setup/application.go @@ -20,10 +20,12 @@ import ( "fmt" "os" "path/filepath" + + "github.com/radius-project/radius/pkg/version" ) const ( - appBicepTemplate = `import radius as radius + appBicepTemplate = `extension radius @description('The Radius Application ID. Injected automatically by the rad CLI.') param application string @@ -47,6 +49,18 @@ resource demo 'Applications.Core/containers@2023-10-01-preview' = { radYamlTemplate = `workspace: application: %q ` // Trailing newline intentional. + + bicepConfigTemplate = `{ + "experimentalFeaturesEnabled": { + "extensibility": true, + "extensionRegistry": true, + "dynamicTypeLoading": true + }, + "extensions": { + "radius": "br:biceptypes.azurecr.io/radius:%s", + "aws": "br:biceptypes.azurecr.io/aws:%s" + } +}` ) // ScaffoldApplication creates a working sample application in the provided directory @@ -60,7 +74,7 @@ func ScaffoldApplication(directory string, name string) error { return err } - // We NEVER overwrite app.bicep if it exists. We assume the user might have changed it, and don't + // We NEVER overwrite app.bicep or the bicepconfig.json if it exists. We assume the user might have changed it, and don't // want them to lose their content. // // On the other hand, we ALWAYS overwrite rad.yaml if it exists. We assume that the reason why @@ -76,6 +90,17 @@ func ScaffoldApplication(directory string, name string) error { return err } + bicepConfigFilepath := filepath.Join(directory, "bicepconfig.json") + _, err = os.Stat(bicepConfigFilepath) + if os.IsNotExist(err) { + err = os.WriteFile(bicepConfigFilepath, []byte(getVersionedBicepConfig()), 0644) + if err != nil { + return err + } + } else if err != nil { + return err + } + radYamlFilepath := filepath.Join(directory, ".rad", "rad.yaml") err = os.WriteFile(radYamlFilepath, []byte(fmt.Sprintf(radYamlTemplate, name)), 0644) if err != nil { @@ -84,3 +109,12 @@ func ScaffoldApplication(directory string, name string) error { return nil } + +func getVersionedBicepConfig() string { + tag := version.Channel() + if version.IsEdgeChannel() { + tag = "latest" + } + + return fmt.Sprintf(bicepConfigTemplate, tag, tag) +} diff --git a/pkg/cli/setup/application_test.go b/pkg/cli/setup/application_test.go index 9b732985f4..3291df645f 100644 --- a/pkg/cli/setup/application_test.go +++ b/pkg/cli/setup/application_test.go @@ -17,6 +17,7 @@ limitations under the License. package setup import ( + "fmt" "os" "path/filepath" "testing" @@ -25,6 +26,8 @@ import ( "gopkg.in/yaml.v3" ) +const latest = "latest" + func Test_ScaffoldApplication_CreatesBothFiles(t *testing.T) { directory := t.TempDir() @@ -33,6 +36,7 @@ func Test_ScaffoldApplication_CreatesBothFiles(t *testing.T) { require.FileExists(t, filepath.Join(directory, ".rad", "rad.yaml")) require.FileExists(t, filepath.Join(directory, "app.bicep")) + require.FileExists(t, filepath.Join(directory, "bicepconfig.json")) b, err := os.ReadFile(filepath.Join(directory, ".rad", "rad.yaml")) require.NoError(t, err) @@ -51,6 +55,10 @@ func Test_ScaffoldApplication_CreatesBothFiles(t *testing.T) { b, err = os.ReadFile(filepath.Join(directory, "app.bicep")) require.NoError(t, err) require.Equal(t, appBicepTemplate, string(b)) + + b, err = os.ReadFile(filepath.Join(directory, "bicepconfig.json")) + require.NoError(t, err) + require.Equal(t, fmt.Sprintf(bicepConfigTemplate, latest, latest), string(b)) } func Test_ScaffoldApplication_KeepsAppBicepButWritesRadYaml(t *testing.T) { @@ -63,6 +71,8 @@ func Test_ScaffoldApplication_KeepsAppBicepButWritesRadYaml(t *testing.T) { require.NoError(t, err) err = os.WriteFile(filepath.Join(directory, "app.bicep"), []byte("something else"), 0644) require.NoError(t, err) + err = os.WriteFile(filepath.Join(directory, "bicepconfig.json"), []byte("something else"), 0644) + require.NoError(t, err) err = ScaffoldApplication(directory, "cool-application") require.NoError(t, err) @@ -87,4 +97,8 @@ func Test_ScaffoldApplication_KeepsAppBicepButWritesRadYaml(t *testing.T) { b, err = os.ReadFile(filepath.Join(directory, "app.bicep")) require.NoError(t, err) require.Equal(t, "something else", string(b)) + + b, err = os.ReadFile(filepath.Join(directory, "bicepconfig.json")) + require.NoError(t, err) + require.Equal(t, "something else", string(b)) } diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-app-empty-resources.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-app-empty-resources.bicep index dc16d2772a..0b46ad4080 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-app-empty-resources.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-app-empty-resources.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-parameters.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-parameters.bicep index d2cfe4fd67..ea29b9e22c 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-parameters.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-parameters.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run-portforward.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run-portforward.bicep index 09fab41a0f..5c25c82107 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run-portforward.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run-portforward.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param application string diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run.bicep index 9c3626f749..426bef8c77 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-run.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param application string diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-resources.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-resources.bicep index d233c4931f..19a01c83b4 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-resources.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-resources.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-unassociated-resources.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-unassociated-resources.bicep index 7851aa4046..5823db5c2c 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-unassociated-resources.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli-with-unassociated-resources.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.bicep index 59dc9771eb..2ea15947b1 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-kubernetes-cli.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/cli/noncloud/testdata/corerp-resources-recipe-env.bicep b/test/functional-portable/cli/noncloud/testdata/corerp-resources-recipe-env.bicep index 9076ae069c..c265a4b7a2 100644 --- a/test/functional-portable/cli/noncloud/testdata/corerp-resources-recipe-env.bicep +++ b/test/functional-portable/cli/noncloud/testdata/corerp-resources-recipe-env.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step1.bicep b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step1.bicep index 62261fd452..8a14d32797 100644 --- a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step1.bicep +++ b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step1.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param dbSubnetGroupName string diff --git a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step2.bicep b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step2.bicep index c8bdde1a7a..08a445b0b1 100644 --- a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step2.bicep +++ b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withcreateandwritepropertyupdate.step2.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param dbSubnetGroupName string diff --git a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step1.bicep b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step1.bicep index 52c56f9127..b3597c6d92 100644 --- a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step1.bicep +++ b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step1.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param bucketName string diff --git a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step2.bicep b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step2.bicep index 109f502a2d..09732f64f0 100644 --- a/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step2.bicep +++ b/test/functional-portable/corerp/cloud/mechanics/testdata/aws-mechanics-redeploy-withupdatedresource.step2.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param bucketName string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/aws-multi-identifier.bicep b/test/functional-portable/corerp/cloud/resources/testdata/aws-multi-identifier.bicep index 0498c8d3b9..2ca905ec60 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/aws-multi-identifier.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/aws-multi-identifier.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param filterName string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket-existing.bicep b/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket-existing.bicep index b4bc4cd954..b942e44b7d 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket-existing.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket-existing.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param bucketName string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket.bicep b/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket.bicep index 52c56f9127..b3597c6d92 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/aws-s3-bucket.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param bucketName string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-azure-connection-database-service.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-azure-connection-database-service.bicep index 0dde82220d..da644dc82a 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-azure-connection-database-service.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-azure-connection-database-service.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-container-workload.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-container-workload.bicep index fd2490f273..13ade6ed20 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-container-workload.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-container-workload.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'eastus' diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-extender-aws-s3-recipe.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-extender-aws-s3-recipe.bicep index d2c4fec050..aba651ece7 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-extender-aws-s3-recipe.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-extender-aws-s3-recipe.bicep @@ -1,4 +1,4 @@ -import radius as rad +extension radius param bucketName string param creationTimestamp string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-azurestorage.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-azurestorage.bicep index e560de7606..46ad6ee876 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-azurestorage.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-azurestorage.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param location string = resourceGroup().location diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-private-git-repo-redis.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-private-git-repo-redis.bicep index c9c071d188..f477b81c2d 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-private-git-repo-redis.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-terraform-private-git-repo-redis.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Name of the Redis Cache resource.') param redisCacheName string diff --git a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-volume-azure-keyvault.bicep b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-volume-azure-keyvault.bicep index f7d91569e0..ad7d69ffa3 100644 --- a/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-volume-azure-keyvault.bicep +++ b/test/functional-portable/corerp/cloud/resources/testdata/corerp-resources-volume-azure-keyvault.bicep @@ -5,7 +5,7 @@ // 3. Create Keyvault volume. // 4. Create container which associated keyvault volume. -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-communication-cycle.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-communication-cycle.bicep index 67fe42378e..f3e9d196ff 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-communication-cycle.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-communication-cycle.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-invalid-resourceids.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-invalid-resourceids.bicep index fd99bba623..e396ed85c9 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-invalid-resourceids.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-invalid-resourceids.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-nestedmodules.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-nestedmodules.bicep index 3547809612..755c516139 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-nestedmodules.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-nestedmodules.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step1.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step1.bicep index 97b5b7c34e..fbfbaa3b8d 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step1.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step1.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step2.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step2.bicep index 6d4c99baa6..64690ea855 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step2.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withanotherresource.step2.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step1.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step1.bicep index 08f1e295c9..a67f10a0d7 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step1.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step1.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step2.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step2.bicep index aae6c2fdb7..aa5fe6e61e 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step2.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withtwoseparateresource.step2.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step1.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step1.bicep index 7c6f7e7cb7..38d5d375a3 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step1.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step1.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step2.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step2.bicep index 1638af4f6c..d882dd9381 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step2.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/corerp-mechanics-redeploy-withupdatedresource.step2.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/connection-string.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/connection-string.bicep index 6f66d3812c..411b672b9f 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/connection-string.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/k8s-extensibility/connection-string.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { namespace: 'corerp-mechanics-k8s-extensibility' kubeConfig: '' -} +} as kubernetes resource redisService 'core/Service@v1' existing = { metadata: { diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-innerapp.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-innerapp.bicep index de0bc2d0e8..ca36f118f7 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-innerapp.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-innerapp.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param location string param environment string diff --git a/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-outerapp.bicep b/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-outerapp.bicep index b63904d2c5..c359c147ce 100644 --- a/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-outerapp.bicep +++ b/test/functional-portable/corerp/noncloud/mechanics/testdata/modules/corerp-mechanics-nestedmodules-outerapp.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param location string param environment string diff --git a/test/functional-portable/corerp/noncloud/resources/recipe_bicep_test.go b/test/functional-portable/corerp/noncloud/resources/recipe_bicep_test.go index e173166dfe..5185b1da54 100644 --- a/test/functional-portable/corerp/noncloud/resources/recipe_bicep_test.go +++ b/test/functional-portable/corerp/noncloud/resources/recipe_bicep_test.go @@ -398,7 +398,7 @@ func Test_BicepRecipe_LanguageFailure(t *testing.T) { Details: []step.DeploymentErrorDetail{ { Code: "InvalidTemplate", - MessageContains: "Unable to process template language expressions for resource 'Applications.Core/extenders/corerp-resources-recipe-bicep-langugagefailure-failure' at line '1' and column '442'. 'Unable to evaluate the template language function 'substring'. The index parameter cannot be larger than the length of the string. The index parameter: '10', the length of the string parameter: '4'. Please see https://aka.ms/arm-function-substring for usage details.'", + MessageContains: "Unable to process template language expressions for resource 'Applications.Core/extenders/corerp-resources-recipe-bicep-langugagefailure-failure' at line '1' and column '456'. 'Unable to evaluate the template language function 'substring'. The index parameter cannot be larger than the length of the string. The index parameter: '10', the length of the string parameter: '4'. Please see https://aka.ms/arm-function-substring for usage details.'", }, }, }, diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-1.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-1.bicep index 1d89e6aa23..865cbcb717 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-1.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-1.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param environment string @@ -19,7 +19,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieimage env: { - DBCONNECTION: redis.connectionString() + DBCONNECTION: redis.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-2.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-2.bicep index 8fa0362d7a..a4567993d3 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-2.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/containers/corerp-resources-friendly-container-version-2.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param environment string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-azure-container-manualscale.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-azure-container-manualscale.bicep index 4b15f58401..ce6f56f52f 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-azure-container-manualscale.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-azure-container-manualscale.bicep @@ -1,5 +1,5 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-app-env.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-app-env.bicep index 2c9b4facef..47ee428373 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-app-env.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-app-env.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph.bicep index 94f5a75522..da91e467f3 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application-graph.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application.bicep index f978ddd412..08dfcabc65 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-application.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-bad-healthprobe.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-bad-healthprobe.bicep index c256c3fba6..ae8eeebdee 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-bad-healthprobe.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-bad-healthprobe.bicep @@ -1,5 +1,5 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-cmd-args.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-cmd-args.bicep index 7b1c3966f2..b7ac37688c 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-cmd-args.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-cmd-args.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-liveness-readiness.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-liveness-readiness.bicep index b720fe546a..02d1395c0d 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-liveness-readiness.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-liveness-readiness.bicep @@ -1,5 +1,5 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest-sidecar.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest-sidecar.bicep index d96ee99879..c1a0ee2a9f 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest-sidecar.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest-sidecar.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest.bicep index 224545e716..a0366edf49 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-manifest.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-containers-multiple-ports-dns.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-containers-multiple-ports-dns.bicep index efb48cd786..85615ce2dd 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-containers-multiple-ports-dns.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-containers-multiple-ports-dns.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-ports.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-ports.bicep index 89f7db3b10..6030ca6896 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-ports.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-multiple-ports.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-nonexistent-container-image.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-nonexistent-container-image.bicep index ec9ee95450..4e234f7c09 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-nonexistent-container-image.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-nonexistent-container-image.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-optional-port-scheme.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-optional-port-scheme.bicep index e43cef321e..550cb816a2 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-optional-port-scheme.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-optional-port-scheme.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-pod-patching.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-pod-patching.bicep index 399b85ca57..ffba7eb692 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-pod-patching.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-pod-patching.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-request.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-request.bicep index feb0eec926..dad8f20c39 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-request.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-request.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-service-creation.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-service-creation.bicep index 49240bdc1f..6f93fbb5b8 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-service-creation.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-single-dns-service-creation.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-two-containers-dns.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-two-containers-dns.bicep index 71be712c6b..14b6cdbf8e 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-two-containers-dns.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container-two-containers-dns.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container.bicep index 412f540cee..52cd8470c4 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-container.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-environment.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-environment.bicep index 26d4c83ea4..87e3ee7858 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-environment.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-environment.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender-recipe.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender-recipe.bicep index bca6d696ed..cb83a62f6d 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender-recipe.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender-recipe.bicep @@ -1,13 +1,15 @@ -import radius as radius +extension radius @description('The OCI registry for test Bicep recipes.') param registry string @description('The OCI tag for test Bicep recipes.') param version string +@description('Specifies the location for resources.') +param location string = 'global' resource env 'Applications.Core/environments@2023-10-01-preview' = { name: 'corerp-resources-extender-recipe-env' - location: 'global' + location: location properties: { compute: { kind: 'kubernetes' @@ -30,7 +32,7 @@ resource env 'Applications.Core/environments@2023-10-01-preview' = { resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'corerp-resources-extender-recipe' - location: 'global' + location: location properties: { environment: env.id extensions: [ diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender.bicep index bbd81118b9..70143fdcc5 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-extender.bicep @@ -1,11 +1,12 @@ -import radius as radius +extension radius param magpieimage string param environment string +param location string = 'global' resource app 'Applications.Core/applications@2023-10-01-preview' = { name: 'corerp-resources-extender' - location: 'global' + location: location properties: { environment: environment } @@ -26,15 +27,15 @@ resource twilio 'Applications.Core/extenders@2023-10-01-preview' = { resource container 'Applications.Core/containers@2023-10-01-preview' = { name: 'extr-ctnr' - location: 'global' + location: location properties: { application: app.id container: { image: magpieimage env: { TWILIO_NUMBER: twilio.properties.fromNumber - TWILIO_SID: twilio.secrets('accountSid') - TWILIO_ACCOUNT: twilio.secrets('authToken') + TWILIO_SID: twilio.listSecrets().accountSid + TWILIO_ACCOUNT: twilio.listSecrets().authToken } } connections: {} diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-dns.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-dns.bicep index 55c1fb6322..298aad6acf 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-dns.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-dns.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-failure.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-failure.bicep index 8fbecadc0e..60a338fced 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-failure.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-failure.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('ID of the Radius Environment. Passed in automatically via the rad CLI') param environment string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-kubernetesmetadata.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-kubernetesmetadata.bicep index 0f21d82eb5..4417712d88 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-kubernetesmetadata.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-kubernetesmetadata.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-sslpassthrough.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-sslpassthrough.bicep index b922160e34..544e594f48 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-sslpassthrough.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-sslpassthrough.bicep @@ -1,8 +1,8 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: 'default' -} -import radius as radius +} as kubernetes +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-tlstermination.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-tlstermination.bicep index 4bb2b4f1dd..9553fb219e 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-tlstermination.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-gateway-tlstermination.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the environment for resources.') param environment string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-httproute-kubernetesmetadata.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-httproute-kubernetesmetadata.bicep index d09bc68513..04f07bc492 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-httproute-kubernetesmetadata.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-httproute-kubernetesmetadata.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-cascade.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-cascade.bicep index 965008d940..2d583827c8 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-cascade.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-cascade.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-container.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-container.bicep index 608c97d2ff..867ed054b5 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-container.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-kubemetadata-container.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step0.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step0.bicep index 6f6393b7fa..939e68b0bd 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step0.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step0.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The OCI registry for test Bicep recipes.') param registry string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step1.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step1.bicep index c797819925..c66bbc3064 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step1.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep-resourcecreation.step1.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The base name of the test, used to qualify resources and namespaces. eg: corerp-resources-terraform-helloworld') param basename string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep.bicep index cb30e86ec6..b84880bcec 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-bicep.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The OCI registry for test Bicep recipes.') param registry string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-notfound.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-notfound.bicep index e18d9d39dc..3e4882c69b 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-notfound.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-recipe-notfound.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The base name of the test, used to qualify resources and namespaces. eg: corerp-resources-terraform-helloworld') param basename string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-simulatedenv.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-simulatedenv.bicep index b0d0812b18..6c923bee3d 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-simulatedenv.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-simulatedenv.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'local' diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-context.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-context.bicep index c994f67c3a..c034454c4a 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-context.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-context.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The URL of the server hosting test Terraform modules.') param moduleServer string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-postgres.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-postgres.bicep index d50c2a3fed..f102bdf6db 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-postgres.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-postgres.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The URL of the server hosting test Terraform modules.') param moduleServer string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-recipe-terraform.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-recipe-terraform.bicep index 401102f47f..797b8535a8 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-recipe-terraform.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-recipe-terraform.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The URL of the server hosting test Terraform modules.') param moduleServer string diff --git a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-redis.bicep b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-redis.bicep index a5619fd0af..380d3647e7 100644 --- a/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-redis.bicep +++ b/test/functional-portable/corerp/noncloud/resources/testdata/corerp-resources-terraform-redis.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('The URL of the server hosting test Terraform modules.') param moduleServer string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-component-name-conflict.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-component-name-conflict.bicep index 888c6ff068..9bdb5c7962 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-component-name-conflict.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-component-name-conflict.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param environment string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-manual.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-manual.bicep index 39218a6580..c96ce0991f 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-manual.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param environment string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-recipe.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-recipe.bicep index 04bd396d5e..ac287303db 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-recipe.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-pubsub-broker-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param registry string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-manual.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-manual.bicep index acd8f2652f..3792f745ea 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-manual.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-recipe.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-recipe.bicep index aa911c23e6..38acf00101 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-recipe.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-secretstore-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-serviceinvocation.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-serviceinvocation.bicep index 84737a9bb2..316b57d407 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-serviceinvocation.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-serviceinvocation.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param location string = resourceGroup().location param environment string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-manual.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-manual.bicep index ed39af5123..c687cf3ee9 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-manual.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param environment string diff --git a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-recipe.bicep b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-recipe.bicep index 4054e67582..8514f5b439 100644 --- a/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-recipe.bicep +++ b/test/functional-portable/daprrp/noncloud/resources/testdata/daprrp-resources-statestore-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param registry string diff --git a/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep b/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep index 75ef07e1f9..66d13ab024 100644 --- a/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep +++ b/test/functional-portable/datastoresrp/cloud/resources/testdata/datastoresrp-resources-microsoft-sql.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'East US' @@ -46,7 +46,7 @@ resource sqlapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieImage env: { - CONNECTION_SQL_CONNECTIONSTRING: db.connectionString() + CONNECTION_SQL_CONNECTIONSTRING: db.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-mongodb-recipe.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-mongodb-recipe.bicep index 0cf26a0aca..1f80e4083c 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-mongodb-recipe.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-mongodb-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param registry string @@ -53,7 +53,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieimage env: { - DBCONNECTION: recipedb.connectionString() + DBCONNECTION: recipedb.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-default-recipe.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-default-recipe.bicep index ea374b0476..a572869ffb 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-default-recipe.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-default-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param registry string diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-manual.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-manual.bicep index dc75968928..f453e2550c 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-manual.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param magpieimage string param environment string @@ -19,7 +19,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieimage env: { - DBCONNECTION: redis.connectionString() + DBCONNECTION: redis.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-recipe.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-recipe.bicep index 730bca5f95..75edd495a7 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-recipe.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-redis-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param registry string diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-simulatedenv-recipe.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-simulatedenv-recipe.bicep index 8b8e867ed5..f1585f6364 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-simulatedenv-recipe.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-simulatedenv-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param registry string @@ -54,7 +54,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieimage env: { - DBCONNECTION: recipedb.connectionString() + DBCONNECTION: recipedb.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-manual.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-manual.bicep index fdcb0bcefb..c30dd40801 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-manual.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' @@ -46,7 +46,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieImage env: { - CONNECTION_SQL_CONNECTIONSTRING: db.connectionString() + CONNECTION_SQL_CONNECTIONSTRING: db.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-recipe.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-recipe.bicep index 9e438bf2bb..9f980e0186 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-recipe.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-resources-sqldb-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' @@ -71,7 +71,7 @@ resource webapp 'Applications.Core/containers@2023-10-01-preview' = { container: { image: magpieImage env: { - CONNECTION_SQL_CONNECTIONSTRING: db.connectionString() + CONNECTION_SQL_CONNECTIONSTRING: db.listSecrets().connectionString } readinessProbe: { kind: 'httpGet' diff --git a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-rs-mongodb-manual.bicep b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-rs-mongodb-manual.bicep index 3f472f87e9..930382836b 100644 --- a/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-rs-mongodb-manual.bicep +++ b/test/functional-portable/datastoresrp/noncloud/resources/testdata/datastoresrp-rs-mongodb-manual.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Admin username for the Mongo database. Default is "admin"') param username string = 'admin' @@ -43,7 +43,7 @@ resource mongoContainer 'Applications.Core/containers@2023-10-01-preview' = { container: { image: 'ghcr.io/radius-project/mirror/mongo:4.2' env: { - DBCONNECTION: mongo.connectionString() + DBCONNECTION: mongo.listSecrets().connectionString MONGO_INITDB_ROOT_USERNAME: username MONGO_INITDB_ROOT_PASSWORD: password } diff --git a/test/functional-portable/kubernetes/noncloud/testdata/tutorial-environment.bicep b/test/functional-portable/kubernetes/noncloud/testdata/tutorial-environment.bicep index 5c38e0074f..1097692274 100644 --- a/test/functional-portable/kubernetes/noncloud/testdata/tutorial-environment.bicep +++ b/test/functional-portable/kubernetes/noncloud/testdata/tutorial-environment.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param name string param namespace string diff --git a/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq-recipe.bicep b/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq-recipe.bicep index a7860e9264..7924a5b488 100644 --- a/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq-recipe.bicep +++ b/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq-recipe.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq.bicep b/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq.bicep index a556218cf1..df2d9ecc6b 100644 --- a/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq.bicep +++ b/test/functional-portable/messagingrp/noncloud/resources/testdata/msgrp-resources-rabbitmq.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius @description('Specifies the location for resources.') param location string = 'global' diff --git a/test/functional-portable/samples/noncloud/testdata/tutorial-environment.bicep b/test/functional-portable/samples/noncloud/testdata/tutorial-environment.bicep index 3301e213fb..eb0ffc4ea6 100644 --- a/test/functional-portable/samples/noncloud/testdata/tutorial-environment.bicep +++ b/test/functional-portable/samples/noncloud/testdata/tutorial-environment.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param registry string param version string diff --git a/test/infra/azure/modules/ama-metrics-setting-configmap.bicep b/test/infra/azure/modules/ama-metrics-setting-configmap.bicep index 2c5eb9c046..56bfb82c68 100644 --- a/test/infra/azure/modules/ama-metrics-setting-configmap.bicep +++ b/test/infra/azure/modules/ama-metrics-setting-configmap.bicep @@ -22,7 +22,7 @@ param prefix string = 'radius' var podAnnotationNamespaceRegex = 'podannotationnamespaceregex = "${prefix}.*"' -import 'kubernetes@1.0.0' with { +extension kubernetes with { namespace: 'default' kubeConfig: kubeConfig } diff --git a/test/testrecipes/modules/redis-selfhost.bicep b/test/testrecipes/modules/redis-selfhost.bicep index f463388288..80b9b88fff 100644 --- a/test/testrecipes/modules/redis-selfhost.bicep +++ b/test/testrecipes/modules/redis-selfhost.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: namespace -} +} as kubernetes param namespace string param name string diff --git a/test/testrecipes/test-bicep-recipes/_resource-creation.bicep b/test/testrecipes/test-bicep-recipes/_resource-creation.bicep index 57fd43d280..013804d035 100644 --- a/test/testrecipes/test-bicep-recipes/_resource-creation.bicep +++ b/test/testrecipes/test-bicep-recipes/_resource-creation.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param context object diff --git a/test/testrecipes/test-bicep-recipes/dapr-pubsub-broker.bicep b/test/testrecipes/test-bicep-recipes/dapr-pubsub-broker.bicep index 88c6ab7de5..075fbc87f3 100644 --- a/test/testrecipes/test-bicep-recipes/dapr-pubsub-broker.bicep +++ b/test/testrecipes/test-bicep-recipes/dapr-pubsub-broker.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { namespace: context.runtime.kubernetes.namespace kubeConfig: '' -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/dapr-secret-store.bicep b/test/testrecipes/test-bicep-recipes/dapr-secret-store.bicep index e1ef5d466b..d773959f4d 100644 --- a/test/testrecipes/test-bicep-recipes/dapr-secret-store.bicep +++ b/test/testrecipes/test-bicep-recipes/dapr-secret-store.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { namespace: context.runtime.kubernetes.namespace kubeConfig: '' -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/dapr-state-store.bicep b/test/testrecipes/test-bicep-recipes/dapr-state-store.bicep index 6d0b8c5bc8..8bfc70af02 100644 --- a/test/testrecipes/test-bicep-recipes/dapr-state-store.bicep +++ b/test/testrecipes/test-bicep-recipes/dapr-state-store.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { namespace: context.runtime.kubernetes.namespace kubeConfig: '' -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/extender-recipe.bicep b/test/testrecipes/test-bicep-recipes/extender-recipe.bicep index 9b957b4675..6c75b3b73d 100644 --- a/test/testrecipes/test-bicep-recipes/extender-recipe.bicep +++ b/test/testrecipes/test-bicep-recipes/extender-recipe.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: context.runtime.kubernetes.namespace -} +} as kubernetes param context object param containerImage string diff --git a/test/testrecipes/test-bicep-recipes/extenders-aws-s3-recipe.bicep b/test/testrecipes/test-bicep-recipes/extenders-aws-s3-recipe.bicep index aa7e9d0b99..9805a8b624 100644 --- a/test/testrecipes/test-bicep-recipes/extenders-aws-s3-recipe.bicep +++ b/test/testrecipes/test-bicep-recipes/extenders-aws-s3-recipe.bicep @@ -1,4 +1,4 @@ -import aws as aws +extension aws param creationTimestamp string param bucketName string diff --git a/test/testrecipes/test-bicep-recipes/language-failure.bicep b/test/testrecipes/test-bicep-recipes/language-failure.bicep index e35fde96b4..94a3ac0863 100644 --- a/test/testrecipes/test-bicep-recipes/language-failure.bicep +++ b/test/testrecipes/test-bicep-recipes/language-failure.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param context object diff --git a/test/testrecipes/test-bicep-recipes/mongodb-recipe-kubernetes.bicep b/test/testrecipes/test-bicep-recipes/mongodb-recipe-kubernetes.bicep index f8d59749d7..1658f7dcff 100644 --- a/test/testrecipes/test-bicep-recipes/mongodb-recipe-kubernetes.bicep +++ b/test/testrecipes/test-bicep-recipes/mongodb-recipe-kubernetes.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: context.runtime.kubernetes.namespace -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/rabbitmq-recipe.bicep b/test/testrecipes/test-bicep-recipes/rabbitmq-recipe.bicep index e59b91a4cf..7b041b1dec 100644 --- a/test/testrecipes/test-bicep-recipes/rabbitmq-recipe.bicep +++ b/test/testrecipes/test-bicep-recipes/rabbitmq-recipe.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: context.runtime.kubernetes.namespace -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/redis-recipe-value-backed.bicep b/test/testrecipes/test-bicep-recipes/redis-recipe-value-backed.bicep index 014b6d0bfc..4674c924c5 100644 --- a/test/testrecipes/test-bicep-recipes/redis-recipe-value-backed.bicep +++ b/test/testrecipes/test-bicep-recipes/redis-recipe-value-backed.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { + namespace: 'default' kubeConfig: '' - namespace: context.runtime.kubernetes.namespace -} +} as kubernetes param context object diff --git a/test/testrecipes/test-bicep-recipes/resource-creation-failure.bicep b/test/testrecipes/test-bicep-recipes/resource-creation-failure.bicep index f4e37f52db..3bf47816eb 100644 --- a/test/testrecipes/test-bicep-recipes/resource-creation-failure.bicep +++ b/test/testrecipes/test-bicep-recipes/resource-creation-failure.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param context object diff --git a/test/testrecipes/test-bicep-recipes/resource-creation.bicep b/test/testrecipes/test-bicep-recipes/resource-creation.bicep index 389fb83624..8b3dcbb085 100644 --- a/test/testrecipes/test-bicep-recipes/resource-creation.bicep +++ b/test/testrecipes/test-bicep-recipes/resource-creation.bicep @@ -1,4 +1,4 @@ -import radius as radius +extension radius param context object diff --git a/test/testrecipes/test-bicep-recipes/sqldb-recipe.bicep b/test/testrecipes/test-bicep-recipes/sqldb-recipe.bicep index 1851af37c3..42e29ceeca 100644 --- a/test/testrecipes/test-bicep-recipes/sqldb-recipe.bicep +++ b/test/testrecipes/test-bicep-recipes/sqldb-recipe.bicep @@ -1,7 +1,7 @@ -import kubernetes as kubernetes { +extension kubernetes with { kubeConfig: '' namespace: context.runtime.kubernetes.namespace -} +} as kubernetes param context object