diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e710dcd7e1..090a2e911b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,16 +8,20 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "daily" + interval: "weekly" + day: "sunday" - package-ecosystem: "npm" directory: "/src/generator" schedule: - interval: "daily" + interval: "weekly" + day: "sunday" - package-ecosystem: "npm" directory: "/src/autorest.bicep" schedule: - interval: "daily" + interval: "weekly" + day: "sunday" - package-ecosystem: "nuget" directory: "/" schedule: - interval: "daily" + interval: "weekly" + day: "sunday" diff --git a/.github/fabricbot.json b/.github/fabricbot.json index 8cabeb3935..6f9287c186 100644 --- a/.github/fabricbot.json +++ b/.github/fabricbot.json @@ -1,78 +1,137 @@ -[ - { - "taskType": "trigger", - "capabilityId": "AutoMerge", - "subCapability": "AutoMerge", - "version": "1.0", - "config": { - "label": "AutoMerge", - "minMinutesOpen": "5", - "taskName": "Automatically merge PRs with AutoMerge label", - "mergeType": "squash", - "deleteBranches": true, - "enforceDMPAsStatus": true, - "removeLabelOnPush": true, - "usePrDescriptionAsCommitMessage": true - } - }, - { - "taskType": "trigger", - "capabilityId": "IssueResponder", - "subCapability": "PullRequestResponder", - "version": "1.0", - "config": { - "conditions": { - "operator": "and", - "operands": [ - { - "name": "isAction", - "parameters": { - "action": "opened" +{ + "version": "1.0", + "tasks": [ + { + "taskType": "trigger", + "capabilityId": "AutoMerge", + "subCapability": "AutoMerge", + "version": "1.0", + "config": { + "taskName": "Auto merge PRs", + "label": "auto-merge", + "minMinutesOpen": "5", + "mergeType": "squash", + "deleteBranches": true, + "allowAutoMergeInstructionsWithoutLabel": false + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "opened" + } + }, + { + "name": "isActivitySender", + "parameters": { + "user": "github-actions[bot]" + } + }, + { + "name": "titleContains", + "parameters": { + "titlePattern": "Update Generated Types" + } } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ], + "taskName": "Automatically approve type generation PRs sent by github-actions[bot]", + "actions": [ + { + "name": "closeIssue", + "parameters": {} }, { - "name": "isActivitySender", + "name": "reopenIssue", + "parameters": {} + }, + { + "name": "addLabel", "parameters": { - "user": "github-actions[bot]" + "label": "AutoMerge" } }, { - "name": "titleContains", + "name": "approvePullRequest", "parameters": { - "titlePattern": "Update Generated Types" + "comment": "Automatically approving type generation pull request sent by @github-actions[bot]." } } ] - }, - "eventType": "pull_request", - "eventNames": [ - "pull_request", - "issues", - "project_card" - ], - "taskName": "Automatically approve type generation PRs sent by github-actions[bot]", - "actions": [ - { - "name": "closeIssue", - "parameters": {} - }, - { - "name": "reopenIssue", - "parameters": {} - }, - { - "name": "addLabel", - "parameters": { - "label": "AutoMerge" - } + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "dependencies" + } + }, + { + "operator": "not", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "auto-merge" + } + } + ] + }, + { + "name": "isActivitySender", + "parameters": { + "user": "dependabot[bot]" + } + } + ] }, - { - "name": "approvePullRequest", - "parameters": { - "comment": "Automatically approving type generation pull request sent by @github-actions[bot]." + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ], + "taskName": "Approve and apply \"auto-merge\" label to dependabot PRs", + "actions": [ + { + "name": "approvePullRequest", + "parameters": { + "comment": ":shipit:" + } + }, + { + "name": "addLabel", + "parameters": { + "label": "auto-merge" + } } - } - ] + ] + } } - } -] \ No newline at end of file + ], + "userGroups": [] +} \ No newline at end of file diff --git a/bicep-types-az.sln b/bicep-types-az.sln index aa5d451183..9b7d9ad407 100644 --- a/bicep-types-az.sln +++ b/bicep-types-az.sln @@ -3,12 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30011.22 MinimumVisualStudioVersion = 15.0.26124.0 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Types", "src\Bicep.Types\Bicep.Types.csproj", "{0E40BC2B-98EE-457C-8E35-8FB548FF0E90}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Types.Az", "src\Bicep.Types.Az\Bicep.Types.Az.csproj", "{93159227-767E-4A3F-98A4-143FE6081198}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Types.UnitTests", "src\Bicep.Types.UnitTests\Bicep.Types.UnitTests.csproj", "{7518DD9B-42A8-4CFF-ABE8-992984521D42}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bicep.Types.Az.UnitTests", "src\Bicep.Types.Az.UnitTests\Bicep.Types.Az.UnitTests.csproj", "{F63447B8-2EC0-4C49-8E99-FF135275ECDF}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{72C40400-136A-462C-B0A2-107A57E3092C}" @@ -23,18 +19,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0E40BC2B-98EE-457C-8E35-8FB548FF0E90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0E40BC2B-98EE-457C-8E35-8FB548FF0E90}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0E40BC2B-98EE-457C-8E35-8FB548FF0E90}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0E40BC2B-98EE-457C-8E35-8FB548FF0E90}.Release|Any CPU.Build.0 = Release|Any CPU {93159227-767E-4A3F-98A4-143FE6081198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {93159227-767E-4A3F-98A4-143FE6081198}.Debug|Any CPU.Build.0 = Debug|Any CPU {93159227-767E-4A3F-98A4-143FE6081198}.Release|Any CPU.ActiveCfg = Release|Any CPU {93159227-767E-4A3F-98A4-143FE6081198}.Release|Any CPU.Build.0 = Release|Any CPU - {7518DD9B-42A8-4CFF-ABE8-992984521D42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7518DD9B-42A8-4CFF-ABE8-992984521D42}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7518DD9B-42A8-4CFF-ABE8-992984521D42}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7518DD9B-42A8-4CFF-ABE8-992984521D42}.Release|Any CPU.Build.0 = Release|Any CPU {F63447B8-2EC0-4C49-8E99-FF135275ECDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F63447B8-2EC0-4C49-8E99-FF135275ECDF}.Debug|Any CPU.Build.0 = Debug|Any CPU {F63447B8-2EC0-4C49-8E99-FF135275ECDF}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/src/Bicep.Types.Az.UnitTests/packages.lock.json b/src/Bicep.Types.Az.UnitTests/packages.lock.json index 8413c37fa0..bf02ec9d4e 100644 --- a/src/Bicep.Types.Az.UnitTests/packages.lock.json +++ b/src/Bicep.Types.Az.UnitTests/packages.lock.json @@ -51,9 +51,17 @@ }, "Nerdbank.GitVersioning": { "type": "Direct", - "requested": "[3.5.109, )", - "resolved": "3.5.109", - "contentHash": "tKA1XJ5U2Ytk+u2/5sGNa04Pw6z9noYmqbpmHpjvbwJTtIalqsQjnwT4RQKSDTTIznHBbKxzv3HVh8QD28Qk+g==" + "requested": "[3.5.113, )", + "resolved": "3.5.113", + "contentHash": "4fBSMkqhi410qlkjPm+Mxfk8iO3C7dmgdVS7ljsfVO21WEzZCHP1VCOqB6rlOPfPidR/oxX+/Do/I7meCAz+Jg==" + }, + "Azure.Bicep.Types": { + "type": "Transitive", + "resolved": "0.3.1", + "contentHash": "P/HUHAxPEQFP9hUohoPuy48eUyowL0dzNXFtKKIE+/EqQKObMATcQ7RjAcQrXaOIsYZ/Vk4gVreweJ3rkbYYJw==", + "dependencies": { + "System.Text.Json": "6.0.6" + } }, "Microsoft.Build.Tasks.Git": { "type": "Transitive", @@ -131,23 +139,17 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.5", - "contentHash": "SSH+YYrMpvLcy7Orzb5K1tSyffnFacWahyxCCjYH1PbSHdAF4dekmIetBurFKgtTHDmwEe/J2Csi/7niRH6d/g==", + "resolved": "6.0.6", + "contentHash": "GZ+62pLOr544jwSvyXv5ezSfzlFBTjLuPhgOS2dnKuknAA8dPNUGXLKTHf9XdsudU9JpbtweXnE4oEiKEB2T1Q==", "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0", "System.Text.Encodings.Web": "6.0.0" } }, - "Azure.Bicep.Types": { - "type": "Project", - "dependencies": { - "System.Text.Json": "[6.0.5, )" - } - }, "Azure.Bicep.Types.Az": { "type": "Project", "dependencies": { - "Azure.Bicep.Types": "[1.0.0, )" + "Azure.Bicep.Types": "[0.3.1, )" } } } diff --git a/src/Bicep.Types.Az/Bicep.Types.Az.csproj b/src/Bicep.Types.Az/Bicep.Types.Az.csproj index 4106fa5472..5aa8ad87a7 100644 --- a/src/Bicep.Types.Az/Bicep.Types.Az.csproj +++ b/src/Bicep.Types.Az/Bicep.Types.Az.csproj @@ -9,7 +9,7 @@ - + diff --git a/src/Bicep.Types.Az/packages.lock.json b/src/Bicep.Types.Az/packages.lock.json index 8082159758..8fe8f2cd75 100644 --- a/src/Bicep.Types.Az/packages.lock.json +++ b/src/Bicep.Types.Az/packages.lock.json @@ -2,6 +2,15 @@ "version": 1, "dependencies": { ".NETStandard,Version=v2.0": { + "Azure.Bicep.Types": { + "type": "Direct", + "requested": "[0.3.1, )", + "resolved": "0.3.1", + "contentHash": "P/HUHAxPEQFP9hUohoPuy48eUyowL0dzNXFtKKIE+/EqQKObMATcQ7RjAcQrXaOIsYZ/Vk4gVreweJ3rkbYYJw==", + "dependencies": { + "System.Text.Json": "6.0.6" + } + }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.1.1, )", @@ -14,9 +23,9 @@ }, "Nerdbank.GitVersioning": { "type": "Direct", - "requested": "[3.5.109, )", - "resolved": "3.5.109", - "contentHash": "tKA1XJ5U2Ytk+u2/5sGNa04Pw6z9noYmqbpmHpjvbwJTtIalqsQjnwT4RQKSDTTIznHBbKxzv3HVh8QD28Qk+g==" + "requested": "[3.5.113, )", + "resolved": "3.5.113", + "contentHash": "4fBSMkqhi410qlkjPm+Mxfk8iO3C7dmgdVS7ljsfVO21WEzZCHP1VCOqB6rlOPfPidR/oxX+/Do/I7meCAz+Jg==" }, "NETStandard.Library": { "type": "Direct", @@ -87,8 +96,8 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "6.0.5", - "contentHash": "SSH+YYrMpvLcy7Orzb5K1tSyffnFacWahyxCCjYH1PbSHdAF4dekmIetBurFKgtTHDmwEe/J2Csi/7niRH6d/g==", + "resolved": "6.0.6", + "contentHash": "GZ+62pLOr544jwSvyXv5ezSfzlFBTjLuPhgOS2dnKuknAA8dPNUGXLKTHf9XdsudU9JpbtweXnE4oEiKEB2T1Q==", "dependencies": { "Microsoft.Bcl.AsyncInterfaces": "6.0.0", "System.Buffers": "4.5.1", @@ -106,12 +115,6 @@ "dependencies": { "System.Runtime.CompilerServices.Unsafe": "4.5.3" } - }, - "Azure.Bicep.Types": { - "type": "Project", - "dependencies": { - "System.Text.Json": "[6.0.5, )" - } } } } diff --git a/src/Bicep.Types.UnitTests/Bicep.Types.UnitTests.csproj b/src/Bicep.Types.UnitTests/Bicep.Types.UnitTests.csproj deleted file mode 100644 index 5a9fcca367..0000000000 --- a/src/Bicep.Types.UnitTests/Bicep.Types.UnitTests.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - net6.0 - false - - - - - - - - - - - - - - - diff --git a/src/Bicep.Types.UnitTests/TypeSerializerTests.cs b/src/Bicep.Types.UnitTests/TypeSerializerTests.cs deleted file mode 100644 index 682c73db78..0000000000 --- a/src/Bicep.Types.UnitTests/TypeSerializerTests.cs +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System.Collections.Generic; -using System.Linq; -using System.Text.Json.Nodes; -using Azure.Bicep.Types.Concrete; -using FluentAssertions; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Azure.Bicep.Types.UnitTests -{ - [TestClass] - public class TypeSerializerTests - { - [TestMethod] - public void BuiltInType_can_be_serialized_and_deserialized() - { - var builtIns = new [] - { - new BuiltInType(BuiltInTypeKind.Any), - new BuiltInType(BuiltInTypeKind.Null), - new BuiltInType(BuiltInTypeKind.Bool), - new BuiltInType(BuiltInTypeKind.Int), - new BuiltInType(BuiltInTypeKind.String), - new BuiltInType(BuiltInTypeKind.Object), - new BuiltInType(BuiltInTypeKind.Array), - new BuiltInType(BuiltInTypeKind.ResourceRef), - }; - - var serialized = TypeSerializer.Serialize(builtIns); - var deserializedBuiltIns = TypeSerializer.Deserialize(serialized); - - for (var i = 0; i < builtIns.Length; i++) - { - deserializedBuiltIns[i].Should().BeOfType(); - var deserializedBuiltIn = (BuiltInType)deserializedBuiltIns[i]; - - deserializedBuiltIn.Kind.Should().Be(builtIns[i].Kind); - } - } - - [TestMethod] - public void Circular_references_are_allowed() - { - var factory = new TypeFactory(Enumerable.Empty()); - var typeA = factory.Create(() => new ObjectType("typeA", new Dictionary(), null)); - var typeB = factory.Create(() => new ObjectType("typeB", new Dictionary(), null)); - - typeA.Properties!["typeB"] = new ObjectProperty(factory.GetReference(typeB), ObjectPropertyFlags.None, "hello!"); - typeB.Properties!["typeA"] = new ObjectProperty(factory.GetReference(typeA), ObjectPropertyFlags.None, ""); - - var serialized = TypeSerializer.Serialize(factory.GetTypes()); - var deserialized = TypeSerializer.Deserialize(serialized); - - deserialized[0].Should().BeOfType(); - deserialized[1].Should().BeOfType(); - - var deserializedTypeA = (ObjectType)deserialized[0]; - var deserializedTypeB = (ObjectType)deserialized[1]; - - deserializedTypeA.Properties!["typeB"].Type!.Type.Should().Be(deserializedTypeB); - deserializedTypeB.Properties!["typeA"].Type!.Type.Should().Be(deserializedTypeA); - } - - [TestMethod] - public void Different_types_can_be_serialized_and_deserialized() - { - var factory = new TypeFactory(Enumerable.Empty()); - - var intType = factory.Create(() => new BuiltInType(BuiltInTypeKind.Int)); - var objectType = factory.Create(() => new ObjectType("steven", new Dictionary(), null)); - var arrayType = factory.Create(() => new ArrayType(factory.GetReference(objectType))); - var resourceType = factory.Create(() => new ResourceType("gerrard", ScopeType.ResourceGroup|ScopeType.Tenant, ScopeType.Tenant, factory.GetReference(objectType), ResourceFlags.None)); - var unionType = factory.Create(() => new UnionType(new [] { factory.GetReference(intType), factory.GetReference(objectType) })); - var stringLiteralType = factory.Create(() => new StringLiteralType("abcdef")); - var discriminatedObjectType = factory.Create(() => new DiscriminatedObjectType("disctest", "disctest", new Dictionary(), new Dictionary())); - var resourceFunctionType = factory.Create(() => new ResourceFunctionType("listTest", "zona", "2020-01-01", factory.GetReference(objectType), factory.GetReference(objectType))); - var serialized = TypeSerializer.Serialize(factory.GetTypes()); - var deserialized = TypeSerializer.Deserialize(serialized); - - deserialized[0].Should().BeOfType(); - deserialized[1].Should().BeOfType(); - deserialized[2].Should().BeOfType(); - deserialized[3].Should().BeOfType(); - deserialized[4].Should().BeOfType(); - deserialized[5].Should().BeOfType(); - deserialized[6].Should().BeOfType(); - deserialized[7].Should().BeOfType(); - - ((BuiltInType)deserialized[0]).Kind.Should().Be(intType.Kind); - ((ObjectType)deserialized[1]).Name.Should().Be(objectType.Name); - ((ArrayType)deserialized[2]).ItemType!.Type.Should().Be(deserialized[1]); - ((ResourceType)deserialized[3]).Name.Should().Be(resourceType.Name); - ((ResourceType)deserialized[3]).Flags.Should().Be(resourceType.Flags); - ((ResourceType)deserialized[3]).ReadOnlyScopes.HasValue.Should().Be(true); - ((ResourceType)deserialized[3]).ReadOnlyScopes.Should().Be(resourceType.ReadOnlyScopes); - ((UnionType)deserialized[4]).Elements![0].Type.Should().Be(deserialized[0]); - ((UnionType)deserialized[4]).Elements![1].Type.Should().Be(deserialized[1]); - ((StringLiteralType)deserialized[5]).Value.Should().Be(stringLiteralType.Value); - ((DiscriminatedObjectType)deserialized[6]).Name.Should().Be(discriminatedObjectType.Name); - ((ResourceFunctionType)deserialized[7]).Name.Should().Be(resourceFunctionType.Name); - } - - [TestMethod] - public void Resources_without_flags_or_readonly_scopes_can_be_deserialized() - { - var factory = new TypeFactory(Enumerable.Empty()); - var objectType = factory.Create(() => new ObjectType("steven", new Dictionary(), null)); - var resourceType = factory.Create(() => new ResourceType("gerrard", ScopeType.ResourceGroup|ScopeType.Tenant, ScopeType.Tenant, factory.GetReference(objectType), ResourceFlags.ReadOnly)); - var serialized = TypeSerializer.Serialize(factory.GetTypes()); - - var deserializedNode = JsonNode.Parse(serialized)!; - deserializedNode.AsArray()[1]?.AsObject()["4"]?.AsObject().Remove("Flags").Should().BeTrue(); - deserializedNode.AsArray()[1]?.AsObject()["4"]?.AsObject().Remove("ReadOnlyScopes").Should().BeTrue(); - serialized = deserializedNode.ToJsonString(); - - var deserialized = TypeSerializer.Deserialize(serialized); - - deserialized[0].Should().BeOfType(); - deserialized[1].Should().BeOfType(); - - ((ObjectType)deserialized[0]).Name.Should().Be(objectType.Name); - ((ResourceType)deserialized[1]).Name.Should().Be(resourceType.Name); - ((ResourceType)deserialized[1]).Flags.Should().Be(ResourceFlags.None); - ((ResourceType)deserialized[1]).ReadOnlyScopes.HasValue.Should().Be(false); - } - } -} diff --git a/src/Bicep.Types.UnitTests/packages.lock.json b/src/Bicep.Types.UnitTests/packages.lock.json deleted file mode 100644 index 0d91612736..0000000000 --- a/src/Bicep.Types.UnitTests/packages.lock.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "version": 1, - "dependencies": { - "net6.0": { - "coverlet.collector": { - "type": "Direct", - "requested": "[3.1.2, )", - "resolved": "3.1.2", - "contentHash": "wuLDIDKD5XMt0A7lE31JPenT7QQwZPFkP5rRpdJeblyXZ9MGLI8rYjvm5fvAKln+2/X+4IxxQDxBtwdrqKNLZw==" - }, - "FluentAssertions": { - "type": "Direct", - "requested": "[6.7.0, )", - "resolved": "6.7.0", - "contentHash": "PWbow/R3MnYDP8UW7zh/w80rGb+1NufGoNJeuzouTo2bqpvwNTFxbDwF6XWfFZ5IuquL2225Um+qSyZ8jVsT+w==", - "dependencies": { - "System.Configuration.ConfigurationManager": "4.4.0" - } - }, - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.4.0-preview-20220726-02, )", - "resolved": "17.4.0-preview-20220726-02", - "contentHash": "Zm7fx9ZPrJmzv+5zJIJvFeiwD4mXak/uAaDqGqWs7Hq9ZfmZ3I2h+spYqhbqVLuOyjc+kzLh36bCzvMHe3UTiw==", - "dependencies": { - "Microsoft.CodeCoverage": "17.4.0-preview-20220726-02", - "Microsoft.TestPlatform.TestHost": "17.4.0-preview-20220726-02" - } - }, - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.1.1, )", - "resolved": "1.1.1", - "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.1", - "Microsoft.SourceLink.Common": "1.1.1" - } - }, - "MSTest.TestAdapter": { - "type": "Direct", - "requested": "[2.3.0-preview-20220810-02, )", - "resolved": "2.3.0-preview-20220810-02", - "contentHash": "G8xdwi86UsOZJnTVwil5jbaaRGOsJdRwq33l4NZyeD9Mdc0HiVZJx6w4GdTocFrtrzlrsxPYjfJgdPUlhzNL9Q==" - }, - "MSTest.TestFramework": { - "type": "Direct", - "requested": "[2.2.10, )", - "resolved": "2.2.10", - "contentHash": "JZRVXKq19uRhkj8MuzsU8zJhPV2JV3ZToFPAIg+BU53L1L9mNDfm9jXerdRfbrE4HBcf2M54Ij80zPOdlha3+Q==" - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.5.109, )", - "resolved": "3.5.109", - "contentHash": "tKA1XJ5U2Ytk+u2/5sGNa04Pw6z9noYmqbpmHpjvbwJTtIalqsQjnwT4RQKSDTTIznHBbKxzv3HVh8QD28Qk+g==" - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q==" - }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.4.0-preview-20220726-02", - "contentHash": "F75ToG4Do7HF5vuJ3DvVZP9y0PCS61GZAw2wvS/vTkBiyIm2myTip3O/kZ/hulrM7/oNsbarNMOe45Q6P1U/Ng==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg==" - }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.4.0-preview-20220726-02", - "contentHash": "AVnD8aHInSQXZkqP0lDec/Eex+FeplsQfd2DHiR3kc3BVKBKMTiWyLIENbgmYU+RQbkuJnMEWrRTGFyqNVusWw==", - "dependencies": { - "NuGet.Frameworks": "5.11.0", - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.4.0-preview-20220726-02", - "contentHash": "anO5rBpVzL5XmcEA80Tn5UC224dH296DzG+b5wEi8SJrBD9qTpVsCl2SF1+mlFFFp81LCqxMK0KHqrbJz3DhWQ==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.4.0-preview-20220726-02", - "Newtonsoft.Json": "13.0.1" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "5.11.0", - "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "4.4.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.5", - "contentHash": "SSH+YYrMpvLcy7Orzb5K1tSyffnFacWahyxCCjYH1PbSHdAF4dekmIetBurFKgtTHDmwEe/J2Csi/7niRH6d/g==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - } - }, - "Azure.Bicep.Types": { - "type": "Project", - "dependencies": { - "System.Text.Json": "[6.0.5, )" - } - } - } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Bicep.Types.csproj b/src/Bicep.Types/Bicep.Types.csproj deleted file mode 100644 index 9e438eb8b5..0000000000 --- a/src/Bicep.Types/Bicep.Types.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - netstandard2.0 - true - Azure.Bicep.Types - Azure.Bicep.Types - Shared contracts for Bicep types - - - - - - - diff --git a/src/Bicep.Types/Concrete/ArrayType.cs b/src/Bicep.Types/Concrete/ArrayType.cs deleted file mode 100644 index 6ee73523d0..0000000000 --- a/src/Bicep.Types/Concrete/ArrayType.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public class ArrayType : TypeBase - { - public ArrayType(ITypeReference itemType) - { - ItemType = itemType; - } - - public ITypeReference ItemType { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/BuiltInType.cs b/src/Bicep.Types/Concrete/BuiltInType.cs deleted file mode 100644 index b86feaee1f..0000000000 --- a/src/Bicep.Types/Concrete/BuiltInType.cs +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public enum BuiltInTypeKind - { - Any = 1, - Null = 2, - Bool = 3, - Int = 4, - String = 5, - Object = 6, - Array = 7, - ResourceRef = 8, - } - - public class BuiltInType : TypeBase - { - public BuiltInType(BuiltInTypeKind kind) - { - Kind = kind; - } - - public BuiltInTypeKind Kind { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/DiscriminatedObjectType.cs b/src/Bicep.Types/Concrete/DiscriminatedObjectType.cs deleted file mode 100644 index f1ba63c004..0000000000 --- a/src/Bicep.Types/Concrete/DiscriminatedObjectType.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System.Collections.Generic; - -namespace Azure.Bicep.Types.Concrete -{ - public class DiscriminatedObjectType : TypeBase - { - public DiscriminatedObjectType(string name, string discriminator, IDictionary baseProperties, IDictionary elements) - { - Name = name; - Discriminator = discriminator; - BaseProperties = baseProperties; - Elements = elements; - } - - public string Name { get; set; } - - public string Discriminator { get; set; } - - public IDictionary BaseProperties { get; set; } - - public IDictionary Elements { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/ITypeReference.cs b/src/Bicep.Types/Concrete/ITypeReference.cs deleted file mode 100644 index 18f0a19a24..0000000000 --- a/src/Bicep.Types/Concrete/ITypeReference.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public interface ITypeReference - { - TypeBase Type { get; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/ObjectType.cs b/src/Bicep.Types/Concrete/ObjectType.cs deleted file mode 100644 index 4f3ba6c2de..0000000000 --- a/src/Bicep.Types/Concrete/ObjectType.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; -using System.Collections.Generic; - -namespace Azure.Bicep.Types.Concrete -{ - public class ObjectType : TypeBase - { - public ObjectType(string name, IDictionary properties, ITypeReference? additionalProperties) - { - Name = name; - Properties = properties; - AdditionalProperties = additionalProperties; - } - - public string Name { get; set; } - - public IDictionary Properties { get; set; } - - public ITypeReference? AdditionalProperties { get; set; } - } - - [Flags] - public enum ObjectPropertyFlags - { - None = 0, - - Required = 1 << 0, - - ReadOnly = 1 << 1, - - WriteOnly = 1 << 2, - - DeployTimeConstant = 1 << 3, - } - - public class ObjectProperty - { - public ObjectProperty(ITypeReference type, ObjectPropertyFlags flags, string? description) - { - Type = type; - Flags = flags; - Description = description; - } - - public ITypeReference Type { get; set; } - - public ObjectPropertyFlags Flags { get; set; } - - public string? Description { get; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/ResourceFunctionType.cs b/src/Bicep.Types/Concrete/ResourceFunctionType.cs deleted file mode 100644 index bdbe31c4fe..0000000000 --- a/src/Bicep.Types/Concrete/ResourceFunctionType.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -namespace Azure.Bicep.Types.Concrete -{ - public class ResourceFunctionType : TypeBase - { - public ResourceFunctionType(string name, string resourceType, string apiVersion, ITypeReference output, ITypeReference? input) - { - Name = name; - ResourceType = resourceType; - ApiVersion = apiVersion; - Output = output; - Input = input; - } - - public string Name { get; set; } - - public string ResourceType { get; set; } - - public string ApiVersion { get; set; } - - public ITypeReference Output { get; set; } - - public ITypeReference? Input { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/ResourceType.cs b/src/Bicep.Types/Concrete/ResourceType.cs deleted file mode 100644 index 51ecff3bc0..0000000000 --- a/src/Bicep.Types/Concrete/ResourceType.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; - -namespace Azure.Bicep.Types.Concrete -{ - [Flags] - public enum ResourceFlags - { - None = 0, - ReadOnly = 1 << 0, - } - - public class ResourceType : TypeBase - { - public ResourceType(string name, ScopeType scopeType, ScopeType? readOnlyScopes, ITypeReference body, ResourceFlags flags) - { - Name = name; - ScopeType = scopeType; - ReadOnlyScopes = readOnlyScopes; - Body = body; - Flags = flags; - } - - public string Name { get; set; } - - public ScopeType ScopeType { get; set; } - - public ScopeType? ReadOnlyScopes { get; set; } - - public ITypeReference Body { get; set; } - - public ResourceFlags Flags { get; set; } - } -} diff --git a/src/Bicep.Types/Concrete/ScopeType.cs b/src/Bicep.Types/Concrete/ScopeType.cs deleted file mode 100644 index 8e9a690b64..0000000000 --- a/src/Bicep.Types/Concrete/ScopeType.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; - -namespace Azure.Bicep.Types.Concrete -{ - [Flags] - public enum ScopeType - { - Unknown = 0, - - Tenant = 1 << 0, - - ManagementGroup = 1 << 1, - - Subscription = 1 << 2, - - ResourceGroup = 1 << 3, - - Extension = 1 << 4, - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/StringLiteralType.cs b/src/Bicep.Types/Concrete/StringLiteralType.cs deleted file mode 100644 index 1ca670a592..0000000000 --- a/src/Bicep.Types/Concrete/StringLiteralType.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public class StringLiteralType : TypeBase - { - public StringLiteralType(string value) - { - Value = value; - } - - public string Value { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/TypeBase.cs b/src/Bicep.Types/Concrete/TypeBase.cs deleted file mode 100644 index 4c0637221e..0000000000 --- a/src/Bicep.Types/Concrete/TypeBase.cs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public abstract class TypeBase - { - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/TypeFactory.cs b/src/Bicep.Types/Concrete/TypeFactory.cs deleted file mode 100644 index 25e150cf38..0000000000 --- a/src/Bicep.Types/Concrete/TypeFactory.cs +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; -using System.Collections.Generic; -using System.Linq; - -namespace Azure.Bicep.Types.Concrete -{ - public class TypeFactory - { - private class TypeReference : ITypeReference - { - private readonly TypeFactory factory; - private readonly int index; - - public TypeReference(TypeFactory factory, int index) - { - this.factory = factory; - this.index = index; - } - - public TypeBase Type => factory.types[index]; // TODO check perf on a list index lookup - } - - private readonly List types; - private readonly IDictionary typeLookup; - - public TypeFactory(IEnumerable types) - { - this.types = new List(types); - this.typeLookup = Enumerable.Range(0, this.types.Count).ToDictionary(i => this.types[i]); - } - - public void Hydrate(IEnumerable types) - { - if (this.types.Any() || this.typeLookup.Any()) - { - throw new ArgumentException($"{nameof(Hydrate)} may only be called on an empty factory"); - } - - foreach (var type in types) - { - AddType(type); - } - } - - private int AddType(TypeBase type) - { - if (typeLookup.ContainsKey(type)) - { - throw new ArgumentException("Duplicate type added"); - } - - var index = types.Count; - typeLookup[type] = index; - types.Add(type); - - return index; - } - - public TType Create(Func createFunc) - where TType : TypeBase - { - var type = createFunc(); - AddType(type); - - return type; - } - - public ITypeReference GetReference(TypeBase type) - => new TypeReference(this, typeLookup[type]); - - public ITypeReference GetReference(int index) - => new TypeReference(this, index); - - public int GetIndex(TypeBase type) - => typeLookup[type]; - - public TypeBase[] GetTypes() - => types.ToArray(); - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Concrete/UnionType.cs b/src/Bicep.Types/Concrete/UnionType.cs deleted file mode 100644 index 46d63817d9..0000000000 --- a/src/Bicep.Types/Concrete/UnionType.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace Azure.Bicep.Types.Concrete -{ - public class UnionType : TypeBase - { - public UnionType(ITypeReference[] elements) - { - Elements = elements; - } - - public ITypeReference[] Elements { get; set; } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Serialization/ITypeReferenceResolver.cs b/src/Bicep.Types/Serialization/ITypeReferenceResolver.cs deleted file mode 100644 index 0618b4b17b..0000000000 --- a/src/Bicep.Types/Serialization/ITypeReferenceResolver.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -using Azure.Bicep.Types.Concrete; - -namespace Azure.Bicep.Types.Serialization -{ - public interface ITypeReferenceResolver - { - int GetIndex(TypeBase type); - - ITypeReference GetTypeReference(int index); - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Serialization/ReferenceLinkConverter.cs b/src/Bicep.Types/Serialization/ReferenceLinkConverter.cs deleted file mode 100644 index 66c59d615b..0000000000 --- a/src/Bicep.Types/Serialization/ReferenceLinkConverter.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; -using System.Text.Json; -using System.Text.Json.Serialization; -using Azure.Bicep.Types.Concrete; - -namespace Azure.Bicep.Types.Serialization -{ - public class TypeReferenceConverter : JsonConverter - { - private readonly TypeFactory factory; - - public TypeReferenceConverter(TypeFactory factory) - { - this.factory = factory; - } - - public override ITypeReference Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - if (reader.TokenType != JsonTokenType.Number) - { - throw new JsonException(); - } - - var index = reader.GetInt32(); - - return factory.GetReference(index); - } - - public override void Write(Utf8JsonWriter writer, ITypeReference value, JsonSerializerOptions options) - { - var index = factory.GetIndex(value.Type); - - writer.WriteNumberValue(index); - } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/Serialization/TypeBaseConverter.cs b/src/Bicep.Types/Serialization/TypeBaseConverter.cs deleted file mode 100644 index 030ca7cf6b..0000000000 --- a/src/Bicep.Types/Serialization/TypeBaseConverter.cs +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; -using System.Text.Json; -using System.Text.Json.Serialization; -using Azure.Bicep.Types.Concrete; - -namespace Azure.Bicep.Types.Serialization -{ - public class TypeBaseConverter : JsonConverter - { - private readonly JsonSerializerOptions serializerOptions; - - public TypeBaseConverter(TypeFactory factory) - { - serializerOptions = new JsonSerializerOptions - { - DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, - }; - serializerOptions.Converters.Add(new TypeReferenceConverter(factory)); - } - - public override bool CanConvert(Type typeToConvert) => - typeof(TypeBase).IsAssignableFrom(typeToConvert); - - // This enum should be kept in-sync with src/generator/types.ts - private enum TypeBaseKind - { - // These enum values should never be changed because they are serialized as integers. - // You can add to this list, but do not modify it! - BuiltInType = 1, - ObjectType = 2, - ArrayType = 3, - ResourceType = 4, - UnionType = 5, - StringLiteralType = 6, - DiscriminatedObjectType = 7, - ResourceFunctionType = 8, - } - - public override TypeBase Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) - { - if (reader.TokenType != JsonTokenType.StartObject) - { - throw new JsonException(); - } - - reader.Read(); - if (reader.TokenType != JsonTokenType.PropertyName) - { - throw new JsonException(); - } - - var propertyName = reader.GetString(); - if (!int.TryParse(propertyName, out var propertyInt)) - { - throw new JsonException(); - } - - TypeBase? type = (TypeBaseKind)propertyInt switch { - TypeBaseKind.BuiltInType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.ObjectType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.ArrayType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.ResourceType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.UnionType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.StringLiteralType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.DiscriminatedObjectType => JsonSerializer.Deserialize(ref reader, serializerOptions), - TypeBaseKind.ResourceFunctionType => JsonSerializer.Deserialize(ref reader, serializerOptions), - _ => throw new JsonException("Found unknown TypeBaseKind"), - }; - - if (reader.TokenType != JsonTokenType.EndObject) - { - throw new JsonException(); - } - - reader.Read(); - - return type ?? throw new JsonException("Failed to deserialize type"); - } - - public override void Write(Utf8JsonWriter writer, TypeBase value, JsonSerializerOptions options) - { - writer.WriteStartObject(); - - var propertyEnum = value switch { - BuiltInType _ => TypeBaseKind.BuiltInType, - ObjectType _ => TypeBaseKind.ObjectType, - ArrayType _ => TypeBaseKind.ArrayType, - ResourceType _ => TypeBaseKind.ResourceType, - UnionType _ => TypeBaseKind.UnionType, - StringLiteralType _ => TypeBaseKind.StringLiteralType, - DiscriminatedObjectType _ => TypeBaseKind.DiscriminatedObjectType, - ResourceFunctionType _ => TypeBaseKind.ResourceFunctionType, - _ => throw new JsonException(), - }; - - writer.WritePropertyName(((int)propertyEnum).ToString()); - - switch (value) - { - case BuiltInType builtInType: - JsonSerializer.Serialize(writer, builtInType, serializerOptions); - break; - case ObjectType objectType: - JsonSerializer.Serialize(writer, objectType, serializerOptions); - break; - case ArrayType arrayType: - JsonSerializer.Serialize(writer, arrayType, serializerOptions); - break; - case ResourceType resourceType: - JsonSerializer.Serialize(writer, resourceType, serializerOptions); - break; - case UnionType unionType: - JsonSerializer.Serialize(writer, unionType, serializerOptions); - break; - case StringLiteralType stringLiteralType: - JsonSerializer.Serialize(writer, stringLiteralType, serializerOptions); - break; - case DiscriminatedObjectType discriminatedObjectType: - JsonSerializer.Serialize(writer, discriminatedObjectType, serializerOptions); - break; - case ResourceFunctionType resourceFunctionType: - JsonSerializer.Serialize(writer, resourceFunctionType, serializerOptions); - break; - default: - throw new JsonException(); - } - - writer.WriteEndObject(); - } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/TypeSerializer.cs b/src/Bicep.Types/TypeSerializer.cs deleted file mode 100644 index 2b19d95d84..0000000000 --- a/src/Bicep.Types/TypeSerializer.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -using System; -using System.Linq; -using System.Text.Json; -using System.Text.Json.Serialization; -using Azure.Bicep.Types.Concrete; -using Azure.Bicep.Types.Serialization; - -namespace Azure.Bicep.Types -{ - public static class TypeSerializer - { - public static string Serialize(TypeBase[] types) - { - var factory = new TypeFactory(types); - - var serializeOptions = new JsonSerializerOptions - { - DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, - }; - serializeOptions.Converters.Add(new TypeBaseConverter(factory)); - - return JsonSerializer.Serialize(types, serializeOptions); - } - - public static TypeBase[] Deserialize(string content) - { - var factory = new TypeFactory(Enumerable.Empty()); - - var serializeOptions = new JsonSerializerOptions - { - DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, - }; - serializeOptions.Converters.Add(new TypeBaseConverter(factory)); - - var types = JsonSerializer.Deserialize(content, serializeOptions) ?? throw new JsonException("Failed to deserialize content"); - - factory.Hydrate(types); - - return types; - } - } -} \ No newline at end of file diff --git a/src/Bicep.Types/packages.lock.json b/src/Bicep.Types/packages.lock.json deleted file mode 100644 index 6323cc2c5f..0000000000 --- a/src/Bicep.Types/packages.lock.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "version": 1, - "dependencies": { - ".NETStandard,Version=v2.0": { - "Microsoft.SourceLink.GitHub": { - "type": "Direct", - "requested": "[1.1.1, )", - "resolved": "1.1.1", - "contentHash": "IaJGnOv/M7UQjRJks7B6p7pbPnOwisYGOIzqCz5ilGFTApZ3ktOR+6zJ12ZRPInulBmdAf1SrGdDG2MU8g6XTw==", - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.1.1", - "Microsoft.SourceLink.Common": "1.1.1" - } - }, - "Nerdbank.GitVersioning": { - "type": "Direct", - "requested": "[3.5.109, )", - "resolved": "3.5.109", - "contentHash": "tKA1XJ5U2Ytk+u2/5sGNa04Pw6z9noYmqbpmHpjvbwJTtIalqsQjnwT4RQKSDTTIznHBbKxzv3HVh8QD28Qk+g==" - }, - "NETStandard.Library": { - "type": "Direct", - "requested": "[2.0.3, )", - "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0" - } - }, - "System.Text.Json": { - "type": "Direct", - "requested": "[6.0.5, )", - "resolved": "6.0.5", - "contentHash": "SSH+YYrMpvLcy7Orzb5K1tSyffnFacWahyxCCjYH1PbSHdAF4dekmIetBurFKgtTHDmwEe/J2Csi/7niRH6d/g==", - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Bcl.AsyncInterfaces": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "dependencies": { - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "Microsoft.Build.Tasks.Git": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "AT3HlgTjsqHnWpBHSNeR0KxbLZD7bztlZVj7I8vgeYG9SYqbeFGh0TM/KVtC6fg53nrWHl3VfZFvb5BiQFcY6Q==" - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==" - }, - "Microsoft.SourceLink.Common": { - "type": "Transitive", - "resolved": "1.1.1", - "contentHash": "WMcGpWKrmJmzrNeuaEb23bEMnbtR/vLmvZtkAP5qWu7vQsY59GqfRJd65sFpBszbd2k/bQ8cs8eWawQKAabkVg==" - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Numerics.Vectors": "4.4.0", - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - }, - "System.Numerics.Vectors": { - "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.3" - } - } - } - } -} \ No newline at end of file diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 42b5cd1278..71e5993b9c 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/src/autorest.bicep/.eslintrc.js b/src/autorest.bicep/.eslintrc.js index 3edef9df8a..1f73b5a521 100644 --- a/src/autorest.bicep/.eslintrc.js +++ b/src/autorest.bicep/.eslintrc.js @@ -6,6 +6,7 @@ module.exports = { parserOptions: { ecmaVersion: 2020, sourceType: "module", + project: './tsconfig.json', }, plugins: ["header"], extends: ["eslint:recommended"], diff --git a/src/autorest.bicep/package-lock.json b/src/autorest.bicep/package-lock.json index 881dd2cb94..00bde33103 100644 --- a/src/autorest.bicep/package-lock.json +++ b/src/autorest.bicep/package-lock.json @@ -16,14 +16,14 @@ }, "devDependencies": { "@types/jest": "^27.4.1", - "@types/node": "^18.7.17", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@types/node": "^18.7.21", + "@typescript-eslint/eslint-plugin": "^5.38.0", + "@typescript-eslint/parser": "^5.38.0", "colors": "^1.4.0", "dir-compare": "^4.0.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-plugin-header": "^3.1.1", - "eslint-plugin-jest": "^26.8.7", + "eslint-plugin-jest": "^27.0.4", "jest": "^27.5.1", "ts-jest": "^27.1.4", "ts-node": "^10.9.1", @@ -726,9 +726,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1398,9 +1398,9 @@ "integrity": "sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==" }, "node_modules/@types/node": { - "version": "18.7.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.17.tgz", - "integrity": "sha512-0UyfUnt02zIuqp7yC8RYtDkp/vo8bFaQ13KkSEvUAohPOAlnVNbj5Fi3fgPSuwzakS+EvvnnZ4x9y7i6ASaSPQ==", + "version": "18.7.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz", + "integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA==", "dev": true }, "node_modules/@types/prettier": { @@ -1431,16 +1431,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", + "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/type-utils": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -1464,14 +1463,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", + "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "debug": "^4.3.4" }, "engines": { @@ -1491,13 +1490,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", + "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1508,13 +1507,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", + "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -1535,9 +1534,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", + "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1548,13 +1547,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", + "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1575,15 +1574,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", + "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -1599,12 +1598,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", + "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", + "@typescript-eslint/types": "5.38.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2467,13 +2466,13 @@ } }, "node_modules/eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -2532,19 +2531,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "26.8.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.8.7.tgz", - "integrity": "sha512-nJJVv3VY6ZZvJGDMC8h1jN/TIGT4We1JkNn1lvstPURicr/eZPVnlFULQ4W2qL9ByCuCr1hPmlBOc2aZ1ktw4Q==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", + "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@typescript-eslint/eslint-plugin": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@typescript-eslint/eslint-plugin": { @@ -3005,12 +3004,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6795,9 +6788,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -7378,9 +7371,9 @@ "integrity": "sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==" }, "@types/node": { - "version": "18.7.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.17.tgz", - "integrity": "sha512-0UyfUnt02zIuqp7yC8RYtDkp/vo8bFaQ13KkSEvUAohPOAlnVNbj5Fi3fgPSuwzakS+EvvnnZ4x9y7i6ASaSPQ==", + "version": "18.7.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz", + "integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA==", "dev": true }, "@types/prettier": { @@ -7411,16 +7404,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", + "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/type-utils": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -7428,53 +7420,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", + "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", + "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0" } }, "@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", + "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", + "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", + "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -7483,26 +7475,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", + "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", + "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", + "@typescript-eslint/types": "5.38.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -8159,13 +8151,13 @@ } }, "eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -8286,9 +8278,9 @@ "requires": {} }, "eslint-plugin-jest": { - "version": "26.8.7", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.8.7.tgz", - "integrity": "sha512-nJJVv3VY6ZZvJGDMC8h1jN/TIGT4We1JkNn1lvstPURicr/eZPVnlFULQ4W2qL9ByCuCr1hPmlBOc2aZ1ktw4Q==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.0.4.tgz", + "integrity": "sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==", "dev": true, "requires": { "@typescript-eslint/utils": "^5.10.0" @@ -8556,12 +8548,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", diff --git a/src/autorest.bicep/package.json b/src/autorest.bicep/package.json index f1609ab753..c37d914a4e 100644 --- a/src/autorest.bicep/package.json +++ b/src/autorest.bicep/package.json @@ -18,14 +18,14 @@ }, "devDependencies": { "@types/jest": "^27.4.1", - "@types/node": "^18.7.17", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@types/node": "^18.7.21", + "@typescript-eslint/eslint-plugin": "^5.38.0", + "@typescript-eslint/parser": "^5.38.0", "colors": "^1.4.0", "dir-compare": "^4.0.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-plugin-header": "^3.1.1", - "eslint-plugin-jest": "^26.8.7", + "eslint-plugin-jest": "^27.0.4", "jest": "^27.5.1", "ts-jest": "^27.1.4", "ts-node": "^10.9.1", diff --git a/src/generator/package-lock.json b/src/generator/package-lock.json index 27af7595e9..013a7507e8 100644 --- a/src/generator/package-lock.json +++ b/src/generator/package-lock.json @@ -10,19 +10,19 @@ "license": "MIT", "devDependencies": { "@autorest/core": "3.9.2", - "@autorest/modelerfour": "^4.24.2", + "@autorest/modelerfour": "^4.24.3", "@ts-common/commonmark-to-markdown": "^2.0.2", "@types/async": "^3.2.15", "@types/js-yaml": "^4.0.5", "@types/lodash": "^4.14.185", - "@types/node": "^18.7.17", - "@types/yargs": "^17.0.12", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@types/node": "^18.7.21", + "@types/yargs": "^17.0.13", + "@typescript-eslint/eslint-plugin": "^5.38.0", + "@typescript-eslint/parser": "^5.38.0", "async": "^3.2.4", "autorest": "^3.6.2", "colors": "^1.4.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-plugin-header": "^3.1.1", "js-yaml": "^4.1.0", "lodash": "^4.17.21", @@ -45,9 +45,9 @@ } }, "node_modules/@autorest/modelerfour": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.24.2.tgz", - "integrity": "sha512-ZjyYSqazzSASTWisNk3OXt67dFL6K3d+p/uxI7zeRI03IusOvySbTHGh1TgnDJjuTxgxrMwFXXkHfVmhl9mzfg==", + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.24.3.tgz", + "integrity": "sha512-EMVUfzkz6F31bUvj6FQRutYx6A1A7PU0J1pB6xOLhZjZ/95Vo1elvPG8JnYsEUbe8JDGY2GYebKy3CCeUYOANw==", "dev": true, "engines": { "node": ">=12.0.0" @@ -89,9 +89,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -273,15 +273,15 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.17.tgz", - "integrity": "sha512-0UyfUnt02zIuqp7yC8RYtDkp/vo8bFaQ13KkSEvUAohPOAlnVNbj5Fi3fgPSuwzakS+EvvnnZ4x9y7i6ASaSPQ==", + "version": "18.7.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz", + "integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA==", "dev": true }, "node_modules/@types/yargs": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", - "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -294,16 +294,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", + "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/type-utils": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -327,14 +326,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", + "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "debug": "^4.3.4" }, "engines": { @@ -354,13 +353,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", + "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -371,13 +370,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", + "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -398,9 +397,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", + "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -411,13 +410,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", + "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -438,15 +437,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", + "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -462,12 +461,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", + "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.37.0", + "@typescript-eslint/types": "5.38.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -814,13 +813,13 @@ } }, "node_modules/eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -1190,12 +1189,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2120,9 +2113,9 @@ "dev": true }, "@autorest/modelerfour": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.24.2.tgz", - "integrity": "sha512-ZjyYSqazzSASTWisNk3OXt67dFL6K3d+p/uxI7zeRI03IusOvySbTHGh1TgnDJjuTxgxrMwFXXkHfVmhl9mzfg==", + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@autorest/modelerfour/-/modelerfour-4.24.3.tgz", + "integrity": "sha512-EMVUfzkz6F31bUvj6FQRutYx6A1A7PU0J1pB6xOLhZjZ/95Vo1elvPG8JnYsEUbe8JDGY2GYebKy3CCeUYOANw==", "dev": true }, "@cspotcode/source-map-support": { @@ -2152,9 +2145,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.5.tgz", + "integrity": "sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -2308,15 +2301,15 @@ "dev": true }, "@types/node": { - "version": "18.7.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.17.tgz", - "integrity": "sha512-0UyfUnt02zIuqp7yC8RYtDkp/vo8bFaQ13KkSEvUAohPOAlnVNbj5Fi3fgPSuwzakS+EvvnnZ4x9y7i6ASaSPQ==", + "version": "18.7.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.21.tgz", + "integrity": "sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA==", "dev": true }, "@types/yargs": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz", - "integrity": "sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -2329,16 +2322,15 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz", - "integrity": "sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", + "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/type-utils": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/type-utils": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -2346,53 +2338,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.37.0.tgz", - "integrity": "sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", + "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz", - "integrity": "sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", + "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0" + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0" } }, "@typescript-eslint/type-utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz", - "integrity": "sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", + "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.37.0", - "@typescript-eslint/utils": "5.37.0", + "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/utils": "5.38.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.37.0.tgz", - "integrity": "sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", + "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz", - "integrity": "sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", + "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/visitor-keys": "5.37.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/visitor-keys": "5.38.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2401,26 +2393,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.37.0.tgz", - "integrity": "sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", + "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.37.0", - "@typescript-eslint/types": "5.37.0", - "@typescript-eslint/typescript-estree": "5.37.0", + "@typescript-eslint/scope-manager": "5.38.0", + "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.37.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz", - "integrity": "sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==", + "version": "5.38.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", + "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.37.0", + "@typescript-eslint/types": "5.38.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -2673,13 +2665,13 @@ "dev": true }, "eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -2969,12 +2961,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", diff --git a/src/generator/package.json b/src/generator/package.json index 93c815be78..f35622af2e 100644 --- a/src/generator/package.json +++ b/src/generator/package.json @@ -25,19 +25,19 @@ "homepage": "https://github.com/Azure/bicep-types-az/blob/main/README.md", "devDependencies": { "@autorest/core": "3.9.2", - "@autorest/modelerfour": "^4.24.2", + "@autorest/modelerfour": "^4.24.3", "@ts-common/commonmark-to-markdown": "^2.0.2", "@types/async": "^3.2.15", "@types/js-yaml": "^4.0.5", "@types/lodash": "^4.14.185", - "@types/node": "^18.7.17", - "@types/yargs": "^17.0.12", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@types/node": "^18.7.21", + "@types/yargs": "^17.0.13", + "@typescript-eslint/eslint-plugin": "^5.38.0", + "@typescript-eslint/parser": "^5.38.0", "async": "^3.2.4", "autorest": "^3.6.2", "colors": "^1.4.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-plugin-header": "^3.1.1", "js-yaml": "^4.1.0", "lodash": "^4.17.21",