From a854925dd6bfd2d32595e3ce2189b6380b60f4e2 Mon Sep 17 00:00:00 2001 From: Robert Djurasaj Date: Mon, 12 Dec 2022 23:05:55 -0700 Subject: [PATCH] chore: bump karpenter to v0.20.0 --- .projen/deps.json | 10 +- .projenrc.js | 6 +- README.md | 14 ++- package.json | 6 +- src/karpenter.ts | 38 +++--- test/__snapshots__/snapshot.test.ts.snap | 2 +- yarn.lock | 145 ++++++++++++----------- 7 files changed, 119 insertions(+), 102 deletions(-) diff --git a/.projen/deps.json b/.projen/deps.json index 739ce2a3..031878e5 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -4,6 +4,10 @@ "name": "@aws-cdk/lambda-layer-kubectl-v23", "type": "build" }, + { + "name": "@aws-cdk/lambda-layer-kubectl-v24", + "type": "build" + }, { "name": "@types/jest", "version": "^27", @@ -115,7 +119,7 @@ }, { "name": "aws-cdk-lib", - "version": "^2.49.0", + "version": "^2.54.0", "type": "peer" }, { @@ -127,6 +131,10 @@ "name": "@aws-cdk/lambda-layer-kubectl-v23", "type": "runtime" }, + { + "name": "@aws-cdk/lambda-layer-kubectl-v24", + "type": "runtime" + }, { "name": "aws-cdk-lib", "type": "runtime" diff --git a/.projenrc.js b/.projenrc.js index cf5174c6..50d30d3e 100644 --- a/.projenrc.js +++ b/.projenrc.js @@ -16,7 +16,7 @@ const project = new awscdk.AwsCdkConstructLibrary({ }, compat: true, stability: 'experimental', - cdkVersion: '2.49.0', + cdkVersion: '2.54.0', workflowNodeVersion: '^18.12.1', autoApproveOptions: { allowedUsernames: ['cdk-karpenter-automation'], @@ -26,8 +26,8 @@ const project = new awscdk.AwsCdkConstructLibrary({ autoApproveProjenUpgrades: true, projenTokenSecret: 'PROJEN_GITHUB_TOKEN', autoApproveUpgrades: true, - deps: ['aws-cdk-lib', '@aws-cdk/lambda-layer-kubectl-v23'], - devDeps: ['aws-cdk-lib', '@aws-cdk/lambda-layer-kubectl-v23'], + deps: ['aws-cdk-lib', '@aws-cdk/lambda-layer-kubectl-v23', '@aws-cdk/lambda-layer-kubectl-v24'], + devDeps: ['aws-cdk-lib', '@aws-cdk/lambda-layer-kubectl-v23', '@aws-cdk/lambda-layer-kubectl-v24'], // deps: [], /* Runtime dependencies of this module. */ // devDeps: [], /* Build dependencies for this module. */ // packageName: undefined, /* The "name" in package.json. */ diff --git a/README.md b/README.md index 3377aabf..5f031c11 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,18 @@ More info about Karpenter at: https://karpenter.sh Karpenter Best Practices: https://aws.github.io/aws-eks-best-practices/karpenter/ -Karpenter version: v0.19.3 +Karpenter version: v0.20.0 -Note: As of v0.16.0 changed the default replicas from 1 to 2. See: https://github.com/aws/karpenter/blob/main/website/content/en/v0.16.1/troubleshooting.md +Notes: +- As of v0.16.0 changed the default replicas from 1 to 2. See: https://github.com/aws/karpenter/blob/main/website/content/en/v0.16.1/troubleshooting.md +- Prior to v0.20.0, Karpenter would prioritize certain instance type categories absent of any requirements in the Provisioner. v0.20.0+ removes prioritizing these instance type categories (“m”, “c”, “r”, “a”, “t”, “i”) in code. Bare Metal and GPU instance types are still deprioritized and only used if no other instance types are compatible with the node requirements. This means that, now, you will need to explicitly define the instance types, sizes or categories you want to allow in your Provisioner; otherwise, it is possible that you receive more exotic instance types. ## Showcase ```ts import { InstanceClass, InstanceSize, InstanceType, EbsDeviceVolumeType, Vpc } from 'aws-cdk-lib/aws-ec2'; import { Cluster, KubernetesVersion, Nodegroup } from 'aws-cdk-lib/aws-eks'; -import { KubectlV23Layer } from '@aws-cdk/lambda-layer-kubectl-v23'; +import { KubectlV24Layer } from '@aws-cdk/lambda-layer-kubectl-v24'; import { Karpenter, AMIFamily } from "cdk-karpenter"; ... @@ -26,8 +28,8 @@ const vpc = new Vpc(stack, 'Vpc', { natGateways: 1 }); const cluster = new Cluster(stack, 'eks', { vpc, - version: KubernetesVersion.V1_23, - kubectlLayer: new KubectlV23Layer(stack, 'kubectl'), + version: KubernetesVersion.V1_24, + kubectlLayer: new KubectlV24Layer(stack, 'kubectl'), defaultCapacity: 1, defaultCapacityInstance: InstanceType.of(InstanceClass.T3A, InstanceSize.MEDIUM), }); @@ -40,7 +42,7 @@ const karpenter = new Karpenter(stack, 'karpenter', { // default provisioner karpenter.addProvisioner('default'); //Note: Default provisioner has no cpu/mem limits, nor will cleanup provisioned resources. Use with caution. -// see: https://karpenter.sh/v0.19.2/provisioner/#node-deprovisioning +// see: https://karpenter.sh/v0.20.0/provisioner/#node-deprovisioning // custom provisoner - kitchen sink karpenter.addProvisioner('custom', { diff --git a/package.json b/package.json index 77651a29..7c74e9f8 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ }, "devDependencies": { "@aws-cdk/lambda-layer-kubectl-v23": "^2.0.3", + "@aws-cdk/lambda-layer-kubectl-v24": "^2.0.56", "@types/jest": "^27", "@types/node": "^14", "@typescript-eslint/eslint-plugin": "^5", @@ -54,17 +55,18 @@ "jsii-pacmak": "^1.72.0", "json-schema": "^0.4.0", "npm-check-updates": "^16", - "projen": "^0.65.50", + "projen": "^0.65.58", "standard-version": "^9", "ts-jest": "^27", "typescript": "^4.9.4" }, "peerDependencies": { - "aws-cdk-lib": "^2.49.0", + "aws-cdk-lib": "^2.54.0", "constructs": "^10.0.5" }, "dependencies": { "@aws-cdk/lambda-layer-kubectl-v23": "^2.0.3", + "@aws-cdk/lambda-layer-kubectl-v24": "^2.0.56", "aws-cdk-lib": "^2.54.0" }, "keywords": [ diff --git a/src/karpenter.ts b/src/karpenter.ts index 84ba22ab..e6a071b3 100644 --- a/src/karpenter.ts +++ b/src/karpenter.ts @@ -478,7 +478,7 @@ export class Karpenter extends Construct { this.karpenterHelmChart = new HelmChart(this, 'KarpenterHelmChart', { chart: 'karpenter', createNamespace: true, - version: 'v0.19.3', + version: 'v0.20.0', cluster: this.cluster, namespace: 'karpenter', release: 'karpenter', @@ -518,8 +518,8 @@ export class Karpenter extends Construct { throw new Error('Parameters consolidation and ttlSecondsAfterEmpty are mutually exclusive.'); } - // see: https://karpenter.sh/v0.19.3/aws/launch-templates/ - // see: https://karpenter.sh/v0.19.3/aws/provisioning/ + // see: https://karpenter.sh/v0.20.0/aws/launch-templates/ + // see: https://karpenter.sh/v0.20.0/aws/provisioning/ const awsNodeTemplateId = `${id}-awsNodeTemplate`.toLowerCase(); const awsNodeTemplate = this.cluster.addManifest(awsNodeTemplateId, { apiVersion: 'karpenter.k8s.aws/v1alpha1', @@ -531,34 +531,34 @@ export class Karpenter extends Construct { subnetSelector: { [`karpenter.sh/discovery/${this.cluster.clusterName}`]: '*', }, - // see: https://karpenter.sh/v0.19.3/aws/provisioning/#securitygroupselector-required-when-not-using-launchtemplate + // see: https://karpenter.sh/v0.20.0/aws/provisioning/#securitygroupselector-required-when-not-using-launchtemplate // Note: required when not using launchTemplate securityGroupSelector: { [`kubernetes.io/cluster/${this.cluster.clusterName}`]: 'owned', }, - // see: https://karpenter.sh/v0.19.3/aws/provisioning/#instanceprofile + // see: https://karpenter.sh/v0.20.0/aws/provisioning/#instanceprofile // instanceProfile is created using L1 construct (CfnInstanceProfile), thus we're referencing ref directly // TODO: revisit this when L2 InstanceProfile construct is released instanceProfile: this.instanceProfile.ref, - // see: https://karpenter.sh/v0.19.3/aws/provisioning/#tags + // see: https://karpenter.sh/v0.20.0/aws/provisioning/#tags ...(provisionerSpecs?.provider?.tags && { tags: { ...provisionerSpecs!.provider!.tags! } }), - // see: https://karpenter.sh/v0.19.3/aws/provisioning/#amazon-machine-image-ami-family + // see: https://karpenter.sh/v0.20.0/aws/provisioning/#amazon-machine-image-ami-family ...(provisionerSpecs?.provider?.amiFamily && { amiFamily: provisionerSpecs!.provider!.amiFamily! }), - // see: https://karpenter.sh/v0.19.3/aws/provisioning/#block-device-mappings + // see: https://karpenter.sh/v0.20.0/aws/provisioning/#block-device-mappings ...(provisionerSpecs?.provider?.blockDeviceMappings && { blockDeviceMappings: provisionerSpecs!.provider!.blockDeviceMappings! }), - // see https://karpenter.sh/v0.19.3/aws/provisioning/#amiselector + // see https://karpenter.sh/v0.20.0/aws/provisioning/#amiselector ...(provisionerSpecs?.provider?.amiSelector && { amiSelector: { ...provisionerSpecs!.provider!.amiSelector! } }), - // see launchTemplate https://karpenter.sh/v0.19.3/aws/provisioning/#launchtemplate + // see launchTemplate https://karpenter.sh/v0.20.0/aws/provisioning/#launchtemplate ...(provisionerSpecs?.provider?.launchTemplate && { launchTemplate: provisionerSpecs!.provider!.launchTemplate! }), - // TODO: add userData https://karpenter.sh/v0.19.3/aws/provisioning/#userdata - // TODO: add metadataOptions https://karpenter.sh/v0.19.3/aws/provisioning/#metadata-options + // TODO: add userData https://karpenter.sh/v0.20.0/aws/provisioning/#userdata + // TODO: add metadataOptions https://karpenter.sh/v0.20.0/aws/provisioning/#metadata-options }, }); - // see: https://karpenter.sh/v0.19.3/provisioner/#specrequirements + // see: https://karpenter.sh/v0.20.0/provisioner/#specrequirements const requirements = this.setRequirements(provisionerSpecs?.requirements); - // see: https://karpenter.sh/v0.19.3/provisioner + // see: https://karpenter.sh/v0.20.0/provisioner const provisioner = this.cluster.addManifest(id, { apiVersion: 'karpenter.sh/v1alpha5', kind: 'Provisioner', @@ -566,7 +566,7 @@ export class Karpenter extends Construct { name: id.toLowerCase(), }, spec: { - // see: https://karpenter.sh/0.16.3/provisioner/#speclimitsresources + // see: https://karpenter.sh/0.20.0/provisioner/#speclimitsresources ...(provisionerSpecs?.limits && { limits: { resources: { @@ -575,17 +575,17 @@ export class Karpenter extends Construct { }, }, }), - // see: https://karpenter.sh/v0.19.3/provisioner/#example-provisioner-resource + // see: https://karpenter.sh/v0.20.0/provisioner/#example-provisioner-resource ...provisionerSpecs?.consolidation && { consolidation: { enabled: provisionerSpecs!.consolidation, }, }, - // see: https://karpenter.sh/v0.19.3/provisioner/#specttlsecondsafterempty + // see: https://karpenter.sh/v0.20.0/provisioner/#specttlsecondsafterempty ...(provisionerSpecs?.ttlSecondsAfterEmpty && { ttlSecondsAfterEmpty: provisionerSpecs!.ttlSecondsAfterEmpty!.toSeconds() }), - // see: https://karpenter.sh/v0.19.3/provisioner/#specttlsecondsuntilexpired + // see: https://karpenter.sh/v0.20.0/provisioner/#specttlsecondsuntilexpired ...(provisionerSpecs?.ttlSecondsUntilExpired && { ttlSecondsUntilExpired: provisionerSpecs!.ttlSecondsUntilExpired!.toSeconds() }), - // see: https://karpenter.sh/v0.19.3/provisioner/#specrequirements + // see: https://karpenter.sh/v0.20.0/provisioner/#specrequirements requirements: [ ...requirements, ], diff --git a/test/__snapshots__/snapshot.test.ts.snap b/test/__snapshots__/snapshot.test.ts.snap index 6d9ec700..d7f1f794 100644 --- a/test/__snapshots__/snapshot.test.ts.snap +++ b/test/__snapshots__/snapshot.test.ts.snap @@ -1879,7 +1879,7 @@ Object { ], ], }, - "Version": "v0.19.3", + "Version": "v0.20.0", "Wait": true, }, "Type": "Custom::AWSCDK-EKS-HelmChart", diff --git a/yarn.lock b/yarn.lock index b417ac31..78140a4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,6 +30,11 @@ resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-kubectl-v23/-/lambda-layer-kubectl-v23-2.0.3.tgz#2a8dfbb516aa1761acee31437729bae73e82dbcd" integrity sha512-MlB9aQcGMqhj7P29fZMp4g/sM98/Ymg5BC3nU5M32ucCDYpBSC1EYCHcnzDojPh/+yqsZ0NiVmPfKwcvChuKvQ== +"@aws-cdk/lambda-layer-kubectl-v24@^2.0.56": + version "2.0.56" + resolved "https://registry.yarnpkg.com/@aws-cdk/lambda-layer-kubectl-v24/-/lambda-layer-kubectl-v24-2.0.56.tgz#f433bac662b877848b6cb0f48e41b49ed71d3b76" + integrity sha512-sWiidC+JbacG0QnZG/E3Fr31YoG1Xi+dbhaCgNjyg/AuLBFjLd+kHLFudkbcRSZ8DqB0cocArfeX5/7h3mOYjQ== + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -677,9 +682,9 @@ integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== "@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz#2bf718579ad0ca2c5bd364c6a9de3e2fa6be2b00" - integrity sha512-+hcUpxgx0vEpDJI9Cn+lkTdKLoqKBXFCVps5H7FujEU2vLOp6KwqjLlxbnz8Wzgm8oEqW/u5FeNAXSFjLdCD0A== + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" + integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== dependencies: which "^3.0.0" @@ -875,9 +880,9 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*": - version "18.11.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.11.tgz#1d455ac0211549a8409d3cdb371cd55cc971e8dc" - integrity sha512-KJ021B1nlQUBLopzZmPBVuGU9un7WJd/W4ya7Ih02B4Uwky5Nja0yGYav2EfYIk0RR2Q9oVhf60S2XR1BCWJ2g== + version "18.11.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.14.tgz#a8571b25f3a31e9ded14e3ab9488509adef831d8" + integrity sha512-0KXV57tENYmmJMl+FekeW9V3O/rlcqGQQJ/hNh9r8pKIj304pskWuEd8fCyNT86g/TpO0gcOTiLzsHLEURFMIQ== "@types/node@^14": version "14.18.34" @@ -917,13 +922,13 @@ "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz#9a96a713b9616c783501a3c1774c9e2b40217ad0" - integrity sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q== + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz#098abb4c9354e19f460d57ab18bff1f676a6cff0" + integrity sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA== dependencies: - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/type-utils" "5.46.0" - "@typescript-eslint/utils" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/type-utils" "5.46.1" + "@typescript-eslint/utils" "5.46.1" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -932,71 +937,71 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.0.tgz#002d8e67122947922a62547acfed3347cbf2c0b6" - integrity sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA== + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" + integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== dependencies: - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/typescript-estree" "5.46.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz#60790b14d0c687dd633b22b8121374764f76ce0d" - integrity sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA== +"@typescript-eslint/scope-manager@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz#70af8425c79bbc1178b5a63fb51102ddf48e104a" + integrity sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA== dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/visitor-keys" "5.46.1" -"@typescript-eslint/type-utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz#3a4507b3b437e2fd9e95c3e5eea5ae16f79d64b3" - integrity sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg== +"@typescript-eslint/type-utils@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz#195033e4b30b51b870dfcf2828e88d57b04a11cc" + integrity sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng== dependencies: - "@typescript-eslint/typescript-estree" "5.46.0" - "@typescript-eslint/utils" "5.46.0" + "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/utils" "5.46.1" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.0.tgz#f4d76622a996b88153bbd829ea9ccb9f7a5d28bc" - integrity sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw== +"@typescript-eslint/types@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" + integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== -"@typescript-eslint/typescript-estree@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz#a6c2b84b9351f78209a1d1f2d99ca553f7fa29a5" - integrity sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw== +"@typescript-eslint/typescript-estree@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" + integrity sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg== dependencies: - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/visitor-keys" "5.46.0" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/visitor-keys" "5.46.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.0.tgz#600cd873ba471b7d8b0b9f35de34cf852c6fcb31" - integrity sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g== +"@typescript-eslint/utils@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.1.tgz#7da3c934d9fd0eb4002a6bb3429f33298b469b4a" + integrity sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.46.0" - "@typescript-eslint/types" "5.46.0" - "@typescript-eslint/typescript-estree" "5.46.0" + "@typescript-eslint/scope-manager" "5.46.1" + "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/typescript-estree" "5.46.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.46.0": - version "5.46.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz#36d87248ae20c61ef72404bcd61f14aa2563915f" - integrity sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw== +"@typescript-eslint/visitor-keys@5.46.1": + version "5.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz#126cc6fe3c0f83608b2b125c5d9daced61394242" + integrity sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg== dependencies: - "@typescript-eslint/types" "5.46.0" + "@typescript-eslint/types" "5.46.1" eslint-visitor-keys "^3.3.0" "@xmldom/xmldom@^0.8.6": @@ -1491,9 +1496,9 @@ camelcase@^7.0.0: integrity sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ== caniuse-lite@^1.0.30001400: - version "1.0.30001436" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz#22d7cbdbbbb60cdc4ca1030ccd6dea9f5de4848b" - integrity sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg== + version "1.0.30001439" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb" + integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== case@1.6.3, case@^1.6.3: version "1.6.3" @@ -1518,9 +1523,9 @@ chalk@^4, chalk@^4.0.0, chalk@^4.1.2: supports-color "^7.1.0" chalk@^5.0.1, chalk@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.1.2.tgz#d957f370038b75ac572471e83be4c5ca9f8e8c45" - integrity sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== char-regex@^1.0.2: version "1.0.2" @@ -2804,9 +2809,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.18.0.tgz#fb224daeeb2bb7d254cd2c640f003528b8d0c1dc" - integrity sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A== + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== dependencies: type-fest "^0.20.2" @@ -4335,7 +4340,7 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@^5.0.1, minimatch@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== @@ -4562,9 +4567,9 @@ npm-bundled@^3.0.0: npm-normalize-package-bin "^3.0.0" npm-check-updates@^16: - version "16.5.1" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-16.5.1.tgz#f2c15c9c82a8b836745fc8d08d071af46dee3e32" - integrity sha512-LSDcPpnK41GnsIw1JO+sUe1QJPA8+pzLOW5Ahep2zOBaZk+Dkg/stow3FAT19scfYZRx3YyKoehrJQOSXN3t6g== + version "16.5.6" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-16.5.6.tgz#aacb0b452f323979a10fced3d0a15bd7ccae7691" + integrity sha512-Obrza1omHC2hqpGAHikNj5+15XAwfzdnDRhiqdsLk7oVrmEm7RPiuhmdzbIrtdYEFrmv37kBdU0uwsVljG5Urg== dependencies: chalk "^5.1.2" cli-table "^0.3.11" @@ -4579,7 +4584,7 @@ npm-check-updates@^16: json-parse-helpfulerror "^1.0.3" jsonlines "^0.1.1" lodash "^4.17.21" - minimatch "^5.1.0" + minimatch "^5.1.1" p-map "^4.0.0" pacote "15.0.6" parse-github-url "^1.0.2" @@ -4984,10 +4989,10 @@ progress@^2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -projen@^0.65.50: - version "0.65.50" - resolved "https://registry.yarnpkg.com/projen/-/projen-0.65.50.tgz#ad643b9bb8a138468c19ca87efdf3e13406a1834" - integrity sha512-+hheiErNdyDZiMAM/aByXu+n53v/3NNUlVrWVS/RGRGqSj5dzEbFDIdX+EtOU4w9N1HbEGOZZqfU7qTxYvsqQw== +projen@^0.65.58: + version "0.65.58" + resolved "https://registry.yarnpkg.com/projen/-/projen-0.65.58.tgz#b6eef2a9d8acd69a7bf451f2f9cbb8f30b2bc723" + integrity sha512-qCry4WC/FWwbOLddL13ny5VY8c2qqf8bKxBgmCUCNS9A3I23wSDVF3E0EV7BTDYu6suMoL6lDe43U6DPZL79JA== dependencies: "@iarna/toml" "^2.2.5" case "^1.6.3"